44 using namespace ESock; |
44 using namespace ESock; |
45 using namespace NetStateMachine; |
45 using namespace NetStateMachine; |
46 using namespace Messages; |
46 using namespace Messages; |
47 using namespace MeshMachine; |
47 using namespace MeshMachine; |
48 |
48 |
49 //We reserve space for two preallocated activities that may start concurrently on the CPR |
|
50 //node: destroy and data client stop. |
|
51 static const TUint KMobilityCPRDefaultMaxPreallocatedActivityCount = 2; |
|
52 static const TUint KMaxPreallocatedActivitySize = sizeof(MeshMachine::CNodeRetryParallelActivity) + sizeof(MeshMachine::APreallocatedOriginators<4>); |
|
53 static const TUint KMobilityCPRPreallocatedActivityBufferSize = KMobilityCPRDefaultMaxPreallocatedActivityCount * KMaxPreallocatedActivitySize; |
|
54 |
|
55 //-========================================================= |
49 //-========================================================= |
56 // |
50 // |
57 // CMobilityConnectionProvider methods |
51 // CMobilityConnectionProvider methods |
58 // |
52 // |
59 //-========================================================= |
53 //-========================================================= |
60 EXPORT_C CMobilityConnectionProvider* CMobilityConnectionProvider::NewL(CConnectionProviderFactoryBase& aFactory, const MeshMachine::TNodeActivityMap& aActivityMap) |
54 EXPORT_C CMobilityConnectionProvider* CMobilityConnectionProvider::NewL(CConnectionProviderFactoryBase& aFactory, const MeshMachine::TNodeActivityMap& aActivityMap) |
61 { |
55 { |
62 CMobilityConnectionProvider* provider = new (ELeave) CMobilityConnectionProvider(aFactory, aActivityMap); |
56 CMobilityConnectionProvider* provider = new (ELeave) CMobilityConnectionProvider(aFactory, aActivityMap); |
63 CleanupStack::PushL(provider); |
57 CleanupStack::PushL(provider); |
64 provider->ConstructL(KMobilityCPRPreallocatedActivityBufferSize); |
58 provider->ConstructL(); |
65 CleanupStack::Pop(provider); |
59 CleanupStack::Pop(provider); |
66 return provider; |
60 return provider; |
67 } |
61 } |
68 |
62 |
69 EXPORT_C CMobilityConnectionProvider::CMobilityConnectionProvider(CConnectionProviderFactoryBase& aFactory, const MeshMachine::TNodeActivityMap& aActivityMap) |
63 EXPORT_C CMobilityConnectionProvider::CMobilityConnectionProvider(CConnectionProviderFactoryBase& aFactory, const MeshMachine::TNodeActivityMap& aActivityMap) |