Skip to content

Commit 33a2a06

Browse files
committed
add TryConnectHandler
1 parent bb75ca9 commit 33a2a06

File tree

1 file changed

+34
-0
lines changed

1 file changed

+34
-0
lines changed

support/EzySocketProxy.cs

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ public class EzySocketProxy
4040
private readonly IDictionary<Object, EventHandler> disconnectedHandlers;
4141
private readonly IDictionary<Object, EventHandler> reconnectingHandlers;
4242
private readonly IDictionary<Object, EventHandler> pingLostHandlers;
43+
private readonly IDictionary<Object, EventHandler> tryConnectHandlers;
4344

4445
public EzySocketProxy(
4546
String zoneName,
@@ -60,6 +61,7 @@ EzyAppFactory appFactory
6061
this.disconnectedHandlers = new Dictionary<Object, EventHandler>();
6162
this.reconnectingHandlers = new Dictionary<Object, EventHandler>();
6263
this.pingLostHandlers = new Dictionary<Object, EventHandler>();
64+
this.tryConnectHandlers = new Dictionary<Object, EventHandler>();
6365
}
6466

6567
public EzySocketProxy setHost(String host)
@@ -195,6 +197,7 @@ private void init()
195197
client.setup()
196198
.addEventHandler(EzyEventType.DISCONNECTION, new DisconnectionHandler(this))
197199
.addEventHandler(EzyEventType.LOST_PING, new PingLostHandler(this))
200+
.addEventHandler(EzyEventType.TRY_CONNECT, new TryConnectHandler(this))
198201
.addDataHandler(EzyCommand.HANDSHAKE, new HandshakeEventHandler(this))
199202
.addDataHandler(EzyCommand.LOGIN, new LoginSuccessHandler(this))
200203
.addDataHandler(EzyCommand.LOGIN_ERROR, new LoginErrorHandler(this))
@@ -303,6 +306,18 @@ EzySocketProxyEventHandler<EzyLostPingEvent> handler
303306
return handler;
304307
}
305308

309+
public Object onTryConnect(
310+
EzySocketProxyEventHandler<EzyTryConnectEvent> handler
311+
)
312+
{
313+
EventHandler dataHandler = evt =>
314+
{
315+
handler.Invoke(this, (EzyTryConnectEvent)evt);
316+
};
317+
tryConnectHandlers[handler] = dataHandler;
318+
return handler;
319+
}
320+
306321
public void unbind(Object handler)
307322
{
308323
loginSuccessHandlers.Remove(handler);
@@ -312,6 +327,7 @@ public void unbind(Object handler)
312327
disconnectedHandlers.Remove(handler);
313328
reconnectingHandlers.Remove(handler);
314329
pingLostHandlers.Remove(handler);
330+
tryConnectHandlers.Remove(handler);
315331
}
316332

317333
public class HandshakeEventHandler : EzyHandshakeHandler
@@ -508,6 +524,24 @@ protected override void process(EzyLostPingEvent evt)
508524
}
509525
}
510526
}
527+
528+
public class TryConnectHandler : EzyAbstractEventHandler<EzyTryConnectEvent>
529+
{
530+
private readonly EzySocketProxy parent;
531+
532+
public TryConnectHandler(EzySocketProxy parent)
533+
{
534+
this.parent = parent;
535+
}
536+
537+
protected override void process(EzyTryConnectEvent evt)
538+
{
539+
foreach (EventHandler handler in parent.tryConnectHandlers.Values)
540+
{
541+
handler.Invoke(evt);
542+
}
543+
}
544+
}
511545
}
512546
}
513547

0 commit comments

Comments
 (0)