datacommsserver/esockserver/ssock/ss_conn.cpp
branchRCL_3
changeset 66 cbb19216b74d
parent 48 07656293a99c
equal deleted inserted replaced
48:07656293a99c 66:cbb19216b74d
    68 using namespace CoreStates;
    68 using namespace CoreStates;
    69 using namespace Elements;
    69 using namespace Elements;
    70 using namespace Messages;
    70 using namespace Messages;
    71 using namespace MeshMachine;
    71 using namespace MeshMachine;
    72 using namespace Den;
    72 using namespace Den;
    73 
       
    74 //We reserve space for two preallocated activities that may start concurrently on the connection
       
    75 //node: destroy (connection close) and connection stop.
       
    76 static const TUint KDefaultMaxPreallocatedActivityCount = 2;
       
    77 static const TUint KMaxPreallocatedActivitySize = sizeof(CNodeRetryParallelActivity) + sizeof(APreallocatedOriginators<4>);
       
    78 static const TUint KConnectionPreallocatedActivityBufferSize = KDefaultMaxPreallocatedActivityCount * KMaxPreallocatedActivitySize;
       
    79 
    73 
    80 //
    74 //
    81 //Activities serving client (RConnection) requests
    75 //Activities serving client (RConnection) requests
    82 namespace ConnectionStartActivity
    76 namespace ConnectionStartActivity
    83 {
    77 {
   310 }
   304 }
   311 
   305 
   312 
   306 
   313 namespace ConnectionGoingDownActivity
   307 namespace ConnectionGoingDownActivity
   314 {
   308 {
   315 DECLARE_DEFINE_CUSTOM_NODEACTIVITY(ECFActivityGoneDown, ConnectionGoingDown, TCFControlClient::TGoneDown, PRActivities::CGoneDownActivity::NewL)
   309 DECLARE_DEFINE_CUSTOM_NODEACTIVITY(ECFActivityGoneDown, ConnectionGoingDown, TCFControlClient::TGoneDown, PRActivities::CGoneDownActivity::New)
   316 	FIRST_NODEACTIVITY_ENTRY(ConnStates::TAwaitingGoneDown, MeshMachine::TNoTag)
   310 	FIRST_NODEACTIVITY_ENTRY(ConnStates::TAwaitingGoneDown, MeshMachine::TNoTag)
   317 	THROUGH_NODEACTIVITY_ENTRY(KNoTag, ConnectionGoingDownActivity::TStoreGoneDownError, MeshMachine::TNoTag)
   311 	THROUGH_NODEACTIVITY_ENTRY(KNoTag, ConnectionGoingDownActivity::TStoreGoneDownError, MeshMachine::TNoTag)
   318 	THROUGH_NODEACTIVITY_ENTRY(KNoTag, SubSessStates::TCancelAndCloseClientExtIfaces, MeshMachine::TNoTag)
   312 	THROUGH_NODEACTIVITY_ENTRY(KNoTag, SubSessStates::TCancelAndCloseClientExtIfaces, MeshMachine::TNoTag)
   319     THROUGH_NODEACTIVITY_ENTRY(KNoTag, ConnStates::TCancelAllLegacyRMessage2Activities, ConnStates::TNoTagBlockedByLegacyRMessage2Activities)
   313     THROUGH_NODEACTIVITY_ENTRY(KNoTag, ConnStates::TCancelAllLegacyRMessage2Activities, ConnStates::TNoTagBlockedByLegacyRMessage2Activities)
   320     THROUGH_NODEACTIVITY_ENTRY(KNoTag, ConnStates::TGenerateConnectionDownProgress, MeshMachine::TNoTag)
   314     THROUGH_NODEACTIVITY_ENTRY(KNoTag, ConnStates::TGenerateConnectionDownProgress, MeshMachine::TNoTag)
   512 	return h;
   506 	return h;
   513 	}
   507 	}
   514 
   508 
   515 void CConnection::ConstructL()
   509 void CConnection::ConstructL()
   516 	{
   510 	{
   517 	MeshMachine::AMMNodeBase::ConstructL(KConnectionPreallocatedActivityBufferSize);
   511 	MeshMachine::AMMNodeBase::ConstructL();
   518 	CSockSubSession::ConstructL(NULL);
   512 	CSockSubSession::ConstructL(NULL);
   519 
   513 
   520 	iConnectionInfo = CConnectionInfo::NewL(UniqueId());
   514 	iConnectionInfo = CConnectionInfo::NewL(UniqueId());
   521 	}
   515 	}
   522 
   516