diff options
Diffstat (limited to 'TAO/tao/RTPortableServer/RT_Acceptor_Filters.cpp')
-rw-r--r-- | TAO/tao/RTPortableServer/RT_Acceptor_Filters.cpp | 70 |
1 files changed, 15 insertions, 55 deletions
diff --git a/TAO/tao/RTPortableServer/RT_Acceptor_Filters.cpp b/TAO/tao/RTPortableServer/RT_Acceptor_Filters.cpp index d1c1984f4d8..4df386ee644 100644 --- a/TAO/tao/RTPortableServer/RT_Acceptor_Filters.cpp +++ b/TAO/tao/RTPortableServer/RT_Acceptor_Filters.cpp @@ -17,11 +17,11 @@ TAO_Server_Protocol_Acceptor_Filter (RTCORBA::ProtocolList &protocols) } int -TAO_Server_Protocol_Acceptor_Filter:: -fill_mprofile (const TAO_ObjectKey &object_key, - TAO_MProfile &mprofile, - TAO_Acceptor **acceptors_begin, - TAO_Acceptor **acceptors_end) +TAO_Server_Protocol_Acceptor_Filter::fill_profile (const TAO_ObjectKey &object_key, + TAO_MProfile &mprofile, + TAO_Acceptor **acceptors_begin, + TAO_Acceptor **acceptors_end, + CORBA::Short priority) { // RTCORBA 1.0, Section 4.15.1: ServerProtocolPolicy determines // which protocols get included into IOR and in what order. @@ -32,15 +32,19 @@ fill_mprofile (const TAO_ObjectKey &object_key, for (TAO_Acceptor** acceptor = acceptors_begin; acceptor != acceptors_end; ++acceptor) - if ((*acceptor)->tag () == protocol_type - && this->validate_acceptor (*acceptor) - && ((*acceptor)->create_mprofile (object_key, - mprofile, - 1 /* >=1 endpoints per profile */) - == -1)) + if ((*acceptor)->tag () == protocol_type && + ((*acceptor)->create_profile (object_key, + mprofile, + priority) == -1)) return -1; } + return 0; +} + +int +TAO_Server_Protocol_Acceptor_Filter::encode_endpoints (TAO_MProfile &mprofile) +{ // Encode endpoints. for (CORBA::ULong i = 0; i < mprofile.profile_count (); @@ -53,47 +57,3 @@ fill_mprofile (const TAO_ObjectKey &object_key, return 0; } - -int -TAO_Server_Protocol_Acceptor_Filter:: -validate_acceptor (TAO_Acceptor * /*acceptor*/) -{ - return 1; -} - -TAO_Priority_Acceptor_Filter:: -TAO_Priority_Acceptor_Filter (RTCORBA::ProtocolList &protocols, - CORBA::Short priority) - : TAO_Server_Protocol_Acceptor_Filter (protocols), - priority_ (priority) -{ -} - -int -TAO_Priority_Acceptor_Filter::validate_acceptor (TAO_Acceptor *acceptor) -{ - return (this->priority_ == acceptor->priority ()); -} - -TAO_Bands_Acceptor_Filter:: -TAO_Bands_Acceptor_Filter (RTCORBA::ProtocolList &protocols, - RTCORBA::PriorityBands &bands) - : TAO_Server_Protocol_Acceptor_Filter (protocols), - priority_bands_ (bands) -{ -} - -int -TAO_Bands_Acceptor_Filter::validate_acceptor (TAO_Acceptor *acceptor) -{ - for (CORBA::ULong i = 0; - i < this->priority_bands_.length (); - ++i) - { - if (this->priority_bands_[i].low <= acceptor->priority () - && this->priority_bands_[i].high >= acceptor->priority ()) - return 1; - } - return 0; -} - |