internal void SendMessage(BsonBuffer buffer, int requestId) { if (_state == MongoConnectionState.Closed) { throw new InvalidOperationException("Connection is closed."); } lock (_connectionLock) { _lastUsedAt = DateTime.UtcNow; _requestId = requestId; try { var networkStream = GetNetworkStream(); var writeTimeout = (int)_serverInstance.Settings.SocketTimeout.TotalMilliseconds; if (writeTimeout != 0) { networkStream.WriteTimeout = writeTimeout; } buffer.WriteTo(networkStream); _messageCounter++; } catch (Exception ex) { HandleException(ex); throw; } } }