void SpaceNodeConnection::handleConnectionEvent( const Network::Stream::ConnectionStatus status, const std::string&reason) { bool did_connect = status == Network::Stream::Connected; if (!did_connect) { mConnecting = false; invokeAndClearCallbacks(did_connect); mConnectCB(status, reason); } else { OHDP::SpaceNodeID self_id(mSpace, OHDP::NodeID::self()); OHSSTBaseDatagramLayerPtr baseDatagramLayer = mContext->ohSSTConnMgr()->createDatagramLayer( self_id, mContext, mOHDPService ); mContext->ohSSTConnMgr()->connectStream( OHSSTEndpoint(self_id, 0), // Local port is random OHSSTEndpoint(OHDP::SpaceNodeID(mSpace, OHDP::NodeID(mServer)), OBJECT_SPACE_PORT), std::tr1::bind( &SpaceNodeConnection::handleStreamConnected, this, status, reason, std::tr1::placeholders::_1, std::tr1::placeholders::_2 ) ); } }
void connect(bool first) { log_debug << self_id() << " start_prim " << first; start_prim_ = first; closing_ = false; shift_to(S_NON_PRIM); }