Réduire
Brouillon
0
21/05/2013
0

Orbix - Setter un timeout au niveau du client pour des temps timeout supérieurs à 3min35

Mots-clés:
CORBA

// timeout en minutes
if (timeout > 0)
{
 TimeBase::UtcT limitTime = IT_UtcT(IT_Time::current());
 for (int i=0 ; i< timeout ; i++)
 {
  limitTime = limitTime + 60L * 10000000L;
 }
 CORBA::Any requestLimitTime;
 requestLimitTime <<= limitTime;
 CORBA::PolicyList policies;
 policies.length(1);
 policies[0] = orbProxy->getORB()->create_policy(Messaging::REPLY_END_TIME_POLICY_TYPE, requestLimitTime);
 CORBA::PolicyManager_var policyManager = NULL;
 CORBA::Object_var ref = orbProxy->getORB()->resolve_initial_references("ORBPolicyManager");
 policyManager = CORBA::PolicyManager::_narrow(ref.in());
 policyManager->set_policy_overrides(policies, CORBA::ADD_OVERRIDE);
}