diff options
Diffstat (limited to 's/server.cpp')
-rw-r--r-- | s/server.cpp | 17 |
1 files changed, 8 insertions, 9 deletions
diff --git a/s/server.cpp b/s/server.cpp index 9bdeede..51f30f1 100644 --- a/s/server.cpp +++ b/s/server.cpp @@ -77,19 +77,19 @@ namespace mongo { public: virtual ~ShardedMessageHandler() {} - virtual void process( Message& m , AbstractMessagingPort* p ) { + virtual void connected( AbstractMessagingPort* p ) { + assert( ClientInfo::get() ); + } + + virtual void process( Message& m , AbstractMessagingPort* p , LastError * le) { assert( p ); Request r( m , p ); - LastError * le = lastError.startRequest( m , r.getClientId() ); - assert( le ); + assert( le ); + lastError.startRequest( m , le ); - if ( logLevel > 5 ) { - log(5) << "client id: " << hex << r.getClientId() << "\t" << r.getns() << "\t" << dec << r.op() << endl; - } try { r.init(); - setClientId( r.getClientId() ); r.process(); } catch ( AssertionException & e ) { @@ -119,8 +119,7 @@ namespace mongo { } virtual void disconnected( AbstractMessagingPort* p ) { - ClientInfo::disconnect( p->getClientId() ); - lastError.disconnect( p->getClientId() ); + // all things are thread local } }; |