private void CheckMergedPackets() { _stateLock.EnterReadLock(); try { if (State == ConnectionState.Connected) { ArraySegment <byte>?mergedPayload = Merger.TryFlush(false); if (mergedPayload != null) { SendInternal(mergedPayload.Value, true); } } } finally { _stateLock.ExitReadLock(); } }