equal
deleted
inserted
replaced
30 _LIT(KSpecAssert_ESockSSocksmcmsp, "ESockSSocksmcmsp"); |
30 _LIT(KSpecAssert_ESockSSocksmcmsp, "ESockSSocksmcmsp"); |
31 #endif |
31 #endif |
32 |
32 |
33 using namespace ESock; |
33 using namespace ESock; |
34 using namespace Messages; |
34 using namespace Messages; |
35 |
|
36 //We reserve space for two preallocated activities that may start concurrently on the connection |
|
37 //node: destroy (connection close) and connection stop. |
|
38 static const TUint KMaxPreallocatedActivitySize = sizeof(MeshMachine::CNodeRetryParallelActivity) + sizeof(MeshMachine::APreallocatedOriginators<4>); |
|
39 |
35 |
40 CMMCommsProviderBase::CMMCommsProviderBase(CCommsFactoryBase& aFactory, |
36 CMMCommsProviderBase::CMMCommsProviderBase(CCommsFactoryBase& aFactory, |
41 const MeshMachine::TNodeActivityMap& aActivityMap) |
37 const MeshMachine::TNodeActivityMap& aActivityMap) |
42 : ACommsFactoryNodeId(aFactory), |
38 : ACommsFactoryNodeId(aFactory), |
43 ACFMMNodeBase(aActivityMap, ANodeId::Id()), |
39 ACFMMNodeBase(aActivityMap, ANodeId::Id()), |
121 { |
117 { |
122 RNodeInterface* nodeInterface = ANodeBase::AddClientL(aClientId, aClientType, aClientInfo); |
118 RNodeInterface* nodeInterface = ANodeBase::AddClientL(aClientId, aClientType, aClientInfo); |
123 |
119 |
124 if(aClientType.Type() == TCFClientType::ECtrl) |
120 if(aClientType.Type() == TCFClientType::ECtrl) |
125 { |
121 { |
126 TRAPD(err, nodeInterface->PreAllocL(KMaxPreallocatedActivitySize)); |
122 TRAPD(err, nodeInterface->PreAllocL(MeshMachine::KDefaultMaxPreallocatedActivitySize)); |
127 if(err!=KErrNone) |
123 if(err!=KErrNone) |
128 { |
124 { |
129 RemoveClient(nodeInterface->RecipientId()); |
125 RemoveClient(nodeInterface->RecipientId()); |
130 User::Leave(err); |
126 User::Leave(err); |
131 } |
127 } |