예제 #1
0
 void JConnection::sendOk(){
     getOutputStream();
     out->writeByte((jint)JTransportConfiguration::MSG_TYPE_OK);
     if (isReusable()){
         out->flush();
     }
 }
예제 #2
0
 void JConnection::free(){
     if (connections!=NULL){
         if (isReusable()){
             connections->free(this);
         }else{
             kill();
         }
     }
 }
예제 #3
0
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;
}
예제 #4
0
                    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;
                    }