private void OnClientSessionClosed(RioSession session) { session.Closed -= OnClientSessionClosed; session.MessageReceived -= OnClientSessionMessageReceived; _sessionManager.Release(session); ClientDisconnected(session.Id); }
private RioSession CreateSession() { var session = new RioSession(0, _configuration, _completionWorker.SendingCompletionQueue, _completionWorker.ReceivingCompletionQueue, _serializationEngine); session.Closed += OnSessionClosed; session.MessageReceived += OnSessionMessageReceived; return(session); }
public RioClient(IClientConfiguration configuration, SerializationEngine serializationEngine) { WinSock.EnsureIsInitialized(); _configuration = configuration; _serializationEngine = serializationEngine; _completionWorker = CreateWorker(); _messageDispatcher = new MessageDispatcher(); _session = CreateSession(); }
private void OnClientSessionMessageReceived(RioSession rioSession, MessageTypeId messageTypeId, object message) { _messageDispatcher.Dispatch(rioSession.Id, message); }
private void OnSessionMessageReceived(RioSession session, MessageTypeId messageTypeId, object message) { _messageDispatcher.Dispatch(0, message); }
private void OnSessionClosed(RioSession obj) { Disconnected(); }