void TClientInfoServerHandler::processContext(void* connectionContext, shared_ptr<TTransport> transport) { Connect* call = static_cast<Connect*>(connectionContext); if (call->callInfo_ == NULL) { if (typeid(*(transport.get())) == typeid(TSocket)) { TSocket* tsocket = static_cast<TSocket*>(transport.get()); int fd = tsocket->getSocketFD(); if (fd < 0) { return; } call->callInfo_ = call->clientInfo_->getConnection(fd, true); assert(call->callInfo_ != NULL); socklen_t len; call->callInfo_->recordAddr(tsocket->getCachedAddress(&len)); } } }