summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDwight <dwight@10gen.com>2010-08-25 13:40:01 -0400
committerEliot Horowitz <eliot@10gen.com>2010-09-15 14:23:00 -0400
commit598dc752408cbd50dff9f5cf3c66efc8eed7a887 (patch)
treec7c84aad55a1bfd92ef49b68829932a8a22bdf46
parent6c795a18b9cc8d12c6ab8604367c1f89b83954c9 (diff)
downloadmongo-598dc752408cbd50dff9f5cf3c66efc8eed7a887.tar.gz
make classes noncopyable to be safe. compile db_10.sln
-rw-r--r--util/message.cpp6
-rw-r--r--util/message.h7
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;
};