1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 package org.apache.mina.proxy.session;
21
22 import org.apache.mina.core.future.ConnectFuture;
23 import org.apache.mina.core.session.IoSession;
24 import org.apache.mina.core.session.IoSessionInitializer;
25
26
27
28
29
30
31
32
33
34
35 public class ProxyIoSessionInitializer<T extends ConnectFuture> implements
36 IoSessionInitializer<T> {
37 private final IoSessionInitializer<T> wrappedSessionInitializer;
38
39 private final ProxyIoSession proxyIoSession;
40
41 public ProxyIoSessionInitializer(
42 final IoSessionInitializer<T> wrappedSessionInitializer,
43 final ProxyIoSession proxyIoSession) {
44 this.wrappedSessionInitializer = wrappedSessionInitializer;
45 this.proxyIoSession = proxyIoSession;
46 }
47
48 public ProxyIoSession getProxySession() {
49 return proxyIoSession;
50 }
51
52 public void initializeSession(final IoSession session, T future) {
53 if (wrappedSessionInitializer != null) {
54 wrappedSessionInitializer.initializeSession(session, future);
55 }
56
57 if (proxyIoSession != null) {
58 proxyIoSession.setSession(session);
59 session.setAttribute(ProxyIoSession.PROXY_SESSION, proxyIoSession);
60 }
61 }
62 }