void JConnection::sendOk(){ getOutputStream(); out->writeByte((jint)JTransportConfiguration::MSG_TYPE_OK); if (isReusable()){ out->flush(); } }
void JConnection::free(){ if (connections!=NULL){ if (isReusable()){ connections->free(this); }else{ kill(); } } }
std::unique_ptr<testing::NiceMock<MockHTTPCodec>> makeMockParallelCodec(TransportDirection dir) { auto codec = folly::make_unique<testing::NiceMock<MockHTTPCodec>>(); EXPECT_CALL(*codec, supportsParallelRequests()) .WillRepeatedly(testing::Return(true)); EXPECT_CALL(*codec, isReusable()) .WillRepeatedly(testing::Return(true)); EXPECT_CALL(*codec, getTransportDirection()) .WillRepeatedly(testing::Return(dir)); EXPECT_CALL(*codec, getIngressSettings()) .WillRepeatedly(testing::Return(&kDefaultIngressSettings)); return codec; }
jbool JConnection::openConnection(){ if (!opened){ opened=true; getOutputStream(); out->writeInt(JTransportConfiguration::MAGIC_NUMBER); connections->getTransport()->getLocalEndPoint()->write(out); out->flush(); if (isReusable()){ jint oldTimeout=socket->getSoTimeout(); if (connections==NULL){ socket->setSoTimeout(transport->getTransportConfiguration()->getPingTimeout()->get()); }else{ socket->setSoTimeout(connections->getTransport()->getTransportConfiguration()->getPingTimeout()->get()); } jbool b=readOk(); socket->setSoTimeout(oldTimeout); return b; } } return true; }