datacommsserver/esockserver/test/providers/dummy/src/dummypr_connprov.cpp
branchRCL_3
changeset 48 07656293a99c
parent 29 9644881fedd0
child 66 cbb19216b74d
equal deleted inserted replaced
37:35c06c1d4fa6 48:07656293a99c
    50 //We reserve space for two preallocated activities that may start concurrently on the CPR
    50 //We reserve space for two preallocated activities that may start concurrently on the CPR
    51 //node: destroy and data client stop.
    51 //node: destroy and data client stop.
    52 static const TUint KDefaultMaxPreallocatedActivityCount = 2;
    52 static const TUint KDefaultMaxPreallocatedActivityCount = 2;
    53 static const TUint KMaxPreallocatedActivitySize = sizeof(MeshMachine::CNodeRetryParallelActivity) + sizeof(MeshMachine::APreallocatedOriginators<4>);
    53 static const TUint KMaxPreallocatedActivitySize = sizeof(MeshMachine::CNodeRetryParallelActivity) + sizeof(MeshMachine::APreallocatedOriginators<4>);
    54 static const TUint KDummyCPRPreallocatedActivityBufferSize = KDefaultMaxPreallocatedActivityCount * KMaxPreallocatedActivitySize;
    54 static const TUint KDummyCPRPreallocatedActivityBufferSize = KDefaultMaxPreallocatedActivityCount * KMaxPreallocatedActivitySize;
    55 static const TUint KDestroyDelay = 3;
    55 static const TUint KDestroyDelay = 3000;
    56 static const TUint KMillion = 1000000;
       
    57 //-================================================
    56 //-================================================
    58 //
    57 //
    59 // States and Transitions
    58 // States and Transitions
    60 //
    59 //
    61 //-================================================
    60 //-================================================
    62 CDelayTimer* CDelayTimer::NewL( Messages::RNodeInterface* aSender, const Messages::TNodeId& aRecipient, const Messages::TNodeSignal::TMessageId& aMessageId )
    61 CDelayTimer* CDelayTimer::NewL( const Messages::TNodeId& aSender, const Messages::TNodeId& aRecipient, const Messages::TNodeSignal::TMessageId& aMessageId )
    63     {
    62     {
    64     CDelayTimer* timer = new(ELeave) CDelayTimer( aSender, aRecipient, aMessageId );
    63     CDelayTimer* timer = new(ELeave) CDelayTimer( aSender, aRecipient, aMessageId );
    65     CleanupStack::PushL( timer );
    64     CleanupStack::PushL( timer );
    66     timer->ConstructL();
    65     timer->ConstructL();
    67     CleanupStack::Pop();
    66     CleanupStack::Pop();
    71 CDelayTimer::~CDelayTimer()
    70 CDelayTimer::~CDelayTimer()
    72     { 
    71     { 
    73     Cancel();
    72     Cancel();
    74     }
    73     }
    75     
    74     
    76 CDelayTimer::CDelayTimer( Messages::RNodeInterface* aSender, const Messages::TNodeId& aRecipient, const Messages::TNodeSignal::TMessageId& aMessageId ) :
    75 CDelayTimer::CDelayTimer( const Messages::TNodeId& aSender, const Messages::TNodeId& aRecipient, const Messages::TNodeSignal::TMessageId& aMessageId ) :
    77     CTimer( EPriorityStandard ),
    76     CTimer( EPriorityStandard ),
    78     iSender(aSender),
    77     iSender(aSender),
    79     iRecipient(aRecipient),
    78     iRecipient(aRecipient),
    80     iMessageId(aMessageId)
    79     iMessageId(aMessageId)
    81     {
    80     {
    88     }
    87     }
    89     
    88     
    90 void CDelayTimer::RunL()
    89 void CDelayTimer::RunL()
    91     {
    90     {
    92     CDelayTimer::TDelayMessage msg(iMessageId);
    91     CDelayTimer::TDelayMessage msg(iMessageId);
    93     Messages::RClientInterface::OpenPostMessageClose(iSender->RecipientId() , iRecipient, msg );
    92     Messages::RClientInterface::OpenPostMessageClose(iSender, iRecipient, msg );
    94     delete this;
    93     delete this;
    95     }
    94     }
    96 
    95 
    97 void CDelayTimer::Start( TInt aIntervalInSecs )
    96 void CDelayTimer::Start( TInt aIntervalInMSecs )
    98     {
    97     {
    99     After( TTimeIntervalMicroSeconds32( aIntervalInSecs * KMillion ) );
    98     After( TTimeIntervalMicroSeconds32( aIntervalInMSecs * 1000 ) );
   100     }
    99     }
   101 
   100 
   102 CDelayTimer::TDelayMessage::TDelayMessage()
   101 CDelayTimer::TDelayMessage::TDelayMessage()
   103     {
   102     {
   104     }
   103     }
   106 CDelayTimer::TDelayMessage::TDelayMessage(const TNodeSignal::TMessageId& aMessageId)
   105 CDelayTimer::TDelayMessage::TDelayMessage(const TNodeSignal::TMessageId& aMessageId)
   107 :   TSignatureBase(aMessageId)
   106 :   TSignatureBase(aMessageId)
   108     {
   107     {
   109     }
   108     }
   110 
   109 
       
   110 
       
   111 DEFINE_SMELEMENT(CDelayTimer::TAwaitingTimerExpired, NetStateMachine::MState, CDelayTimer::TContext)
       
   112 TBool CDelayTimer::TAwaitingTimerExpired::Accept()
       
   113     {
       
   114     return iContext.iMessage.IsMessage<Messages::TEBase::TNull>();
       
   115     }
   111 
   116 
   112 namespace DummyCPRStates
   117 namespace DummyCPRStates
   113 {
   118 {
   114 DEFINE_SMELEMENT(TSetClientAsIncoming, NetStateMachine::MStateTransition, DummyCPRStates::TContext)
   119 DEFINE_SMELEMENT(TSetClientAsIncoming, NetStateMachine::MStateTransition, DummyCPRStates::TContext)
   115 void TSetClientAsIncoming::DoL()
   120 void TSetClientAsIncoming::DoL()
   139 	}
   144 	}
   140 
   145 
   141 DEFINE_SMELEMENT(TThreeSecDelayAndPostToSelf, NetStateMachine::MStateTransition, DummyCPRStates::TContext)
   146 DEFINE_SMELEMENT(TThreeSecDelayAndPostToSelf, NetStateMachine::MStateTransition, DummyCPRStates::TContext)
   142 void TThreeSecDelayAndPostToSelf::DoL()
   147 void TThreeSecDelayAndPostToSelf::DoL()
   143     {
   148     {
   144     CDelayTimer* delay = CDelayTimer::NewL(iContext.Node().ControlProvider(), iContext.NodeId(), iContext.iMessage.MessageId() );
   149     CDelayTimer* delay = CDelayTimer::NewL(iContext.Node().ControlProvider()->RecipientId(), iContext.NodeId(), iContext.iMessage.MessageId() );
   145     delay->Start(KDestroyDelay);
   150     delay->Start(KDestroyDelay);
   146     }
   151     }
   147 
   152 
   148 DEFINE_SMELEMENT(TAwaitingStart, NetStateMachine::MState, DummyCPRStates::TContext)
   153 DEFINE_SMELEMENT(TAwaitingStart, NetStateMachine::MState, DummyCPRStates::TContext)
   149 TBool TAwaitingStart::Accept()
   154 TBool TAwaitingStart::Accept()