private void OnSessionPreambleKnown(ServerSessionPreambleConnectionReader serverSessionPreambleReader) { lock (this.ThisLock) { if (this.isDisposed) { return; } this.connectionReaders.Remove(serverSessionPreambleReader); } this.serverSessionPreambleCallback(serverSessionPreambleReader, this); }
private void OnDuplexConnection(IConnection connection, Action connectionDequeuedCallback, long streamPosition, int offset, int size, TimeSpan timeout) { if (this.onSessionPreambleKnown == null) { this.onSessionPreambleKnown = new ServerSessionPreambleCallback(this.OnSessionPreambleKnown); } ServerSessionPreambleConnectionReader item = new ServerSessionPreambleConnectionReader(connection, connectionDequeuedCallback, streamPosition, offset, size, this.transportSettingsCallback, this.onConnectionClosed, this.onSessionPreambleKnown); lock (this.ThisLock) { if (this.isDisposed) { item.Dispose(); return; } this.connectionReaders.Add(item); } item.StartReading(this.viaDelegate, timeout); }
static void TraceOnSessionPreambleKnown(ServerSessionPreambleConnectionReader serverSessionPreambleReader) { if (TD.SessionPreambleUnderstoodIsEnabled()) { TD.SessionPreambleUnderstood((serverSessionPreambleReader.Via != null) ? serverSessionPreambleReader.Via.ToString() : String.Empty); } }
void OnDuplexConnection(IConnection connection, Action connectionDequeuedCallback, long streamPosition, int offset, int size, TimeSpan timeout) { if (onSessionPreambleKnown == null) { onSessionPreambleKnown = OnSessionPreambleKnown; } ServerSessionPreambleConnectionReader sessionPreambleReader = new ServerSessionPreambleConnectionReader( connection, connectionDequeuedCallback, streamPosition, offset, size, transportSettingsCallback, onConnectionClosed, onSessionPreambleKnown); lock (ThisLock) { if (isDisposed) { sessionPreambleReader.Dispose(); return; } connectionReaders.Add(sessionPreambleReader); } sessionPreambleReader.StartReading(viaDelegate, timeout); }
void OnSessionPreambleKnown(ServerSessionPreambleConnectionReader serverSessionPreambleReader) { lock (ThisLock) { if (isDisposed) { return; } connectionReaders.Remove(serverSessionPreambleReader); } TraceOnSessionPreambleKnown(serverSessionPreambleReader); serverSessionPreambleCallback(serverSessionPreambleReader, this); }