diff options
Diffstat (limited to 'src/mongo/util')
-rw-r--r-- | src/mongo/util/net/abstract_message_port.h | 2 | ||||
-rw-r--r-- | src/mongo/util/net/message.cpp | 4 | ||||
-rw-r--r-- | src/mongo/util/net/message.h | 30 | ||||
-rw-r--r-- | src/mongo/util/net/message_port.cpp | 21 | ||||
-rw-r--r-- | src/mongo/util/net/message_port.h | 2 | ||||
-rw-r--r-- | src/mongo/util/net/message_port_mock.cpp | 2 | ||||
-rw-r--r-- | src/mongo/util/net/message_port_mock.h | 2 |
7 files changed, 30 insertions, 33 deletions
diff --git a/src/mongo/util/net/abstract_message_port.h b/src/mongo/util/net/abstract_message_port.h index 49deebf9afc..c4e6530d5b2 100644 --- a/src/mongo/util/net/abstract_message_port.h +++ b/src/mongo/util/net/abstract_message_port.h @@ -43,7 +43,7 @@ public: AbstractMessagingPort() : tag(0), _connectionId(0) {} virtual ~AbstractMessagingPort() {} // like the reply below, but doesn't rely on received.data still being available - virtual void reply(Message& received, Message& response, MSGID responseTo) = 0; + virtual void reply(Message& received, Message& response, int32_t responseToMsgId) = 0; virtual void reply(Message& received, Message& response) = 0; virtual HostAndPort remote() const = 0; diff --git a/src/mongo/util/net/message.cpp b/src/mongo/util/net/message.cpp index f2777cb7972..515efc9c853 100644 --- a/src/mongo/util/net/message.cpp +++ b/src/mongo/util/net/message.cpp @@ -51,7 +51,7 @@ void Message::send(MessagingPort& p, const char* context) { } } -AtomicWord<MSGID> NextMsgId; +AtomicWord<int32_t> NextMsgId; /*struct MsgStart { MsgStart() { @@ -60,7 +60,7 @@ AtomicWord<MSGID> NextMsgId; } } msgstart;*/ -MSGID nextMessageId() { +int32_t nextMessageId() { return NextMsgId.fetchAndAdd(1); } diff --git a/src/mongo/util/net/message.h b/src/mongo/util/net/message.h index 7dd00e1beca..96de70c0235 100644 --- a/src/mongo/util/net/message.h +++ b/src/mongo/util/net/message.h @@ -53,8 +53,6 @@ const size_t MaxMessageSizeBytes = 48 * 1000 * 1000; class Message; class MessagingPort; -typedef uint32_t MSGID; - enum NetworkOp : int32_t { opInvalid = 0, opReply = 1, /* reply. responseTo is set. */ @@ -216,11 +214,11 @@ public: return data().read<LittleEndian<int32_t>>(offsetof(Layout, messageLength)); } - int32_t getRequestID() const { + int32_t getRequestMsgId() const { return data().read<LittleEndian<int32_t>>(offsetof(Layout, requestID)); } - int32_t getResponseTo() const { + int32_t getResponseToMsgId() const { return data().read<LittleEndian<int32_t>>(offsetof(Layout, responseTo)); } @@ -252,11 +250,11 @@ public: data().write(tagLittleEndian(value), offsetof(Layout, messageLength)); } - void setRequestID(int32_t value) { + void setRequestMsgId(int32_t value) { data().write(tagLittleEndian(value), offsetof(Layout, requestID)); } - void setResponseTo(int32_t value) { + void setResponseToMsgId(int32_t value) { data().write(tagLittleEndian(value), offsetof(Layout, responseTo)); } @@ -301,12 +299,12 @@ public: return header().getMessageLength(); } - MSGID getId() const { - return header().getRequestID(); + int32_t getId() const { + return header().getRequestMsgId(); } - MSGID getResponseTo() const { - return header().getResponseTo(); + int32_t getResponseToMsgId() const { + return header().getResponseToMsgId(); } NetworkOp getNetworkOp() const { @@ -326,7 +324,7 @@ public: } int64_t getCursor() const { - verify(getResponseTo() > 0); + verify(getResponseToMsgId() > 0); verify(getNetworkOp() == opReply); return ConstDataView(data() + sizeof(int32_t)).read<LittleEndian<int64_t>>(); } @@ -359,12 +357,12 @@ public: return header().setMessageLength(value); } - void setId(MSGID value) { - return header().setRequestID(value); + void setId(int32_t value) { + return header().setRequestMsgId(value); } - void setResponseTo(MSGID value) { - return header().setResponseTo(value); + void setResponseToMsgId(int32_t value) { + return header().setResponseToMsgId(value); } void setOperation(int value) { @@ -582,7 +580,7 @@ private: }; -MSGID nextMessageId(); +int32_t nextMessageId(); } // namespace mongo diff --git a/src/mongo/util/net/message_port.cpp b/src/mongo/util/net/message_port.cpp index c916c2cfa50..03a6432c47b 100644 --- a/src/mongo/util/net/message_port.cpp +++ b/src/mongo/util/net/message_port.cpp @@ -157,14 +157,14 @@ bool MessagingPort::recv(Message& m) { // If responseTo is not 0 or -1 for first packet assume SSL else if (psock->isAwaitingHandshake()) { #ifndef MONGO_CONFIG_SSL - if (header.constView().getResponseTo() != 0 && - header.constView().getResponseTo() != -1) { + if (header.constView().getResponseToMsgId() != 0 && + header.constView().getResponseToMsgId() != -1) { uasserted(17133, "SSL handshake requested, SSL feature not available in this build"); } #else - if (header.constView().getResponseTo() != 0 && - header.constView().getResponseTo() != -1) { + if (header.constView().getResponseToMsgId() != 0 && + header.constView().getResponseToMsgId() != -1) { uassert(17132, "SSL handshake received but server is started without SSL support", sslGlobalParams.sslMode.load() != SSLParams::SSLMode_disabled); @@ -215,8 +215,8 @@ void MessagingPort::reply(Message& received, Message& response) { say(/*received.from, */ response, received.header().getId()); } -void MessagingPort::reply(Message& received, Message& response, MSGID responseTo) { - say(/*received.from, */ response, responseTo); +void MessagingPort::reply(Message& received, Message& response, int32_t responseToMsgId) { + say(/*received.from, */ response, responseToMsgId); } bool MessagingPort::call(Message& toSend, Message& response) { @@ -231,12 +231,11 @@ bool MessagingPort::recv(const Message& toSend, Message& response) { mmm(log() << "recv not ok" << endl;) return false; } // log() << "got response: " << response.data->responseTo << endl; - if (response.header().getResponseTo() == toSend.header().getId()) + if (response.header().getResponseToMsgId() == toSend.header().getId()) break; error() << "MessagingPort::call() wrong id got:" << std::hex - << (unsigned)response.header().getResponseTo() - << " expect:" << (unsigned)toSend.header().getId() << '\n' << std::dec - << " toSend op: " << (unsigned)toSend.operation() << '\n' + << response.header().getResponseToMsgId() << " expect:" << toSend.header().getId() + << '\n' << std::dec << " toSend op: " << (unsigned)toSend.operation() << '\n' << " response msgid:" << (unsigned)response.header().getId() << '\n' << " response len: " << (unsigned)response.header().getLen() << '\n' << " response op: " << static_cast<int>(response.operation()) << '\n' @@ -251,7 +250,7 @@ void MessagingPort::say(Message& toSend, int responseTo) { verify(!toSend.empty()); mmm(log() << "* say() thr:" << GetCurrentThreadId() << endl;) toSend.header().setId(nextMessageId()); - toSend.header().setResponseTo(responseTo); + toSend.header().setResponseToMsgId(responseTo); toSend.send(*this, "say"); } diff --git a/src/mongo/util/net/message_port.h b/src/mongo/util/net/message_port.h index 6fc9b04620b..c1922b7202a 100644 --- a/src/mongo/util/net/message_port.h +++ b/src/mongo/util/net/message_port.h @@ -61,7 +61,7 @@ public: also, the Message data will go out of scope on the subsequent recv call. */ bool recv(Message& m); - void reply(Message& received, Message& response, MSGID responseTo); + void reply(Message& received, Message& response, int32_t responseToMsgId); void reply(Message& received, Message& response); bool call(Message& toSend, Message& response); diff --git a/src/mongo/util/net/message_port_mock.cpp b/src/mongo/util/net/message_port_mock.cpp index 8f12c2280d2..ae6deb90c8e 100644 --- a/src/mongo/util/net/message_port_mock.cpp +++ b/src/mongo/util/net/message_port_mock.cpp @@ -42,7 +42,7 @@ MessagingPortMock::~MessagingPortMock() {} void MessagingPortMock::reply(Message& received, Message& response) {} -void MessagingPortMock::reply(Message& received, Message& response, MSGID responseTo) {} +void MessagingPortMock::reply(Message& received, Message& response, int32_t responseToMsgId) {} HostAndPort MessagingPortMock::remote() const { return _remote; diff --git a/src/mongo/util/net/message_port_mock.h b/src/mongo/util/net/message_port_mock.h index 5cc0f0662eb..39676a89094 100644 --- a/src/mongo/util/net/message_port_mock.h +++ b/src/mongo/util/net/message_port_mock.h @@ -44,7 +44,7 @@ public: MessagingPortMock(); virtual ~MessagingPortMock(); - virtual void reply(Message& received, Message& response, MSGID responseTo); + virtual void reply(Message& received, Message& response, int32_t responseToMsgId); virtual void reply(Message& received, Message& response); virtual HostAndPort remote() const; |