public override Session Connect(string senderName, IConnection connection, ITemplateRegistry inboundRegistry, ITemplateRegistry outboundRegistry, IMessageListener messageListener, ISessionListener sessionListener) { var session = new Session(connection, this, TemplateRegistryFields.Null, TemplateRegistryFields.Null); session.MessageOutputStream.WriteMessage(CreateHelloMessage(senderName)); Message message = session.MessageInputStream.ReadMessage(); string serverName = message.GetString(1); session.Client = new BasicClient(serverName, "unknown"); return(session); }
public UdpGateway(int port, ISessionListener listener) { LOG_TAG = "UdpGateway<" + port + ">"; this.Log("port:{0}", port); m_bufferReceive = new NetBufferWriter(); m_pool = new SocketAsyncEventArgsPool(NetDefine.PacketBufferSize, 10000); m_port = port; m_listener = listener; m_mapSession = new MapList <uint, UdpSession>(); Start(); }
/// <summary> /// Adds a session destroy listener that will be notified when the session is destroyed. /// </summary> /// <param name="listener">The listener to add.</param> public void AddSessionDestroyedListener(ISessionListener listener) { if (listener != null) { if (_sessionDestroyedListeners == null) { lock (this.SyncRoot) { if (_sessionDestroyedListeners == null) { _sessionDestroyedListeners = new CopyOnWriteArray(); } } } _sessionDestroyedListeners.AddIfAbsent(listener); } }
public override Session Connect(string senderName, IConnection connection, ITemplateRegistry inboundRegistry, ITemplateRegistry outboundRegistry, IMessageListener messageListener, ISessionListener sessionListener) { var session = new Session(connection, this, TemplateRegistryFields.Null, TemplateRegistryFields.Null); session.MessageOutputStream.WriteMessage(CreateHelloMessage(senderName)); Message message = session.MessageInputStream.ReadMessage(); string serverName = message.GetString(1); session.Client = new BasicClient(serverName, "unknown"); return session; }
public void RemoveSessionListener(ISessionListener listener) { _sessionListeners.Remove(listener); }
public void AddSessionListener(ISessionListener listener) { _sessionListeners.Add(listener); }
public abstract Session Connect(string param1, IConnection param2, ITemplateRegistry inboundRegistry, ITemplateRegistry outboundRegistry, IMessageListener messageListener, ISessionListener sessionListener);
/// <summary> /// Removes a session destroy listener. /// </summary> /// <param name="listener">The listener to remove.</param> public void RemoveSessionDestroyedListener(ISessionListener listener) { if (listener != null) { if (_sessionDestroyedListeners != null) _sessionDestroyedListeners.Remove(listener); } }
/// <summary> /// Adds a session destroy listener that will be notified when the session is destroyed. /// </summary> /// <param name="listener">The listener to add.</param> public void AddSessionDestroyedListener(ISessionListener listener) { if (listener != null) { if (_sessionDestroyedListeners == null) { lock (this.SyncRoot) { if (_sessionDestroyedListeners == null) _sessionDestroyedListeners = new CopyOnWriteArray(); } } _sessionDestroyedListeners.AddIfAbsent(listener); } }
/// <summary> /// Removes a session create listener. /// </summary> /// <param name="listener">The listener to remove.</param> public static void RemoveSessionCreatedListener(ISessionListener listener) { if (listener == null) return; _sessionCreatedListeners.Remove(listener); }
/// <summary> /// Adds a session create listener that will be notified when the session is created. /// </summary> /// <param name="listener">The listener to add.</param> public static void AddSessionCreatedListener(ISessionListener listener) { if (listener == null) return; _sessionCreatedListeners.AddIfAbsent(listener); }
/// <summary>Removes the listener from the list of listeners to be notified /// of future events. Note that the listener will be notified of /// events which have already happened and are in the process of /// being dispatched.</summary> /// <seealso cref="#addSessionListener"></seealso> public virtual void removeSessionListener(ISessionListener l) { sessionListeners.Remove(l); }
/// <summary>adds the listener from the list of listeners to be notified /// of future events.</summary> /// <seealso cref="#removeSessionListener"></seealso> public virtual void addSessionListener(ISessionListener l) { sessionListeners.Add(l); }
public override Session Connect(string senderName, IConnection connection, ITemplateRegistry inboundRegistry, ITemplateRegistry outboundRegistry, IMessageListener messageListener, ISessionListener sessionListener) { var session = new Session(connection, this, TemplateRegistryFields.Null, TemplateRegistryFields.Null); session.MessageOutputStream.WriteMessage(CreateHelloMessage(senderName)); try { Thread.Sleep(new TimeSpan((Int64) 10000*20)); } catch (ThreadInterruptedException) { } Message message = session.MessageInputStream.ReadMessage(); string serverName = message.GetString(1); string vendorId = message.IsDefined(2) ? message.GetString(2) : "unknown"; session.Client = new BasicClient(serverName, vendorId); return session; }