diff options
author | Dwight <dwight@10gen.com> | 2010-08-25 13:40:01 -0400 |
---|---|---|
committer | Eliot Horowitz <eliot@10gen.com> | 2010-09-15 14:23:00 -0400 |
commit | 598dc752408cbd50dff9f5cf3c66efc8eed7a887 (patch) | |
tree | c7c84aad55a1bfd92ef49b68829932a8a22bdf46 | |
parent | 6c795a18b9cc8d12c6ab8604367c1f89b83954c9 (diff) | |
download | mongo-598dc752408cbd50dff9f5cf3c66efc8eed7a887.tar.gz |
make classes noncopyable to be safe. compile db_10.sln
-rw-r--r-- | util/message.cpp | 6 | ||||
-rw-r--r-- | util/message.h | 7 |
2 files changed, 8 insertions, 5 deletions
diff --git a/util/message.cpp b/util/message.cpp index 35fe35357ff..310da1b88f4 100644 --- a/util/message.cpp +++ b/util/message.cpp @@ -297,12 +297,12 @@ namespace mongo { ports.closeAll(); } - MessagingPort::MessagingPort(int _sock, const SockAddr& _far) : sock(_sock), piggyBackData(0), farEnd(_far), _timeout() { + MessagingPort::MessagingPort(int _sock, const SockAddr& _far) : sock(_sock), piggyBackData(0), farEnd(_far), _timeout(), tag(0) { _logLevel = 0; ports.insert(this); } - MessagingPort::MessagingPort( int timeout, int ll ) { + MessagingPort::MessagingPort( int timeout, int ll ) : tag(0) { _logLevel = ll; ports.insert(this); sock = -1; @@ -341,7 +341,7 @@ namespace mongo { sock = socket(farEnd.getType(), SOCK_STREAM, 0); if ( sock == INVALID_SOCKET ) { - log(_logLevel) << "ERROR: connect(): invalid socket? " << errnoWithDescription() << endl; + log(_logLevel) << "ERROR: connect invalid socket " << errnoWithDescription() << endl; return false; } diff --git a/util/message.h b/util/message.h index 0a94c6978b9..975240f3ec5 100644 --- a/util/message.h +++ b/util/message.h @@ -30,7 +30,7 @@ namespace mongo { class PiggyBackData; typedef AtomicUInt MSGID; - class Listener { + class Listener : boost::noncopyable { public: Listener(const string &ip, int p, bool logConnect=true ) : _port(p), _ip(ip), _logConnect(logConnect), _elapsedTime(0){ } virtual ~Listener() { @@ -74,7 +74,7 @@ namespace mongo { static const Listener* _timeTracker; }; - class AbstractMessagingPort { + class AbstractMessagingPort : boost::noncopyable { public: virtual ~AbstractMessagingPort() { } virtual void reply(Message& received, Message& response, MSGID responseTo) = 0; // like the reply below, but doesn't rely on received.data still being available @@ -136,6 +136,9 @@ namespace mongo { int _timeout; int _logLevel; // passed to log() when logging errors + /* ports can be tagged with various classes. see closeAllSockets(tag). defaults to 0. */ + unsigned tag; + friend class PiggyBackData; }; |