summaryrefslogtreecommitdiff
path: root/src/mongo/db/client_basic.h
diff options
context:
space:
mode:
authorAndy Schwerin <schwerin@mongodb.com>2015-04-02 18:31:45 -0400
committerAndy Schwerin <schwerin@mongodb.com>2015-04-06 11:03:14 -0400
commit453c0b526ae5ed429caab2b6970d452c8d405a85 (patch)
tree21ca854cdbf18b5cb864081ba8bdbac31a3935ce /src/mongo/db/client_basic.h
parente5557509152b2d2c8bf26af80f469ce09eddc9d1 (diff)
downloadmongo-453c0b526ae5ed429caab2b6970d452c8d405a85.tar.gz
SERVER-17817 Attach pointer to ServiceContext to ClientBasic.
Diffstat (limited to 'src/mongo/db/client_basic.h')
-rw-r--r--src/mongo/db/client_basic.h13
1 files changed, 12 insertions, 1 deletions
diff --git a/src/mongo/db/client_basic.h b/src/mongo/db/client_basic.h
index 04a7a38f0f3..f2b1bd05a75 100644
--- a/src/mongo/db/client_basic.h
+++ b/src/mongo/db/client_basic.h
@@ -41,6 +41,7 @@ namespace mongo {
class AuthenticationInfo;
class AuthenticationSession;
class AuthorizationSession;
+ class ServiceContext;
/**
* this is the base class for Client and ClientInfo
@@ -73,16 +74,26 @@ namespace mongo {
verify( _messagingPort );
return _messagingPort->remote();
}
+
+ /**
+ * Returns the ServiceContext that owns this client session context.
+ */
+ ServiceContext* getServiceContext() const { return _serviceContext; }
+
+ /**
+ * Returns the AbstractMessagePort to which this client session is bound, if any.
+ */
AbstractMessagingPort * port() const { return _messagingPort; }
static ClientBasic* getCurrent();
protected:
- ClientBasic(AbstractMessagingPort* messagingPort);
+ ClientBasic(ServiceContext* serviceContext, AbstractMessagingPort* messagingPort);
private:
boost::scoped_ptr<AuthenticationSession> _authenticationSession;
boost::scoped_ptr<AuthorizationSession> _authorizationSession;
+ ServiceContext* const _serviceContext;
AbstractMessagingPort* const _messagingPort;
};
}