public static bool IsHasErrorRequest(MongoStandardMessage message) { if (message.GetType() == typeof (MongoQueryMessage)) { var query = (MongoQueryMessage) message; return query.Document.Contains("getlasterror"); } return false; }
public static bool IsHasError(MongoStandardMessage message) { if (message.GetType() == typeof (MongoReplyMessage)) { var reply = (MongoReplyMessage) message; var document = reply.Documents.FirstOrDefault(); if (document != null) { if (document.Contains("ok") && document.Contains("err") && document["ok"] == 1.0) { return false; } } } //TODO : throw suit.. ex throw new Exception("it is not good message"); }
private void SendRequestToServer(MongoStandardMessage clientRequest) { _mongo.Send(clientRequest.RawRequest); }
private void SendResponseToClient(MongoStandardMessage response) { _client.Send(response.RawRequest); }
private void HandleRequest( MongoStandardMessage request ) { _querySynchronizer.StartAction(); try { _mongo.Send( request.RawRequest ); } finally { _querySynchronizer.StopAction(); } if ( request.WaitForResponse() ) { SendResponseToClient( ReadServerResponse() ); } }