+ All Categories
Home > Documents > TAO Dev GuideIX - download.ociweb.comdownload.ociweb.com/TAO-1.3a/TAO1.3a_Dev_GuideINDEX.pdfBorland...

TAO Dev GuideIX - download.ociweb.comdownload.ociweb.com/TAO-1.3a/TAO1.3a_Dev_GuideINDEX.pdfBorland...

Date post: 17-Sep-2020
Category:
Upload: others
View: 5 times
Download: 0 times
Share this document with a friend
88
ociweb.com 1113 Index Symbols _add_ref() operation 283, 325 _id() operation 114, 116117, 119, 166, 275, 346, 741742, 1015 _refcount_value() operation 283 _remove_ref() operation 283, 325 _set_policy_overrides() operation 179 _tao_add_to_IOR_table() operation 1006 _unchecked_narrow() operation 299300, 302, 347 _validate_connection() operation 194, 209 A abstract factory pattern 15 abstract value types 288 acceptor 566 acceptor pattern 15 access identity 929
Transcript
Page 1: TAO Dev GuideIX - download.ociweb.comdownload.ociweb.com/TAO-1.3a/TAO1.3a_Dev_GuideINDEX.pdfBorland C++ 1030, 1049–1054 configuring source code 1051 setting up environment 1051 verify

o c i w e b . c o m 1113

Index

Symbols

_add_ref() operation 283, 325_id() operation 114, 116–117, 119, 166, 275, 346, 741–742, 1015_refcount_value() operation 283_remove_ref() operation 283, 325_set_policy_overrides() operation 179_tao_add_to_IOR_table() operation 1006_unchecked_narrow() operation 299–300, 302, 347_validate_connection() operation 194, 209

A

abstract factory pattern 15abstract value types 288acceptor 566acceptor pattern 15access identity 929

Page 2: TAO Dev GuideIX - download.ociweb.comdownload.ociweb.com/TAO-1.3a/TAO1.3a_Dev_GuideINDEX.pdfBorland C++ 1030, 1049–1054 configuring source code 1051 setting up environment 1051 verify

1114 o c i w e b . c o m

A

ACE 634, 660service configurator 20, 28, 538–550, 552–561, 567, 617, 624, 641, 663, 672, 687,

690, 692_make_resources() operation 542ACE_Dynamic_Service class 560ACE_FACTORY_DECLARE macro 556ACE_FACTORY_DEFINE macro 557ACE_Service_Config class

close() operation 547open() operation 545–546, 567, 576–577, 617–618process_directive() operation 547reconfigure() operation 547, 561

ACE_Service_Object class 542, 549–550, 552, 554ACE_STATIC_SVC_DECLARE macro 556ACE_STATIC_SVC_DECLARE_EXPORT macro 556ACE_STATIC_SVC_DEFINE macro 557ACE_STATIC_SVC_REQUIRE macro 557ACE_SVC_NAME macro 555, 557Client_Strategy_Factory class 541commanding 547configuring clients and servers 537control options 543DELETE_OBJ macro 555DELETE_THIS macro 555destructor 553dynamic directive 541, 553, 557example

dynamic service 557static service 558

factories 538finalizer 553fini() operation 554–555framework 543helper macros 556info() operation 559init() operation 553instance() operation 560loading service objects 544obtaining services 560options 541ORB initialization options 106, 108, 543–544, 563–564, 571, 914, 1006

ORBServiceConfigLoggerKey 543

Page 3: TAO Dev GuideIX - download.ociweb.comdownload.ociweb.com/TAO-1.3a/TAO1.3a_Dev_GuideINDEX.pdfBorland C++ 1030, 1049–1054 configuring source code 1051 setting up environment 1051 verify

o c i w e b . c o m 1115

A

ORBSvcConf 543ORBSvcConfDirective 543

remove directive 547, 553Resource_Factory class 540, 542, 551resume directive 547–548, 559Server_Strategy_Factory class 541service finalization 553service initialization 553service manager 560service objects 549, 552service state 559static directive 540, 553, 555, 558, 663, 672suspend directive 547–548, 559

ACE classesACE_Acceptor 370–371ACE_Addr 384, 422, 474, 810ACE_Data_Blocks 627ACE_Dynamic_Service 434, 560ACE_Event_Handler 406, 409, 414–415, 443, 453, 462, 528–529, 552–553ACE_MEM_Acceptor 364ACE_MEM_Connector 365ACE_Message_Blocks 627–628, 646ACE_QtReactor 636ACE_Reactor 366–368, 376–377, 379, 412–413, 544, 553, 625–626ACE_Select_Reactor 519, 653ACE_Service_Config 433–434, 544–547, 561, 567, 576–577, 612, 617–618

close() operation 547open() operation 545–546, 567, 576–577, 617–618reconfigure() operation 547, 561

ACE_Service_Config classprocess_directive() operation 547

ACE_Service_Object 406, 428–430, 435, 542, 549–550, 552–555, 557–558, 625,664–665, 688, 750, 816

ACE_Service_Repository 430ACE_Shared_Object 552–553ACE_Singleton 296ACE_SOCK_Acceptor 364ACE_SOCK_Connector 365ACE_Static_Svc_Descriptor 429–430, 432–433, 554–555, 557ACE_Strategy_Acceptor 364, 367–368, 370–371, 378, 392ACE_Strategy_Connector 365, 390–393, 395, 398–399ACE_Svc_Handler 406–408, 448

Page 4: TAO Dev GuideIX - download.ociweb.comdownload.ociweb.com/TAO-1.3a/TAO1.3a_Dev_GuideINDEX.pdfBorland C++ 1030, 1049–1054 configuring source code 1051 setting up environment 1051 verify

1116 o c i w e b . c o m

A

ACE_Task 406, 408–409, 411–412, 508, 724–725ACE_TP_Reactor 519ACE_UNIX_Addr 368, 378, 380, 382–383, 385, 401, 411, 414, 416ACE_XtReactor 637–638

ACE librariesACEXML 68ACEXML_Parser 68

ACE macros__ACE_INLINE__ 95ACE_ANY_EXCEPTION 125, 127, 134, 137–140ACE_CATCH 124–131, 134–140, 146ACE_CATCHALL 125, 127, 129, 134ACE_CATCHANY 125, 127, 129, 134, 137–140ACE_CHECK 125, 127–129, 132–140, 406ACE_CHECK_RETURN 125, 127, 132–137, 406ACE_COMPILE_TIMEPROBES 25ACE_DECLARE_NEW_CORBA_ENV 123, 133, 135–140, 638ACE_DECLARE_NEW_ENV 123ACE_DEFAULT_LOGGER_KEY 545, 612ACE_DEFAULT_MAX_SOCKET_BUFSIZ 610, 615ACE_ENDTRY 124, 127, 129–131, 134–140, 637–638ACE_ENV_ARG_DECL 103–104, 123, 388–389, 419–420, 424ACE_ENV_ARG_DECL_NOT_USED 123ACE_ENV_ARG_DECL_WITH_DEFAULTS 123ACE_ENV_ARG_PARAMETER 124, 126–128, 135, 137–140, 456ACE_ENV_BKWD_COMPAT 21, 122ACE_ENV_SINGLE_ARG_DECL 123–124, 129–133, 269, 389–390, 405–406,

419–420, 427ACE_ENV_SINGLE_ARG_DECL_NOT_USED 124, 269ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS 124ACE_ENV_SINGLE_ARG_PARAMETER 124, 126, 128, 133–140, 454ACE_FACTORY_DECLARE 429, 556–558, 634ACE_FACTORY_DEFINE 429, 557, 634ACE_HAS_EXCEPTIONS 21, 103, 122ACE_HAS_FL 25ACE_HAS_NO_THROW_SPEC 125ACE_HAS_QT 26ACE_HAS_TK 26ACE_HAS_XML_SVC_CONF 549ACE_HAS_XT 25–26ACE_IPC_SAP 448, 474ACE_LACKS_RTTI 22

Page 5: TAO Dev GuideIX - download.ociweb.comdownload.ociweb.com/TAO-1.3a/TAO1.3a_Dev_GuideINDEX.pdfBorland C++ 1030, 1049–1054 configuring source code 1051 setting up environment 1051 verify

o c i w e b . c o m 1117

A

ACE_MAX_DGRAM_SIZE 343ACE_NDEBUG 22ACE_NO_INLINE 22ACE_PRINT_EXCEPTION 125–127, 129–131, 134–140ACE_RETHROW 124, 131ACE_STATIC_SVC_DECLARE 429, 432, 556, 558, 634ACE_STATIC_SVC_DECLARE_EXPORT 432, 556, 558, 634ACE_STATIC_SVC_DEFINE 557, 634ACE_STATIC_SVC_REQUIRE 432, 557, 559, 634ACE_SVC_NAME 555, 557ACE_THROW 34, 101, 103–104, 124–125, 129, 131–133, 250–254, 256–259,

264–265, 268–271, 274–276, 286, 307–310, 323–324, 424–427, 633ACE_THROW_RETURN 124, 132–133ACE_THROW_SPEC 34, 101, 103–104, 125, 250–254, 256–259, 264–265, 268–

271, 274–276, 286, 307–310, 323–324, 633ACE_TRY 19, 21, 123–141, 146, 304, 309, 633, 637–638, 779–780ACE_TRY_CHECK 125–126, 128–129, 133–140, 637–638ACE_TRY_CHECK_EX 125, 135–137, 140ACE_TRY_ENV 19, 21, 123–125, 127–128, 132, 304, 309, 633, 779–780ACE_TRY_EX 123–125, 130, 135–136, 140ACE_TRY_NEW_ENV 123, 126–127ACE_TRY_THROW 124, 129–131, 140ACE_TRY_THROW_EX 124, 130–131, 140DELETE_OBJ 429, 555, 559, 634DELETE_THIS 429, 555, 559, 634

ACE_ROOT environment variable 32, 45, 94, 98, 106activate() operation 35, 239, 260, 411–412, 666, 709, 725–727, 873, 896, 999,1015activate_object_with_id() operation 166, 346, 1015activate_object_with_id_and_priority() operation 201, 209, 237activate_object_with_priority() operation 200–201, 237activation 166activation mode

NORMAL 1010PER_CLIENT 1010

activation-per-AMI-call strategy 166active demultiplexing 10, 15, 524, 573–574, 667–669, 676, 678, 681, 684, 686active object map 166, 318, 668, 671, 675, 685

parameters 671active object pattern 15adapter pattern 15ADAPTIVE Communication Environment (ACE)

Page 6: TAO Dev GuideIX - download.ociweb.comdownload.ociweb.com/TAO-1.3a/TAO1.3a_Dev_GuideINDEX.pdfBorland C++ 1030, 1049–1054 configuring source code 1051 setting up environment 1051 verify

1118 o c i w e b . c o m

A

See ACEadd_client_request_interceptor() operation 254add_constraints() operation 883add_filter() operation 883add_ior_component() operation 270add_ior_interceptor() operation 269–270add_server_request_interceptor() operation 259Advanced CORBA Programming Using TAO course xxxivAdvanced CORBA Programming with C++ book xxv, xxxi, xxxiv, 7, 31,112–113, 153, 180, 292, 356, 626, 705, 736, 849, 1004advanced resource factory 624, 639–640

Advanced_Resource_Factory class 336, 339, 341options 655

alert protocol 956AMH

See asynchronous method handling (AMH)AMI

See asynchronous method invocation (AMI)ami build flag 26ANY_EVENT type 865, 871asymmetric encryption 948asynchronous invocations 215asynchronous method handling (AMH) 145, 480asynchronous method invocation (AMI) 149, 152, 292

activation-per-AMI-call strategy 166associating replies with requests 165callback 150–151, 169, 171drawbacks 152example 169exception replies 158ExceptionHolder class 152, 155–156, 158IDL compiler 152local interfaces 316processing sendc_ operation 167reply handler 156, 159

exception 157, 164non-exception 157, 161

request delivery 176sendc_ prefix 151, 153, 167servant-per-AMI-call strategy 166server-differentiated-reply strategy 166synchronous IDL operation 156

Page 7: TAO Dev GuideIX - download.ociweb.comdownload.ociweb.com/TAO-1.3a/TAO1.3a_Dev_GuideINDEX.pdfBorland C++ 1030, 1049–1054 configuring source code 1051 setting up environment 1051 verify

o c i w e b . c o m 1119

B

audio/video streaming service 703, 1039ORB service libraries 703

auditing 931identity 929

AV streamsSee audio/video streaming service

B

BAD_INV_ORDER exception 144–145, 484–485, 528BAD_PARAM exception 144, 271basic filter builder

real-time event service (RTES) 788basic object adapter (BOA) 10bi-directional GIOP

BidirectionalPolicyValue 189See also general inter-ORB protocol (GIOP), bi-directional

bindings 712, 727–729, 943–944, 949, 1003–1004, 1007, 1073explicit 10, 195, 209indirect 1003, 1005

bit-mask filters 790real-time event service 790

blocking strategy 646BOA

See basic object adapter (BOA)Bolton, Fintan xxv, xxxiBorland 19, 37–39, 41, 43, 45, 52, 57, 63bridge pattern 15BUFFER_MESSAGE_COUNT 186–187BUFFER_TIMEOUT 186–187buffering

oneways 186requests 195

BufferingConstraint policy 186–188build flags 20, 27–28, 295, 301, 303

corba_messaging 20, 27, 69, 188, 229fakesvcconf 20, 28fast 23fl_reactor 20, 25, 67, 640include_env 19, 21, 122

Page 8: TAO Dev GuideIX - download.ociweb.comdownload.ociweb.com/TAO-1.3a/TAO1.3a_Dev_GuideINDEX.pdfBorland C++ 1030, 1049–1054 configuring source code 1051 setting up environment 1051 verify

1120 o c i w e b . c o m

B

inline 19, 22, 54–56, 58, 71–72, 75–76, 85–86, 95, 99interceptors 20, 28interface_repo 20, 27minimum_corba 20, 25, 27–28, 67, 69, 190–191, 229, 244optimize xx, 19, 22, 85purify 20, 23, 85qt_reactor 20, 26quantify 20, 23–24, 85, 929rt_corba 20, 27, 229rtti 19, 22, 85tk_reactor 20, 26, 640, 660xt_reactor 20, 25

building 17–28$ACE_ROOT/ace/config.h 21, 96, 122, 303, 549, 636, 638$ACE_ROOT/bin/generate_export_file.pl 106, 556$ACE_ROOT/bin/svcconf-convert.pl 549$ACE_ROOT/include/makeinclude/macros.GNU 21, 83, 87, 303, 966$ACE_ROOT/include/makeinclude/macros.GNU file 21, 83, 87, 303$ACE_ROOT/include/makeinclude/platform_macros.GNU 21, 83, 303$ACE_ROOT/include/makeinclude/rules.bin.GNU 88$ACE_ROOT/include/makeinclude/rules.common.GNU 87$ACE_ROOT/include/makeinclude/rules.lib.GNU 88$ACE_ROOT/include/makeinclude/rules.local.GNU 88$ACE_ROOT/include/makeinclude/rules.nested.GNU 88$ACE_ROOT/include/makeinclude/rules.nolocal.GNU 88$ACE_ROOT/include/makeinclude/rules.nonested.GNU 89$ACE_ROOT/include/makeinclude/wrapper_macros.GNU 87$TAO_ROOT/rules.tao.GNU 89$TAO_ROOT/taoconfig.mk 89ACE and TAO 17, 1029

Borland C++ 1030, 1049–1054configuring source code 1051setting up environment 1051verify build 1053

from source code distribution 1029UNIX 83, 1029, 1031–1040Visual C++ 1029, 1041

build libraries 1045configure source code 1043custom version 1041set up your environment 1043verify build 1045

Page 9: TAO Dev GuideIX - download.ociweb.comdownload.ociweb.com/TAO-1.3a/TAO1.3a_Dev_GuideINDEX.pdfBorland C++ 1030, 1049–1054 configuring source code 1051 setting up environment 1051 verify

o c i w e b . c o m 1121

C

cross compilationlibraries and executables 1060

LynxOS 1065, 1068VxWorks 1060

MakeProjectCreator (MPC) 18, 31, 44, 47, 68, 76messaging 20, 27security libraries 965

UNIX variants 966Windows 967

template repository 86templates 86

Buschmann, Frank 15, 351, 505, 515, 519byte-order flag 335, 651

C

C++ language mapping 12, 1079CORBA compliance 1079exceptions 1080modules 1080

C++ Network Programming bookVolume 1 (C++NPv1) 15, 352, 473, 476Volume 2 (C++NPv2) 15, 352, 498, 510, 519

cache_maximum() operation 630caching

cache_maximum() operation 630management 629max_muxed_connections() operation 630strategies 629

catior utility 271CCM

See Object Management Group (OMG) specificationsCDR

See common data representation (CDR)CEC_Factory class 749, 758–761, 763–764, 766–771CECConsumerControl option 754, 758–759CECConsumerControlPeriod option 754, 759CECDispatching option 749, 752, 756, 760–761CECDispatchingThreads option 749, 752, 760–761CECProxyConsumerCollection option 755, 762–763

Page 10: TAO Dev GuideIX - download.ociweb.comdownload.ociweb.com/TAO-1.3a/TAO1.3a_Dev_GuideINDEX.pdfBorland C++ 1030, 1049–1054 configuring source code 1051 setting up environment 1051 verify

1122 o c i w e b . c o m

C

CECProxyConsumerLock option 753, 764CECProxySupplierCollection option 755, 765–766CECProxySupplierLock option 753, 767CECReactivePullingPeriod option 757, 768CECSupplierControl option 754, 769–770CECSupplierControlPeriod option 754, 770CECUseORBId option 757, 771certificates 949, 958

authority 950, 959commands summary 964creating requests 960issuing 962multiple authorities 970self-signed 950signing requests 962

ciphertext 947client interceptors 244–245, 251, 263client propogated priority model 232client strategy factory 513–514, 520–524, 539, 541, 687–698, 973

cached connection strategy 643Client_Strategy_Factory class 501, 513–514, 516, 521, 524, 541, 687, 694, 696–

698, 980ORBServiceConfigLoggerKey option 543, 567, 612

connect strategy 692, 696create_ft_service_retention_id_lock() operation 688interface definition 688multiplexing strategies 689options 693

ORBClientConnectionHandler 373, 452, 500–501, 513–514, 516, 520–521,523–524, 691, 694

ORBConnectStrategy 513, 524, 693, 696, 973, 975, 978, 980ORBProfileLock 501, 689, 697ORBTransportMuxStrategy 504, 513, 521, 690, 698

profile locking 688, 697TAO_Wait_Strategy class 690, 692transport multiplexing 689wait strategy 690, 694

Client_Strategy_Factory class 513–524ClientInitializer class 253ClientInterceptor class 250ClientRequestInfo interface 247

get_effective_component() operation 269

Page 11: TAO Dev GuideIX - download.ociweb.comdownload.ociweb.com/TAO-1.3a/TAO1.3a_Dev_GuideINDEX.pdfBorland C++ 1030, 1049–1054 configuring source code 1051 setting up environment 1051 verify

o c i w e b . c o m 1123

C

code set 635identifiers and translators 635

codec (coder/decoder) 262codec_factory() operation 262, 266CodecFactory reference 262–263

codepointsdiffserv 221

collocation 9event channel 744notification channels 896objects 568, 574, 746optimization 524–525

COMM_FAILURE exception 113, 117, 126, 142, 1011common data representation (CDR) 328–329, 539

conversion allocators 626common secure interoperability (CSI) packages 933–934, 937–938

CSI 0 933, 937CSI 1 933, 937CSI 2 933, 937

complianceSee CORBA compliance

concurrency xxxiv, 4, 11, 14, 537, 663, 665behavior 677, 682server 665strategy 666

concurrency control service 4, 703, 1039ORB service libraries 703

concurrency models 342, 348, 374, 397, 496–499, 501–507, 510–517, 566reactive 374, 397, 497–499, 501, 506thread-per-connection 342, 348, 374, 397, 412–413, 497, 501–504, 667, 683, 748thread-pool 497, 505–510, 520, 525wait-on-leader-follower 497, 510–513, 515–517, 521, 523–524, 694–695wait-on-reactor 497, 514–515wait-on-read 510–514

concurrency-strategy template 373, 396configuration xxvi, xxix, 5, 537

event channel servantsreal-time event service (RTES) 799

source codeUNIX 1033See also building 1033

conjunction groups 791

Page 12: TAO Dev GuideIX - download.ociweb.comdownload.ociweb.com/TAO-1.3a/TAO1.3a_Dev_GuideINDEX.pdfBorland C++ 1030, 1049–1054 configuring source code 1051 setting up environment 1051 verify

1124 o c i w e b . c o m

C

connect strategies 523–524, 692blocking 524connect-strategy template 396leader-follower 523reactive 523

connect_push_supplier() operation 739, 802connect_sequence_push_consumer() operation 894connect_structured_push_consumer() operation 872connect_structured_push_supplier() operation 866connecting and disconnecting

notification service 873–874real-time event service (RTES) 782

connection timeout 182connection_caching_strategy_type() operation 630connector pattern 15consumer and supplier control options 753, 820

CECConsumerControl 754CECConsumerControlPeriod 754CECSupplierControl 754CECSupplierControlPeriod 754ECConsumerControl 821, 824ECConsumerControlPeriod 821, 825ECObserver 829ECSupplierControl 821ECSupplierControlPeriod 821

consumer proxies 774ConsumerAdmin interface 844, 851, 871, 877, 884, 893–894context_data field 252context_id field 252CORBA 1004

architecture 7, 196compliance xxv, 7, 11, 14, 1073, 1075–1084

C++ language mapping 1079core 1075–1076DII COE 1083naming service 1080notification service 1081real-time CORBA 1078security 1082value types 289

CORBA::Any 262, 737CORBA::Boolean 276

Page 13: TAO Dev GuideIX - download.ociweb.comdownload.ociweb.com/TAO-1.3a/TAO1.3a_Dev_GuideINDEX.pdfBorland C++ 1030, 1049–1054 configuring source code 1051 setting up environment 1051 verify

o c i w e b . c o m 1125

C

CORBA::OctetSeq 266core 1075–1076

specification 150environment parameter 93

exceptions 21, 112, 120, 122–125, 127, 146fault tolerance xx–xxigateway 806interoperability 1075interworking 1075minimum 25object 9, 143, 573, 616, 705, 746real-time 69, 73, 144–145, 193–215, 219–242, 348, 416, 497, 503, 507

See also real-time CORBAsecurity

module 13OpenSSL 1082

services 12specifications

See Object Management Group (OMG) specificationssystem exceptions 113

CORBA Component Model (CCM) specificationSee Object Management Group (OMG) specifications

CORBA Programming with C++ course xxv, xxxi, xxxiv, 7, 31, 112–113,153, 180, 292, 356, 626CORBA Programming with Java course xxxivcorba_messaging build flag 20, 27, 69, 188, 229corbaloc object URL 706, 714–717, 721, 728

example 716rir protocol 716

corbaname object URL 634, 647, 717–720, 723, 727, 1080example 718

create 183create_cached_connection_lock() operation 630create_channel() operation 864, 897create_filter() operation 882create_ft_service_retention_id_lock() operation 688create_lf_strategy() operation 626create_mutex() operation 205create_POA() operation 179, 197, 200, 206create_policy() operation 177–178, 181, 183, 185, 188, 190, 978–979, 981create_priority_banded_connection_policy() operation 209create_proxy() operation 292, 296–297, 299–300, 302, 304–305, 309

Page 14: TAO Dev GuideIX - download.ociweb.comdownload.ociweb.com/TAO-1.3a/TAO1.3a_Dev_GuideINDEX.pdfBorland C++ 1030, 1049–1054 configuring source code 1051 setting up environment 1051 verify

1126 o c i w e b . c o m

D

create_reference_with_id_and_priority() operation 201, 237create_reference_with_priority() operation 201, 237creating

event channel 744servants 799

creation-strategy template 372, 395cross compilation

See buildingCSI

See common secure interoperability (CSI) packagesCSI ECMA protocol 934, 938Current interface 166, 203, 234, 273, 317, 982, 985, 988, 1082custom factory 651custom interoperable object reference (IOR)

parsers 632customer support

See supportcustomizing

access to services 702ACE and TAO builds

See buildingEvent structure 786filters 795

D

DARPASee Defense Advanced Research Projects Agency (DARPA)

datagram inter-ORB protocol (DIOP) 11, 330, 341–343, 436, 439, 453, 588,593, 651

DIOP_Factory 651DIOP_Factory class 342endpoints 593

DCE common inter-ORB protocol (DCE-CIOP) 933, 937, 1082deadline timeouts 797–798debugging

ACE_NDEBUG macro 22debug build flag 22

default proxy factory 297, 299default_filter_factory() operation 882

Page 15: TAO Dev GuideIX - download.ociweb.comdownload.ociweb.com/TAO-1.3a/TAO1.3a_Dev_GuideINDEX.pdfBorland C++ 1030, 1049–1054 configuring source code 1051 setting up environment 1051 verify

o c i w e b . c o m 1127

D

Defense Advanced Research Projects Agency (DARPA) 3DELETE_OBJ macro 429DELETE_THIS macro 429demarshaling 105, 142, 166, 524, 573–574demultiplexing 663

active 10, 15, 668–669dynamic hash 668–669linear search 668strategies 667

Design Patterns:Elements of Reusable Object-Oriented Softwarebook 15, 352destroy() operation 36, 116–117, 321destroy_mutex() operation 205destroying

notification channel 875differentiated services 221

codepoints (DSCP) 221diffserv field (DF) 221

DIISee dynamic invocation interface (DII)

DII COECORBA compliance 1083

DIIPollable interface 317–318DIOP

See datagram inter-ORB protocol (DIOP)DIOP_Factory class 342direct mapping 217–218directives 540, 547

dynamic 331–332, 501, 541–542, 553, 557components 542

resume 548, 559static 501, 540–541, 553, 561, 624, 663, 687, 749, 815suspend 548, 559

DiscardPolicy property 854disconnect_push_consumer() operation 739–740, 779, 802disconnect_sequence_push_consumer() operation 892disconnect_structured_push_consumer() operation 867–869disconnect_structured_push_supplier() operation 860–861, 873disconnecting

notification serviceconsumers 873suppliers 874

Page 16: TAO Dev GuideIX - download.ociweb.comdownload.ociweb.com/TAO-1.3a/TAO1.3a_Dev_GuideINDEX.pdfBorland C++ 1030, 1049–1054 configuring source code 1051 setting up environment 1051 verify

1128 o c i w e b . c o m

E

disjunction group 791dispatching

events 752module 775

real-time event service (RTES) 775options

CECDispatching 749, 752, 756, 760–761CECDispatchingThreads 749, 752, 760–761DispatchingThreads 901ECDispatching 815, 818, 823, 826–827ECDispatchingThreads 818, 826–827MTDispatching 901, 909

strategiesevent channel 752multithreaded 752, 818options

CECDispatching 752CECDispatchingThreads 752

priority 818reactive 752, 818

DispatchingThreads option 901distribution model

pull 736push 736

DNSSee domain name servers (DNS)

DOC Group xix–xx, xxiv, xxxi–xxxii, 3, 6, 1083domain name servers (DNS) 333, 580, 586, 598–599dynamic 550

hash 105, 669, 675, 678, 680–681, 684, 686service example 557threads 205

dynamic invocation interface (DII) 9, 12, 150, 316DynamicAny module 317

E

EC_Factory interface 815, 818ECDispatching option 815, 818, 823, 826–827ECDispatchingThreads option 818, 826–827

Page 17: TAO Dev GuideIX - download.ociweb.comdownload.ociweb.com/TAO-1.3a/TAO1.3a_Dev_GuideINDEX.pdfBorland C++ 1030, 1049–1054 configuring source code 1051 setting up environment 1051 verify

o c i w e b . c o m 1129

E

ECFiltering option 788, 794, 815, 819, 828ECObserver option 803, 819, 829ECProxyConsumerLock option 820, 830ECProxySupplierLock option 820, 835ECScheduling option 819, 828, 836ECSupplierFiltering option 819, 839ECTimeout option 818, 840ECUseORBId option 819, 841em3 build type 43, 63endpoint-specific options 593end-to-end priority propagation 14, 195, 208environment

LynxOS 1065cross compilation 1066

VxWorks 1057environment specific inter-ORB protocol (ESIOP) 327–328

DCE 327environment variables 32, 1032

ACE_ROOT 32, 45, 94, 98, 106, 1032ImplRepoServiceIOR 1006ImplRepoServicePort 596InterfaceRepoServicePort 914LD_LIBRARY_PATH 32MAKEFLAGS 83–84, 122, 786NameServiceIOR 707, 715NameServicePort 605, 707, 713PATH 23, 550–551, 580, 592, 598–599, 608, 617, 632, 676TAO_IDL_PREPROCESSOR 52, 96, 98

See also IDL compilerTAO_IDL_PREPROCESSOR_ARGS 98

See also IDL compilerTAO_ORB_DEBUG 578TAO_ORBSVCS 750, 816, 966–967, 1039TAO_ROOT 32, 45, 94, 96, 98, 967, 1032, 1046, 1053TradingServicePort 619

error handling 111–147ACE exception handling macros 122ACE_TRY/ACE_CATCH blocks

multiple 134nested 136

errno 145error number codes 145

Page 18: TAO Dev GuideIX - download.ociweb.comdownload.ociweb.com/TAO-1.3a/TAO1.3a_Dev_GuideINDEX.pdfBorland C++ 1030, 1049–1054 configuring source code 1051 setting up environment 1051 verify

1130 o c i w e b . c o m

E

guidelines 137simulating exceptions 132TAO error number codes 145throwing exceptions with ACE_THROW 129without exception handling 120

ESIOPSee environment specific inter-ORB protocol (ESIOP)

establish_components() operation 268ETCL

See extended trader constraint language (ETCL)etherealize 575event channel 776

attributes 801consumer_poa 746consumer_reconnect 746–747disconnect_callbacks 746–747supplier_poa 746supplier_reconnect 746–747

CEC_Factory 749, 758–761, 763–764, 766–771collocating 744communication 737consumer and supplier control options 753consumer proxy 739creation and destruction 737, 744disconnecting supplier 739example 800implementation 737locating 744locking options 752managing own servants 744object 737options

CECConsumerControl 754, 758–759CECConsumerControlPeriod 754, 759CECDispatching 749, 752, 756, 760–761CECDispatchingThreads 749, 752, 760–761CECProxyConsumerCollection 755, 762–763CECProxyConsumerLock 753, 764CECProxySupplierCollection 755, 765–766CECProxySupplierLock 753, 767CECReactivePullingPeriod 757, 768CECSupplierControl 754, 769–770

Page 19: TAO Dev GuideIX - download.ociweb.comdownload.ociweb.com/TAO-1.3a/TAO1.3a_Dev_GuideINDEX.pdfBorland C++ 1030, 1049–1054 configuring source code 1051 setting up environment 1051 verify

o c i w e b . c o m 1131

E

CECSupplierControlPeriod 754, 770CECUseORBId 757, 771ECDispatching 815, 818, 823, 826–827ECDispatchingThreads 818, 826–827ECFiltering 788, 794, 815, 819, 828ECObserver 803, 819, 829ECProxyConsumerLock 820, 830ECProxySupplierLock 820, 835ECScheduling 819, 828, 836ECSupplierFiltering 819, 839ECTimeout 818, 840ECUseORBId 819, 841

proxy 738pull model support 747resource factory 749–750, 815

CEC_Factory 749, 758–761, 763–764, 766–771EC_Factory 815member functions 750options 757, 823

setting attributes 746, 801supplier proxy 743typed 737

event correlationreal-time event service (RTES) 775

event filtering 735, 848adding to consumer 883adding to supplier 881notification service 848

event service xx, xxix, xxxiv, 13, 735–737, 747, 750–771, 774, 778, 846, 852compatability with notification service 897connecting to the channel 742CosEvent_Service 737creating an event channel 737creating servants 744decoupled supplier consumer 735dispatching 752event filtering 735Event_Service 776example 737, 744ORB service libraries 703overview 736proxy colleciton options 754

Page 20: TAO Dev GuideIX - download.ociweb.comdownload.ociweb.com/TAO-1.3a/TAO1.3a_Dev_GuideINDEX.pdfBorland C++ 1030, 1049–1054 configuring source code 1051 setting up environment 1051 verify

1132 o c i w e b . c o m

E

pull model support 747push

consumer interface 741distribution model 736supplier interface 740

pushing events 738red-black tree 755servant-related functions 751specification 737starting CosEvent_Service server 737structured event types 735supplier 735

event structurereal-time event service 784

event suppliernotification service 861

Event_Service 776, 814command line options 814

EventBatch data type 848EventChannel interface 776–777, 800, 803, 807, 814, 844, 850, 853, 855, 864,870, 885, 888, 893, 897EventHeader structure

members 785real-time event service 785

EventSourceID 778, 785EventType 778, 785example xxviii, 32, 169–176, 239, 249

asynchronous method invocation (AMI) 169building 39collocated notification channel example 896corbaloc object URL 716corbaname object URL 718event channel

local 800event service collocation example 744getting started 31IDL compiler 95implementation repository 1013interface repository 916local interface 322locality constrained 322logging 305

Page 21: TAO Dev GuideIX - download.ociweb.comdownload.ociweb.com/TAO-1.3a/TAO1.3a_Dev_GuideINDEX.pdfBorland C++ 1030, 1049–1054 configuring source code 1051 setting up environment 1051 verify

o c i w e b . c o m 1133

E

messaging 169multiple protocol endpoint 595multithreading 499, 504, 507naming sevice 708notification service 859pluggable protocols 353, 359portable interceptors 269

client-side recursion 274simple authentication interceptor 249using the codec 262

real-time CORBA 199, 236, 239real-time event service (RTES) 776

local event channel 800running 39security 973send_message() operation 36servant manager 318ServantLocator class 318service configurator 558setting up your environment 32smart proxies 306–313tao_imr program 1022TAO_Naming classes 724value type 282

ExceptionHolder class 152, 155–156, 158exceptions 19, 21, 112–129, 132–134, 137–142, 145–146, 853, 1033, 1035, 1057–1058, 1067, 1077, 1080

alternatives 120BAD_INV_ORDER 144–145, 484–485, 528BAD_PARAM 144, 271BAD_QOS 858catching 114, 117COMM_FAILURE 113, 117, 126, 142, 1011completed() operation 115CORBA 113

COMM_FAILURE 1011OBJECT_NOT_EXIST 1014–1015TRANSIENT 1010

example 126, 137–139INV_OBJREF 113, 143location code 141MARSHAL 278, 316, 455, 572

Page 22: TAO Dev GuideIX - download.ociweb.comdownload.ociweb.com/TAO-1.3a/TAO1.3a_Dev_GuideINDEX.pdfBorland C++ 1030, 1049–1054 configuring source code 1051 setting up environment 1051 verify

1134 o c i w e b . c o m

F

minor codes 141minor() operation 115, 141multiple blocks 134nested blocks 136NO_IMPLEMENT 317, 986–987OBJECT_NOT_EXIST 113, 320, 484, 1014–1015returning values 132side effects 128, 139simulating 122system 113thread-related operations 484throwing 129TIMEOUT 143TRANSIENT 113, 117, 142–143, 609, 669–671, 680, 684, 975, 1004, 1010–1011UNKNOWN 142user 118

explicit binding 10, 195, 209extended trader constraint language (ETCL) 703, 848–849, 882, 884

F

factory 745Advanced_Resource_Factory class 639, 656–657, 659, 661client strategy 513–514, 520–524, 539, 541, 687–693, 973initialization 665resource 623–632, 635–643, 649–650, 652, 654–655, 657–661Resource_Factory class 332, 353, 513, 523server strategy 144, 412, 499, 502–503, 539, 541, 566, 663–666, 668, 670–672, 683Server_Strategy_Factory class 499, 501, 503–504, 541, 663, 673–686

fakesvcconf build flag 20, 28fast build flag 23fault-tolerant CORBA xx–xxifeature control

real-time event service 818feature_file option 44, 68federating event channels

IP multicast 812mechanism 813real-time event service 804selection mechanism 813

Page 23: TAO Dev GuideIX - download.ociweb.comdownload.ociweb.com/TAO-1.3a/TAO1.3a_Dev_GuideINDEX.pdfBorland C++ 1030, 1049–1054 configuring source code 1051 setting up environment 1051 verify

o c i w e b . c o m 1135

G

UDP 808FIFO

See first in first out (FIFO) strategyfiltering

by event type 789by source ID 789construction 795correlation 787disjunction groups 791

example 791real-time event service 790

fini() operation 435, 554–555first in first out (FIFO) strategy 629fl_reactor build flag 20, 25, 67, 640flushing strategies 522–523

blocking 522leader-follower 522reactive 522

footprint 539, 573, 639, 678, 839, 1031, 1037minimizing library size 1037–1038reduction xx, 5, 15, 120, 166, 316, 513, 539, 573, 639, 678, 698, 839

minimum_corba build flag 20, 25, 27–28, 67, 69, 190–191, 229, 244forward declaration 913Free Software Foundation’s GNU Public License (GPL) xxxvii, xxxixfrequently asked questions (FAQ) xxxi

G

Gamma, Erich 15, 352general inter-ORB protocol (GIOP) 284, 327–329, 332, 335, 338, 343–344

bi-directional 14, 149, 189–191BidirectionalPolicyValue 189BiDirPolicy 191security 191

lite 329version 1.2 189

generic event communication 737generic security service (GSS) procotol 938get_client_policy() operation 317get_domain_managers() operation 317

Page 24: TAO Dev GuideIX - download.ociweb.comdownload.ociweb.com/TAO-1.3a/TAO1.3a_Dev_GuideINDEX.pdfBorland C++ 1030, 1049–1054 configuring source code 1051 setting up environment 1051 verify

1136 o c i w e b . c o m

G

get_effective_component() operation 269, 271get_event_channel() operation 864, 870get_interface() operation 317get_policy() operation 317, 936get_policy_overrides() operation 317get_proxy() operation 297–298get_qos() operation 857get_slot() operation 273getting started 31–40ghs build type 44GNU Make xxvi, 18–19, 21–28, 37–39, 41, 43, 83–84, 86–89, 122, 229, 303

build flags 83ami xxix, 26corba_messaging 20, 27, 69, 188, 229debug 22, 85exceptions 21, 122fakesvcconf 20, 28fast 23, 85fl_reactor 20, 25, 67, 640include_env 19, 21, 122inline 19, 22, 54–56, 58, 71–72, 75–76, 85–86, 95, 99interceptors xxix, 5, 20, 28, 315, 575, 933, 936interface_repo 20, 27minimum_corba 25, 27optimize xx, 19, 22, 85probe 20, 25profile 25purify 20, 23, 85qt_reactor 20, 26quantify 20, 23–24, 85, 929repo 20, 22, 67, 85–87rt_corba 20, 27, 229rtti 19, 22, 85shared_libs 20, 24, 85shared_libs_only 24, 85smart_proxies 20, 27, 295, 301, 303static_libs 20, 24, 85–86static_libs_only 20, 24, 85–86TAO_IDLFLAGS 96threads 23tk_reactor 20, 26, 640, 660xt_reactor 20, 25

Page 25: TAO Dev GuideIX - download.ociweb.comdownload.ociweb.com/TAO-1.3a/TAO1.3a_Dev_GuideINDEX.pdfBorland C++ 1030, 1049–1054 configuring source code 1051 setting up environment 1051 verify

o c i w e b . c o m 1137

H

compiling 86gprof program 25include 87–89linking 86Makefile 84TAO_BASE_LIBS macro 89TAO_CLNT_LIBS macro 89TAO_SRVR_LIBS macro 89

GNU Public License (GPL) xxxvii, xxxixgnuace build type 38, 43, 45, 52–53, 55–57, 63GoF

See Design Patterns:Elements of Reusable Object-Oriented Software bookgprof program 25

H

half-sync/half-async pattern 15handle_events() operation 461, 514, 519handle_input() operation 358–359, 362, 370–371, 409, 412–413, 451, 462, 519handle_timeout() operation 528hash() operation 317hashing

perfect 10Helm, Richard 15, 352Henning, Michi xxv, xxxiHerron, Thomas 328Huston, Steve 15, 352, 473, 476, 498, 510, 519

I

id_to_reference() operation 357, 1014IDL

See interface definition language (IDL)IDL compiler 9, 33, 93–109, 112, 152

exception handling 103GI option 323Gsp option 298–300operation lookup strategy 104options 96–109

Page 26: TAO Dev GuideIX - download.ociweb.comdownload.ociweb.com/TAO-1.3a/TAO1.3a_Dev_GuideINDEX.pdfBorland C++ 1030, 1049–1054 configuring source code 1051 setting up environment 1051 verify

1138 o c i w e b . c o m

I

back-end processing 106code generation 102code suppression 108collocation strategy 105

output and reporting 109output files 94–95, 99preprocessing 96smart proxies 292, 300–301starter code 100

IDL to C++ mapping 4IFR_Service

multithreaded 914IFR_Service class 913–914, 916, 923IIOP

See internet inter-ORB protocol (IIOP)implementation repository 570, 596, 1003, 1005–1009, 1012, 1014–1020,1023–1024

abnormal shutdown 1011activate_object_with_id() operation 1015activation mode 1008

AUTO_START 1005MANUAL 1005NORMAL 1005, 1010PER_CLIENT 1005, 1010

client requests 1010COMM_FAILURE exception 1011create IMRified object reference 1009, 1016direct binding 1003directives 1019–1020

add 1019auto_start 1019ior 1009, 1019list 1019remove 1020shutdown 1020udpate 1020

example 1013tao_imr 1022

id_to_reference() operation 1014ImplRepo_Service class 582, 596, 620, 1006

command line options 1023ImplRepoServiceIOR environment variable 1006

Page 27: TAO Dev GuideIX - download.ociweb.comdownload.ociweb.com/TAO-1.3a/TAO1.3a_Dev_GuideINDEX.pdfBorland C++ 1030, 1049–1054 configuring source code 1051 setting up environment 1051 verify

o c i w e b . c o m 1139

I

ImplRepoServicePort environment variable 596ImR_Activator

command line options 1024indirect binding 1003, 1005interoperable object reference (IOR)

IMRified 1003, 1009LOCATION_FORWARD 1010–1012OBJECT_NOT_EXIST 1014ORBEndpoint option 1015ORBUseIMR option 1005, 1009, 1014PER_CLIENT 1010persistence 1018

memory map 1019object 1004, 1006PERSISTENT 1004, 1013registering portable object adapter (POA) 1007

server shutdown 1011starting 1015tao_imr utility 1005, 1009, 1011, 1014, 1019–1020TRANSIENT exception 1010USER_ID 1013working directory 1008

ImplRepoServiceIOR environment variable 1006IMRified interoperable object reference (IOR) 1009include_env build flag 19, 21, 122info() operation 559, 561init() operation 435–436, 553, 723–724inline build flag 19, 22, 54–56, 58, 71–72, 75–76, 85–86, 95, 99installation

ACE and TAO 1029system requirements 18See also building 18

instance() operation 299, 302, 544, 560interceptors

See portable interceptorsinterceptors build flag 28interface definition language (IDL) xxiv, xxxiv, xxxix–xl, 9, 33, 159

back-end options 106C++ mapping 4, 93, 112collocation strategy options 105compiler

See IDL compiler

Page 28: TAO Dev GuideIX - download.ociweb.comdownload.ociweb.com/TAO-1.3a/TAO1.3a_Dev_GuideINDEX.pdfBorland C++ 1030, 1049–1054 configuring source code 1051 setting up environment 1051 verify

1140 o c i w e b . c o m

I

compiler front end (CFE) xxxix–xldefinitions 169environment variables 98preprocessing options 96pseudo (PIDL) 27–28, 182, 186, 199, 244, 246–247, 267, 273, 315starter implementation files 100stubs and skeletons 9suppression options 108tao_idl program 33–34, 52, 58, 93–102, 105, 107–108, 171, 914

interface repository xxix, 27, 114, 911–913, 917, 923–924, 1038command line options 913compliance 1075, 1077example 916forward declaration 913IFR_Service class 913–914, 916, 923implementation 913InterfaceDef 912InterfaceRepoServicePort environment variable 914Repository object 912RepositoryId 247–248, 912–913tao_ifr program 913–915, 923

options 915interface_repo build flag 20, 27InterfaceRepoServicePort environment variable 914interfaces

CORBA::Current 166, 203, 234, 273, 317, 982, 985, 988CORBA::Current interface 317CORBA::DIIPollable 317–318CORBA::DIIPollable interface 318CORBA::DynamicAny 317CORBA::InterfaceDef 912CORBA::LocalObject class 268, 319, 323, 325CORBA::Policy 318CORBA::PolicyCurrent 166, 179, 239, 241, 317–318, 597CORBA::PolicyList 178–179, 181–183, 185, 187, 190, 201, 206, 208, 210–211,

215, 223–224, 233, 236, 240–242, 321, 420, 494, 979, 981, 1013CORBA::PolicyManager 178, 181, 185, 188, 223, 317–318CORBA::Pollable 317–318CORBA::PollableSet 317–318CORBA::PortableServer 317CosEventComm::PushConsumer 741

741

Page 29: TAO Dev GuideIX - download.ociweb.comdownload.ociweb.com/TAO-1.3a/TAO1.3a_Dev_GuideINDEX.pdfBorland C++ 1030, 1049–1054 configuring source code 1051 setting up environment 1051 verify

o c i w e b . c o m 1141

I

push() operation 741CosEventComm::PushSupplier 740CosNaming::NamingContextExt 720–721CosNotifyChannelAdmin::ConsumerAdmin 844, 851, 871, 877, 884, 893–894CosNotifyChannelAdmin::EventChannel 850, 853, 855, 864, 870, 885, 888, 893,

897CosNotifyChannelAdmin::ObtainInfoMode 880CosNotifyChannelAdmin::ProxyConsumer 848, 865, 880, 889CosNotifyChannelAdmin::ProxySupplier 848, 871–872, 880, 894CosNotifyChannelAdmin::SequenceProxyPushConsumer 845, 848, 863, 865–

867, 886, 889, 891, 895CosNotifyChannelAdmin::SequenceProxyPushSupplier 845, 860, 866, 871–872,

885, 894PortableInterceptor::IORInfo 268, 270PortableInterceptor::PICurrent 246, 273–276, 278PortableServer::ServantLocator 318–319, 321RTCORBA::NetworkPriorityMapping 225–227RTCORBA::RTORB 197RtecEventChannelAdmin::EventChannel 776–777, 800, 803, 807, 814RtecEventComm::PushConsumer 779, 781RtecEventComm::PushSupplier 777–778

InterFilterGroupOperator class 850, 865, 871, 889, 894Internet Engineering Task Force (IETF) 221internet inter-ORB protocol (IIOP) 327–336, 338–339, 342–346, 348, 689

client strategy factory 689endpoints 589

example 594IIOP_Factory class 332, 651IIOP_Lite_Factory class 651lite 330–331, 335, 651–652magic number 335options 334portspan option 334, 344, 589–590, 594

interoperable object reference (IOR) 586, 608, 616, 632, 673–674, 676, 688,708, 801, 1015

client strategy factory 688custom parsers 632directive 1009formats 600, 632interceptors 267, 278resource factory 632table 1015

Page 30: TAO Dev GuideIX - download.ociweb.comdownload.ociweb.com/TAO-1.3a/TAO1.3a_Dev_GuideINDEX.pdfBorland C++ 1030, 1049–1054 configuring source code 1051 setting up environment 1051 verify

1142 o c i w e b . c o m

J

inter-process communiation (IPC) xxxiv, 11, 212, 327, 330, 335, 337–338,473–474, 592, 608, 651–652

local 588interval timeouts

real-time event service (RTES) 797Introduction to CORBA course xxxivIntroduction to Real-Time Systems course xxxvinversion

priority xx, 4, 697invocation

asynchronous 215dynamic 12oneway 14, 150–151, 183–188, 203, 215, 292, 341–343, 345, 347–348, 478, 512,

527, 593reliable oneway 215static 12

IORSee interoperable object reference (IOR)

IORInfo interface 268, 270IORTable class 1014IPC_SAP class 473–474is_a() operation 317is_equivalent() operation 317, 416, 423is_nil() operation 484

J

JacORB xxii, xxxii, xxxivJava Reflection API 911jitter 4Johnson, Ralph 15, 352

K

Kerberos 934, 938, 947kernel and system configuration 1063

VxWorks 1055Klinker, Paul 328

Page 31: TAO Dev GuideIX - download.ociweb.comdownload.ociweb.com/TAO-1.3a/TAO1.3a_Dev_GuideINDEX.pdfBorland C++ 1030, 1049–1054 configuring source code 1051 setting up environment 1051 verify

o c i w e b . c o m 1143

L

L

latency 4LD_LIBRARY_PATH environment variable 32leader-follower

pattern 505strategy 523, 628, 646

least frequently used (LFU) strategy 625, 629, 640, 656least recently used (LRU) strategy 625, 629–630, 640, 656LFU

See least frequently used (LFU) strategylibraries xxvi

minimizing size 1037–1038TAO_PortableGroup 345TAO_Strategies 69, 331, 336, 339, 341–342, 433, 501, 639

licensing xxiii–xxiv, xxxvii, xxxix–xliiiFree Software Foundation’s GNU Public License (GPL) xxxvii, xxxixterms xxiii

life cycle service xxxiii, 703, 1039ORB service libraries 703

Linux xxxiii, 31, 86, 450, 965lite protocols 652load balancing service xxi, xxvii, 13, 294, 586, 688, 703, 1004, 1012, 1039

ORB service libraries 703local interfaces 280, 315–317, 319, 323, 325

_add_ref() operation 325_remove_ref() operation 325asynchronous method invocation (AMI) 316C++ mapping 316CORBA component model (CCM) 315CORBA::LocalObject class 316–317, 319dynamic invocation interface 316example 322local keyword 316object 315ORB mediation 316postinvoke() operation 318preinvoke() operation 318reference counting 325servant activation 318servant locator 318

Page 32: TAO Dev GuideIX - download.ociweb.comdownload.ociweb.com/TAO-1.3a/TAO1.3a_Dev_GuideINDEX.pdfBorland C++ 1030, 1049–1054 configuring source code 1051 setting up environment 1051 verify

1144 o c i w e b . c o m

M

unconstrained interface 316locality constrained 316–317, 319, 323, 325

example 322location codes 141LOCATION_FORWARD 142, 245, 688, 697, 1004, 1006, 1010–1012locking

lock() operation 204option

real-time event service (RTES) 820strategies 537

log service xxviii, 13ORB service libraries 703

logical AND groupsreal-time event service (RTES) 792

LRUSee least recently used (LRU) strategy

LynxOS iv, 532, 1030, 1063, 1065, 1067–1071, 1083cross compilation 1066

building libraries and executables 1068environment 1066

kernel and system configuration 1063native compilation 1063

building libraries and executables 1065environment 1065

using ACE and TAO 1063

M

magic number 335, 351, 651MAIN_THREAD_MODEL policy 489, 493–494, 496Makefile 87

corba_messaging 20, 27, 69flags 83, 85includes 87

MAKEFLAGS environment variable 83–84, 122, 786MakeProjectCreator (MPC) xlii, 18–19, 31, 44, 47, 68, 76

ACE base projects 68adding a new type 75base project files 48base workspace files 48

Page 33: TAO Dev GuideIX - download.ociweb.comdownload.ociweb.com/TAO-1.3a/TAO1.3a_Dev_GuideINDEX.pdfBorland C++ 1030, 1049–1054 configuring source code 1051 setting up environment 1051 verify

o c i w e b . c o m 1145

M

build typeem3 43, 63ghs 44gnuace 38, 43, 45, 52–53, 55–57, 63nmake xxvi, 19, 37, 41, 43, 45, 49, 57va4 44vc6 38, 43, 46–47, 49, 57, 63, 71vc7 43, 49, 57, 63vc71 38, 44, 57

command line 44custom types 64defaults 70documentation 72example 72feature file 67feature_file option 44, 68header files 71IDL files 72inline files 71input file syntax 49Make Project Creator (mpc) 31, 37, 40Make Workspace Creator (mwc) 38mpc.pl 42–45, 47, 81mwc.pl 38, 42, 44–48, 50, 81options

feature_file 44, 68noreldefs 45, 50notoplevel 45recurse 45, 50static_only 46template 45–47, 49, 53–54, 56, 58–60, 62, 66, 71, 73–76, 78ti 45–47value_project 45, 47value_template 46–47

ORB services base projects 70resource files 72source files 71supported build tools 43TAO base projects 69template 75

managing connectionsreal-time event service 782

Page 34: TAO Dev GuideIX - download.ociweb.comdownload.ociweb.com/TAO-1.3a/TAO1.3a_Dev_GuideINDEX.pdfBorland C++ 1030, 1049–1054 configuring source code 1051 setting up environment 1051 verify

1146 o c i w e b . c o m

M

mappingdirect 218IDL to C++ 4

MARSHAL exception 278, 316, 455, 572marshaling 9, 105, 142, 166, 262, 328–329, 350, 524, 568, 572–574, 626, 786match_prefix() operation 437–438, 633max_muxed_connections() operation 630maxPriority constant 202mcast option 581messaging 149–191, 328

activation-per-AMI-call strategy 166associating replies with requests 165asynchronous requests 186bi-directional general inter-ORB protocol (GIOP) 189BidirectionalPolicyValue 189BUFFER_MESSAGE_COUNT 186–187BUFFER_TIMEOUT 186–187buffered oneway request 186BufferingConstraint policy 186–188callback solution 151client-side policy management 178connection timeout 182

ConnectionTimeout policy 182controlling the delivery of AMI-based requests 176corba_messaging build flag 229create_policy() operation 177–178, 181, 183, 185, 188, 190creating a reply-handler class 159drawbacks to using AMI 152exception

ExceptionHolder class 152, 155–156, 158replies 158reply-handler functions 164

oneway requests 186policy

creating 177destroying 180management 177

quality of service (QoS) 180reply

handler 156–157, 159timeouts 180

request

Page 35: TAO Dev GuideIX - download.ociweb.comdownload.ociweb.com/TAO-1.3a/TAO1.3a_Dev_GuideINDEX.pdfBorland C++ 1030, 1049–1054 configuring source code 1051 setting up environment 1051 verify

o c i w e b . c o m 1147

M

delivery 176timeouts 180

secure 932sendc_ prefix 151, 153server-differentiated-reply strategy 166server-side policy management 179specification 193SYNC_NONE 187synchronous IDL operation 156SyncScope policy 176, 183–185, 187TAO.pidl 186

Microsoft Foundation Classes (MFC) 728, 1042minimizing size 25

libraries 1037–1038minimum_corba build flag 20, 25, 27–28, 67, 69, 190–191, 229, 244, 1038See also footprint

minor() operation 116minPriority constant 202MIOP

See multicast inter-ORB protocol (MIOP)MMAPFilePrefix option 340MMAPFileSize option 340MPC

See MakeProjectCreator (MPC)mpc.pl 42–45, 47, 81msg_wfmo reactor 660MTDispatching option 901, 909MTListenerEval option 909MTSourceEval option 909multicast 570, 579, 581, 596, 605, 707, 711, 731, 805, 812, 923, 1006, 1024, 1056

naming service 711, 714service discovery 581VxWorks 1056

multicast inter-ORB protocol (MIOP) xxi, xxvii, 330, 344–348multiplexing strategies 520–521multithreading 475

client thread 476collocation optimization 524concurrency models

wait-on-leader-follower 515wait-on-reactor 514wait-on-read 510

Page 36: TAO Dev GuideIX - download.ociweb.comdownload.ociweb.com/TAO-1.3a/TAO1.3a_Dev_GuideINDEX.pdfBorland C++ 1030, 1049–1054 configuring source code 1051 setting up environment 1051 verify

1148 o c i w e b . c o m

N

connect strategiesblocking 524leader-follower 523reactive 523

example 499, 504, 507exceptions

thread-related operations 484flushing strategy 522guideline 485, 495interleaving ORB events 526main thread model 492multiplexing strategies 521multithreaded select reactor 518ORB-controlled model 489POA threading model 493polling loop 485request invocation 477–478select reactor 518server thread 476shutting server down 526single thread model 491threading behavior options 517thread-pool reactor 519transport multiplexing strategies 520wait strategies 520

Mutex object 204named 228

mwc.pl 38, 42, 44–48, 50, 81

N

name() operation 256, 268NameServiceIOR environment variable 707, 715NameServicePort environment variable 605, 707, 713naming service 115, 560, 701–702, 705–721, 723–731, 733–734, 749, 815, 1039,1084

client source code 710command line options 730compliance 1080corbaloc object URL 715

Page 37: TAO Dev GuideIX - download.ociweb.comdownload.ociweb.com/TAO-1.3a/TAO1.3a_Dev_GuideINDEX.pdfBorland C++ 1030, 1049–1054 configuring source code 1051 setting up environment 1051 verify

o c i w e b . c o m 1149

N

corbaname object URL 717discriminating between multiple services 712environment variables

NameServiceIOR 707example 708

TAO_Naming classes 724multicast 711, 714NameServiceIOR environment variable 707, 715NamingContextExt interface 720–721NamingViewer utility 728nsadd utility 727nsdel utility 727–728nslist utility 727object URLs 715options

ORBDefaultInitRef 706ORBInitRef 706ORBMulticastDiscoveryEndpoint 707ORBNameServicePort 707

ORB service libraries 703resolve_initial_references() operation 706resolving 706root naming context 737TAO_Naming_Server 724, 726TAO-specific classes 723utilities 727

NamingViewer 728nsadd 727nsdel 727nslist 727

NamingContextExt interface 720–723NamingViewer utility 728National Science Foundation (NSF) 3native compilation

LynxOS 1063negating the logic of filters

real-time event service (RTES) 793nested upcalls 14, 512, 514–516nesting groups

real-time event service (RTES) 793NetworkPriorityMapping interface 225–227NetworkPriorityMappingManager class 226–228

Page 38: TAO Dev GuideIX - download.ociweb.comdownload.ociweb.com/TAO-1.3a/TAO1.3a_Dev_GuideINDEX.pdfBorland C++ 1030, 1049–1054 configuring source code 1051 setting up environment 1051 verify

1150 o c i w e b . c o m

N

new_for_consumers() operation 871, 893new_for_suppliers() operation 865, 889NMake 19, 37, 41, 43, 45, 49, 57

nmake build type xxvi, 19, 37, 41, 43, 45, 49, 57See also building xxvi

no operation (NOOP) strategy 630NO_IMPLEMENT exception 317, 986–987non_existent() operation 317NON_RETAIN policy 318, 321NOOP

See no operation (NOOP) strategynoreldefs option 45, 50NORMAL activation mode 1010notification service xxi, 843–845, 848–849, 851–852, 855, 857–860, 862–863,865, 882–883, 886, 897, 900, 902, 904, 906, 908–909, 1081

856adding subscriptions 877administration properties 855architecture 844collocated 896compatability with event service 897conflict resolution 857connecting

consumers 873suppliers 874

destroying the notification channel 875developing structured event supplier 887disconnecting

consumers 873suppliers 874

event consumer 893event filtering 848, 881, 883

consumer 883supplier 881

event supplier 861, 887example 859features 845implementing intefaces

sequence push consumer 891sequence push supplier 886structured push consumer 868structured push supplier 860

Page 39: TAO Dev GuideIX - download.ociweb.comdownload.ociweb.com/TAO-1.3a/TAO1.3a_Dev_GuideINDEX.pdfBorland C++ 1030, 1049–1054 configuring source code 1051 setting up environment 1051 verify

o c i w e b . c o m 1151

N

limitsMaxConsumers 855MaximumBatchSize 854MaximumEventsPerConsumer 854MaxQueueLength 855MaxSuppliers 855

lookupthreads 904managing connections 873negotiating quality of service (QoS) 857notification administration properties 855

MaxConsumers 855MaxQueueLength 855RejectNewEvents 855

notify managerresource factory options 899

Notify_Service server 860, 863, 896–898obtain_subscription_types() 851offer_change() 851offers and subscriptions 875, 879options

MTDispatching 901, 909MTListenerEval 909MTSourceEval 909

ORB service libraries 703PacingInterval property 854quality of service (QoS)

get_qos() 857properties 884

accessing and modifying 856DiscardPolicy 854

AnyOrder 854DeadlineOrder 854FifoOrder 854LifoOrder 854PriorityOrder 854

MaximumBatchSize 854MaximumEventsPerConsumer 854OrderPolicy 853

AnyOrder 853DeadlineOrder 853FifoOrder 853PiorityOrder 853

Page 40: TAO Dev GuideIX - download.ociweb.comdownload.ociweb.com/TAO-1.3a/TAO1.3a_Dev_GuideINDEX.pdfBorland C++ 1030, 1049–1054 configuring source code 1051 setting up environment 1051 verify

1152 o c i w e b . c o m

N

PacingInterval 854PriorityOrder 853setting in a structured event header 856StopTime 853Timeout 853

support 852quality of service (QoS) properties 852, 856, 884resuming consumer connections 874sequence push

consumer interface 891supplier interface 886

setting quality of service (QoS) 856structured event 846–847

consumer 870supplier 861type 846

structured pushconsumer 868

offer_change() 868push_structured_event() 868

supplier 860subscriptions 850, 875, 879

adding to consumer 877subscription_change() operation 851

suspendingconsumer connections 874supplier connections 874

transmitting an EventBatch 886unsupported quality of service (QoS) exceptions 857

Notify_Service server 860, 863, 896–898command line options 897–898starting 860

notoplevel option 45nsadd utility 727nsdel utility 727–728nslist utility 727null filters

real-time event service (RTES) 795

Page 41: TAO Dev GuideIX - download.ociweb.comdownload.ociweb.com/TAO-1.3a/TAO1.3a_Dev_GuideINDEX.pdfBorland C++ 1030, 1049–1054 configuring source code 1051 setting up environment 1051 verify

o c i w e b . c o m 1153

O

O

object adaptersee portable object adapter (POA)

object bindingdirect 1003indirect 1003

Object Computing, Inc. (OCI) i, xviii, xx–xxii, xxiv–xxv, xxxi–xxxiii, 3, 6,17–19object factories 538–539Object Management Group (OMG) specifications

C++ Language Mapping (formal/03-06-03) 1080C++ Language Mapping (formal/99-07-41) 12, 122, 279, 1079–1080CORBA 2.6 (formal/01-12-35) 12, 243, 279, 315, 328, 479, 706, 911, 1074CORBA 3.0 (formal/02-09-02) 149–150, 191CORBA 3.0 (formal/02-12-06) 601CORBA Components (formal/02-06-65) 315Event Service (formal/01-03-01) 735Naming Service (formal/02-09-02) 705, 1080Notification Service (formal/02-08-04) 858, 1081Real-Time CORBA (formal/02-08-02) 12, 1078Real-Time CORBA (ptc/99-06-02) 193Security Service (security/00-12-02) 927Unreliable Multicast Inter-ORB protocol (MIOP) (ptc/01-11-08) xxvii

object referenceSee interoperable object reference (IOR)

object URL 715corbaloc 706, 714–717, 721, 728corbaname 632, 634, 647, 717–720, 723, 727

object URLs 715–720OBJECT_NOT_EXIST exception 113, 320, 484, 1014–1015objects-by-value (OBV)

See value typesobservers

custom gateways 803real-time event service (RTES) 803

obtain_notification_push_consumer() operation 865, 867, 889obtain_notification_push_supplier() operation 871, 894obtain_offered_types() operation 852, 876, 879, 881obtain_subscription_types() operation 851, 879, 881ObtainInfoMode interface 880

Page 42: TAO Dev GuideIX - download.ociweb.comdownload.ociweb.com/TAO-1.3a/TAO1.3a_Dev_GuideINDEX.pdfBorland C++ 1030, 1049–1054 configuring source code 1051 setting up environment 1051 verify

1154 o c i w e b . c o m

O

OctetSeq 262–263, 266offer_change() operation 851, 868–869, 875–876, 880–881, 892OMG

See Object Management Group (OMG)oneway invocation 14, 150–151, 183–188, 203, 215, 292, 341–343, 345, 347–348,478, 512, 527, 593open source software xxiiiOpenSSL 330, 926, 946, 955, 958–960, 962–969, 988, 994, 996, 998operating systems

Linux xxxiii, 31, 86, 450, 965LynxOS 1063, 1065–1066, 1068QNX 335UNIX xx–xxi, 11, 18–19, 34, 38, 83, 94, 97, 109, 330, 335–339, 342, 345, 380,

542, 556, 563, 565, 576, 591, 606, 923, 965, 969VxWorks 576, 724Windows xxi, 18, 31–32, 34, 38, 53, 78, 83, 107, 109, 556, 728, 965, 967, 1018–

1019operations 437–438, 633

_add_ref() 283, 325_id() 114, 116–117, 119, 166, 275, 346, 741–742, 1015_refcount_value() 283_remove_ref() 283, 325_rep_id() 116–117, 119_set_policy_overrides() 179_tao_add_to_IOR_table() 1006_unchecked_narrow() 299–300, 302, 347_validate_connection() 209activate() 35, 239, 260, 411–412, 666, 709, 725–727, 873, 896, 999, 1015activate_object_with_id() 166, 346, 1015activate_object_with_id_and_priority() 201, 237activate_object_with_priority() 200–201, 237add_client_request_interceptor() 254add_constraints() 883add_filter() 883add_ior_component() 270add_ior_interceptor() 269–270add_server_request_interceptor() 259cache_maximum() 630codec_factory() 262, 266connect_push_consumer() 747connect_push_supplier() 739, 747, 802connect_sequence_push_consumer 894

Page 43: TAO Dev GuideIX - download.ociweb.comdownload.ociweb.com/TAO-1.3a/TAO1.3a_Dev_GuideINDEX.pdfBorland C++ 1030, 1049–1054 configuring source code 1051 setting up environment 1051 verify

o c i w e b . c o m 1155

O

connect_structured_push_consumer() 872connect_structured_push_supplier() 866connection_caching_strategy_type() 630create_cached_connection_lock() 630create_channel() 864, 897create_filter() 882create_ft_service_retention_id_lock() 688create_lf_strategy() 626create_mutex() 205create_POA() 179, 197, 200, 206create_policy() 177–178, 181, 183, 185, 188, 190, 978–979, 981create_priority_banded_connection_policy() 209create_proxy() 292, 296–297, 299–300, 302, 304–305, 309create_reference_with_id_and_priority() 201, 237create_reference_with_priority() 201, 237default_filter_factory() 882destroy() 36destroy_mutex() 205disconnect_push_consumer() 739–740, 779, 802disconnect_push_supplier() 739–740disconnect_sequence_push_consumer() 892disconnect_structured_push_consumer() 867–869disconnect_structured_push_supplier() 860–861, 873establish_components() 268fini() 435, 554–555get_client_policy() 317get_domain_managers() 317get_effective_component() 269, 271get_event_channel() 864, 870get_interface() 317get_policy() 317, 936get_policy_overrides() 317get_proxy() 297–298get_qos() 857get_slot() 273handle_events() 461, 514, 519handle_input() 358–359, 362, 370–371, 409, 412–413, 451, 462, 519handle_timeout() 528hash() 317id_to_referenceI() 357, 1014info() 559, 561init() 435–436, 553, 723–724

Page 44: TAO Dev GuideIX - download.ociweb.comdownload.ociweb.com/TAO-1.3a/TAO1.3a_Dev_GuideINDEX.pdfBorland C++ 1030, 1049–1054 configuring source code 1051 setting up environment 1051 verify

1156 o c i w e b . c o m

O

instance() 299, 302, 544, 560is_a() 317is_equivalent() 317, 416, 423is_nil() 484lock() 204match_prefix() 633max_muxed_connections() 630name() 256, 268new_for_consumers() 871, 893new_for_suppliers() 865, 889non_existent() 317obtain_notification_push_consumer() 865, 867, 889obtain_notification_push_supplier() 871, 894obtain_offered_types() 852, 876, 879, 881obtain_subscription_types() 851, 879, 881offer_change() 851, 868–869, 875–876, 880–881, 892ORB_init() 127–128, 144, 199, 248, 254, 332, 563–566, 571, 714, 745parse_string 633parse_string() 424, 427, 633perform_work() 164, 168, 481–486, 493, 496, 505, 512, 515, 526–527, 529post_init() 248, 253–254, 259, 269–270postinvoke() 318–320pre_init() 248, 254, 269preinvoke() 318–319process_directive() 547pthread_create() 509purge_percentage() 630push() 739, 775, 779–780, 782, 792push_structured_event() 866, 868–869, 873push_structured_events() 890, 892, 895rebind() 748receive_exception() 245receive_other() 245receive_reply() 245receive_request() 246receive_request_service_context() 246reclaim_reactor() 626reconfigure() 547, 561register_proxy_factory() 296–297release() 325, 484resolve() 738

Page 45: TAO Dev GuideIX - download.ociweb.comdownload.ociweb.com/TAO-1.3a/TAO1.3a_Dev_GuideINDEX.pdfBorland C++ 1030, 1049–1054 configuring source code 1051 setting up environment 1051 verify

o c i w e b . c o m 1157

O

resolve_initial_references() 220, 226, 275, 316, 355, 580, 597, 706–707, 715–716,723, 942, 946, 990

resume_connection() 874run() 35, 168, 354, 357, 487, 505, 725select() 351, 518–519, 660send_exception() 246send_other() 247send_poll() 245send_reply() 246send_request() 245set_policy_overrides() 179, 317, 935, 942, 946set_slot() operation 273shutdown() 483–484, 487, 527–529, 991–992, 997string_to_object() 275, 346–347, 360, 405, 583, 608, 632–633, 647, 706–707, 714–

718subscription_change() 851, 860–861, 872, 877–878, 880–881, 886–887, 895suspend_connection() 874svc() 412, 451, 724–725TaggedComponent() 271target_is_a() 257thread-related 481to_CORBA() 203, 216, 225, 227to_native() 203, 216to_network() 225, 227to_url() 721try_lock() 204unlock() 204–205unregister_proxy_factory() 296–297, 305use_locked_data_blocks() 628validate_connection() 317WaitForMultipleObjects() 351, 660work_pending() 164, 481, 483–485, 526–527

optimize build flag xx, 19, 22, 85options 1024

BUFFER_MESSAGE_COUNT 186–187BUFFER_TIMEOUT 186–187CECConsumerControl 754, 758–759CECConsumerControlPeriod 754, 759CECDispatching 749, 752, 756, 760–761CECDispatchingThreads 749, 752, 760–761CECProxyConsumerCollection 755, 762–763CECProxyConsumerLock 753, 764

Page 46: TAO Dev GuideIX - download.ociweb.comdownload.ociweb.com/TAO-1.3a/TAO1.3a_Dev_GuideINDEX.pdfBorland C++ 1030, 1049–1054 configuring source code 1051 setting up environment 1051 verify

1158 o c i w e b . c o m

O

CECProxySupplierCollection 755, 765–766CECProxySupplierLock 753, 767CECReactivePullingPeriod 757, 768CECSupplierControl 754, 769–770CECSupplierControlPeriod 754, 770CECUseORBId 757, 771DispatchingThreads 901ECDispatching 815, 818, 823, 826–827ECDispatchingThreads 818, 826–827ECFiltering 788, 794, 815, 819, 828ECObserver 803, 819, 829ECProxyConsumerLock 820, 830ECProxySupplierLock 820, 835ECScheduling 819, 828, 836ECSupplierFiltering 819, 839ECTimeout 818, 840ECUseORBId 819, 841MTDispatching 901, 909MTListenerEval 909MTSourceEval 909SSLAuthenticate 1001SSLCertificate 1000SSLNoProtection 1000SSLPrivateKey 1001

options 1000tp 660

ORB 539, 566, 664–665configuring real-time CORBA 230connection management 569controlling service configurator 567core 10, 14debugging 568endsystem 8initialization 738initialization options 563–620interface definition 564Java xxii, xxxii, xxxivmediation 316optimizing request processing 568options

ORBCDRTradeoff 568, 572ORBCollocation 525, 564, 568, 573

Page 47: TAO Dev GuideIX - download.ociweb.comdownload.ociweb.com/TAO-1.3a/TAO1.3a_Dev_GuideINDEX.pdfBorland C++ 1030, 1049–1054 configuring source code 1051 setting up environment 1051 verify

o c i w e b . c o m 1159

O

ORBCollocationStrategy 106, 108, 564, 569, 574–575ORBDaemon 543, 567, 576, 602ORBDebug 564, 566, 568, 577ORBDebugLevel 566, 568, 578, 611, 972ORBDefaultInitRef 564, 569, 579–582, 584–585, 597–598, 604, 706–707,

715, 717, 719, 1006ORBDottedDecimalAddresses 333, 569, 586–587ORBEndpoint 144, 333–334, 337–338, 340–342, 344, 346, 348, 353, 356, 376,

379, 388, 424, 436, 438–439, 564, 566, 569–570, 582, 584, 586–595,601, 713–716, 733, 1006, 1015

ORBId 564–566, 757, 819ORBInitRef 144, 275, 277, 424, 438, 564, 570, 579–582, 584, 597–600, 604–

605, 608, 620, 632, 647, 706, 713–715, 717, 720, 1006–1010, 1016–1018

ORBListenEndpoints 564, 586ORBNameServicePort 570, 603, 605, 707, 713ORBNodelay 569, 606ORBNoProprietaryActivation 564, 607ORBObjRefStyle 568, 570, 608–609ORBRcvSock 564, 569, 610ORBServerId 564, 611ORBSingleReadOptimization 613–614ORBSndSock 569, 615ORBStdProfileComponents 569, 616, 621ORBSvcConf 543, 567, 617, 750, 815, 974–975ORBSvcConfDirective 543, 567, 618ORBUseIMR 570, 620, 1005, 1007, 1009–1010, 1014, 1016–1018, 1022–1023ORBUseSharedProfile 621

protocol selection 569protocols 631reactor type 517real-time 199, 203, 225, 230request processing 488service libraries 586, 703

audio/video streaming 703concurrency control 703event 703life cycle 703load balancing 703log 703naming service 703notification service 703

Page 48: TAO Dev GuideIX - download.ociweb.comdownload.ociweb.com/TAO-1.3a/TAO1.3a_Dev_GuideINDEX.pdfBorland C++ 1030, 1049–1054 configuring source code 1051 setting up environment 1051 verify

1160 o c i w e b . c o m

O

object trading 703property 703real-time event service 703

scheduling 704real-time scheduling 704security 704time 704

shutdown 526–529thread-related operations 481wait_for_completion parameter 481, 483–484, 487, 527–528

ORB_CTRL_MODEL policy 489, 493–495orb_identifier 564–565ORB_init() operation 127–128, 144, 199, 248, 254, 264, 332, 354, 360, 432, 563–566, 571, 714, 745ORBActiveHintInIDs option 671, 673ORBActiveHintInPOANames option 670, 674ORBActiveObjectMapSize option 671, 675ORBAllowReactivationOfSystemIDs option 672–673, 676ORBCDRTradeoff option 568, 572ORBClientConnectionHandler option 373, 452, 500–501, 513–514, 516,520–521, 523–524, 691, 694, 696ORBCollocation option 525, 564, 568, 573ORBCollocationStrategy option 106, 108, 564, 569, 574–575ORBConcurrency option 499, 501, 503–504, 666, 677ORBConnectionCacheLock option 628, 631, 643, 657ORBConnectionCacheMax option 631, 644ORBConnectionCachePurgePercentage option 631, 645, 656ORBConnectionPurgingStrategy option 630, 640, 656ORBConnectorLock option 642–643ORBConnectStrategy option 513, 524, 693, 696, 973, 975, 978, 980ORBDaemon option 543, 567, 576, 602ORBDebug option 564, 566, 568, 577ORBDebugLevel option 566, 568, 578, 611, 972ORBDefaultInitRef option 564, 569, 579–582, 584–585, 597–598, 604, 706–707, 715, 717, 719, 1006ORBDottedDecimalAddresses option 333, 569, 586–587ORBEndpoint option 144, 333–334, 337–338, 340–342, 344, 346, 348, 353, 356,376, 379, 388, 424, 436, 438–439, 564, 566, 569–570, 582, 584, 586–595, 601, 713–716,733, 1006, 1015ORBFlushingStrategy option 513, 523, 628, 646

blocking strategy 646leader_follower strategy 646

Page 49: TAO Dev GuideIX - download.ociweb.comdownload.ociweb.com/TAO-1.3a/TAO1.3a_Dev_GuideINDEX.pdfBorland C++ 1030, 1049–1054 configuring source code 1051 setting up environment 1051 verify

o c i w e b . c o m 1161

O

reactive strategy 646ORBId option 564–566, 757, 819ORBImplRepoServicePort option 570, 596ORBInitializer class 248, 259, 269, 275ORBInitInfo class 248ORBInitRef option 564, 570, 579–582, 584, 597–600, 604–605, 608, 620ORBInputCDRAllocator option 501, 627–628, 640, 643, 657ORBIORParser option 635, 647ORBListenEndpoints option 564, 566, 570ORBLogFile option 568, 602ORBMulticastDiscoveryEndpoint option 570, 603ORBMuxedConnectionMax option 648ORBNameServicePort option 570, 603, 605, 707, 713ORBNativeCharCodeSetId option 636ORBNativeWCharCodeSetId option 636ORBNetworkPriorityMapping option 226, 230ORBNodelay option 569, 606–607, 613–614, 621ORBNoProprietaryActivation option 564, 570ORBObjRefStyle option 568, 570, 608–609ORBPersistentIDPolicyDemuxStrategy option 670, 678ORBPOALock option 501, 666, 679ORBPOALockType option 666ORBPOAMapSize option 670, 680ORBPolicyManager option 178, 181ORBPriorityMapping option 220, 230, 232ORBProfileLock option 501, 689, 697ORBProtocolFactory option 331–332, 336, 339, 341–342, 345, 353, 588, 632,651–652, 974–975, 977–978, 980

DIOP_Factory 651IIOP_Factory 651IIOP_Lite_Factory 651SHMIOP_Factory 651SSLIOP_Factory 651UIOP_Factory 651UIOP_Lite_Factory 651

ORBPurgePercentage option 631, 644–646ORBRcvSock option 564, 569, 610, 615ORBReactorMaskSignals option 646–647, 653ORBReactorThreadQueue option 658–659ORBReactorType option 500–501, 517–518, 520, 618, 640, 660–661ORBSchedPolicy option 231–232ORBScopePolicy option 231–232

Page 50: TAO Dev GuideIX - download.ociweb.comdownload.ociweb.com/TAO-1.3a/TAO1.3a_Dev_GuideINDEX.pdfBorland C++ 1030, 1049–1054 configuring source code 1051 setting up environment 1051 verify

1162 o c i w e b . c o m

P

ORBServerId option 564, 570, 611ORBServiceConfigLoggerKey option 543, 567, 612ORBSingleReadOptimization option 569ORBSndSock option 569, 615ORBStdProfileComponents option 569, 616, 621ORBSvcConf option 543, 567, 617, 750, 815, 974–975ORBSvcConfDirective option 543, 567, 618ORBSystemIDPolicyDemuxStrategy option 672, 681ORBSystemidPolicyDemuxStrategy option 672, 681ORBThreadFlags option 667, 682ORBThreadPerConnectionTimeout option 503–504, 667, 671, 673, 683ORBTradingServicePort option 570, 619ORBTransientIDPolicyDemuxStrategy option 671, 684ORBTransportMuxStrategy option 504, 513, 521, 690, 698ORBUniqueIDPolicyReverseDemuxStrategy option 672, 685ORBUseIMR option 570, 620, 1005, 1007, 1009–1010, 1014, 1016–1018, 1022–1023ORBUserIDPolicyDemuxStrategy option 672, 686ORBUseSharedProfile option 621ORBWCharCodeSetTranslator option 654OrderPolicy property 853

P

PacingInterval property 854parse_string() operation 424, 427, 633PATH environment variable 23–24, 1032–1033, 1043, 1051, 1060, 1065, 1068Pattern-Oriented Software Architecture:Patterns for Concurrentand Networked Objects (POSA2) book 15, 351, 505, 515, 519, 658patterns 15

abstract factory 15, 352acceptor 15, 351active object 15, 666adapter 15asynchronous completion token (ACT) 167bridge 15component configurator 351connector 15, 351, 454half-sync/half-async 15leader/follower 505

Page 51: TAO Dev GuideIX - download.ociweb.comdownload.ociweb.com/TAO-1.3a/TAO1.3a_Dev_GuideINDEX.pdfBorland C++ 1030, 1049–1054 configuring source code 1051 setting up environment 1051 verify

o c i w e b . c o m 1163

P

manager 352proxy 15reactor 15, 351service configurator 15, 351, 634, 737strategy 15, 352template method 352, 451, 454, 463, 473thread-specific storage (TSS) 15

perfect hashing 10, 105, 668See also gperf

perform_work() operation 164, 168, 481–486, 493, 496, 505, 512, 515, 526–527, 529per-hop-behavior (PHB) 221persistence

XML 1019persistent state service xxi, xxvii, 13PHB

See per-hop behavior (PHB)PICurrent interface 246, 273–276, 278platform support xxvi, xxix, 5platform_macros.GNU file 83, 85, 122platforms

supported xxxiipluggable protocols xx, xxvii, xxix, 5, 11, 143, 327–328, 330–331, 338, 346–351,363, 386, 474, 566, 581, 588, 599, 651, 664, 690, 1078–1081

acceptor 364, 366acceptor typedefs 368accept-strategy template 372address definition 332, 337, 340, 342, 344–345building 331client invocation 359combining protocols 348concurrency-strategy template 373, 396configuring SHMIOP factory 340connection

handler 365, 406request 358

connector 364, 388connector typedefs 390connect-strategy template 396constructor 416creation-strategy template 372, 395declaring 332, 336

Page 52: TAO Dev GuideIX - download.ociweb.comdownload.ociweb.com/TAO-1.3a/TAO1.3a_Dev_GuideINDEX.pdfBorland C++ 1030, 1049–1054 configuring source code 1051 setting up environment 1051 verify

1164 o c i w e b . c o m

P

developing 349dynamic loading 433endpoint 365, 415example 353, 359framework 362guidelines 337identifier tags 351loading 331, 339, 341, 343, 345member functions 374, 397, 409, 421, 435, 446pluggable-acceptor

close() operation 380constructor 374create_profile() operation 381destructor 375endpoint_count() operation 385is_collocated() operation 384object_key() operation 385open() operation 376open_default() operation 379

pluggable-connectcheck_prefix() operation 404

pluggable-connection-handleractivate() operation 411add_transport_to_cache() operation 414constructor 409handle_close() operation 412handle_input() operation 413open() operation 410resume_handler() operation 414svc() operation 412

pluggable-connectorclose() operation 399connect() operation 400constructor 397create_profile() operation 402destructor 398make_profile() operation 405object_key_delimiter() operation 405open() operation 398

pluggable-endpointaddr_to_string() operation 417duplicate() operation 418

Page 53: TAO Dev GuideIX - download.ociweb.comdownload.ociweb.com/TAO-1.3a/TAO1.3a_Dev_GuideINDEX.pdfBorland C++ 1030, 1049–1054 configuring source code 1051 setting up environment 1051 verify

o c i w e b . c o m 1165

P

hash() operation 418is_equivalent() operation 416next() operation 417reset_hint() operation 417

pluggable-profileconstructor 421decode() operation 422encode() operation 422hash() operation 423is_equivalent() operation 423object_key_delimiter() operation 424to_string() operation 427

pluggable-protocol-factoryConstructor 435init() operation 436make_connector() operation 437match_prefix() operation 437options_delimiter() operation 438prefix() operation 438requires_explicit_endpoint() operation 439

pluggable-transportclose_connection() operation 447Constructor 446event_handler_i() operation 453handle_input_i() operation 451messaging_init() operation 453messaging_object() operation 453recv_i() operation 451register_handler_i() operation 452send_i() operation 447send_message() operation 449send_message_shared() operation 450send_request() operation 448

profile 365, 418protocol factory 428protocol-specific

parse_options() operation 387requirements 350restrictions 342, 347strategy acceptor template 370strategy connector template 392TAO_Acceptor 364, 366

Page 54: TAO Dev GuideIX - download.ociweb.comdownload.ociweb.com/TAO-1.3a/TAO1.3a_Dev_GuideINDEX.pdfBorland C++ 1030, 1049–1054 configuring source code 1051 setting up environment 1051 verify

1166 o c i w e b . c o m

P

TAO_Connector class 364TAO_Endpoint class 365transport 329, 439, 454transport behavior 350using ACE_wrappers 473

POASee portable object adapter (POA)

policiesBidirectionalPolicyValue 189BufferingConstraint 186–188ConnectionTimeout 182DiscardPolicy 854MAIN_THREAD_MODEL 489, 493–494, 496NON_RETAIN 318, 321object-id assignment 1013ORB_CTRL_MODEL 489, 493–495ORBSchedPolicy 231–232ORBScopePolicy 231–232PERSISTENT 1004, 1013PriorityModelPolicy 209PrivateConnectionPolicy 211PROCESS 231RequestProcessingPolicy 321RETAIN 21, 318, 419SCHED_FIFO 231SCHED_OTHER 231SCHED_RR 231scope_policy 231ServantRetentionPolicy 318, 321SERVER_DECLARED 235SINGLE_THREAD_MODEL 489, 494–495SyncScope 176, 183–185, 187SYSTEM 231ThreadPolicy 489, 493–494, 496USE_SERVANT_MANAGER policy 321USER_ID 1013

Policy interface 318PolicyCurrent interface 166, 179, 239, 241, 317, 597PolicyList interface 178–179, 181–183, 185, 187, 190, 201, 206, 208, 210–211,215, 224, 233, 236, 240–241, 420, 494, 979, 981PolicyManager interface 178, 181, 185, 188, 223, 317Pollable interface 317

Page 55: TAO Dev GuideIX - download.ociweb.comdownload.ociweb.com/TAO-1.3a/TAO1.3a_Dev_GuideINDEX.pdfBorland C++ 1030, 1049–1054 configuring source code 1051 setting up environment 1051 verify

o c i w e b . c o m 1167

P

PollableSet interface 317–318portability 15portable interceptors xxix, 5, 20, 28, 243–244, 273, 278

client interceptors 244–245, 250–251, 263ClientInitializer class 253ClientInterceptor class 250ClientRequestInfo interface 247

get_effective_component() 269codec (coder/decoder) 262codec_factory() operation 262, 266CodecFactory reference 262–263coders 278context_data field 252context_id field 252decoders 278decoding the tag 271destroy() operation 268example 249, 269

client-side recursion 274simple authentication interceptor 249using the codec 262

extracting tagged information 269get_slot() operation 273installing the interceptor 253, 259interceptors build flag 575, 933, 936IOR interceptors 267–270, 278marshaling 262name() operation 256, 268PortableInterceptor.pidl 246–247, 267PortableInterceptor::Current interface 273PortableInterceptor::IORInfo interface 268PortableInterceptor::PICurrent interface 246, 273–276, 278PortableServer module 260post_init() operation 248pre_init() operation 248receive_exception() operation 245receive_other() operation 245receive_reply() operation 245receive_request() operation 246receive_request_service_context() operation 246registering interceptors 248

IOR 269

Page 56: TAO Dev GuideIX - download.ociweb.comdownload.ociweb.com/TAO-1.3a/TAO1.3a_Dev_GuideINDEX.pdfBorland C++ 1030, 1049–1054 configuring source code 1051 setting up environment 1051 verify

1168 o c i w e b . c o m

P

request interceptors 244request parameters 247send_exception() operation 246send_other() operation 247send_poll() operation 245send_reply() operation 246send_request() operation 245server interception points 246server request interceptors 246, 255–256, 266server-side interceptor 255service context 261set_slot() operation 273tagged components 267TAO_Local_RefCounted_Object 268target_is_a() operation 257

portable object adapter (POA) xixactive object map 166, 318, 668, 671, 675, 685manager 574, 664, 745, 781, 800map 668map options 670persistence 1007policy

MULITPLE_ID 685PERSISTENT 678, 680SYSTEM_ID 675TRANSIENT 680UNIQUE_ID 685USER_ID 673, 675

portable priorities 195PortableServer module 289, 346–347

interfaces 317PortableServer::ServantActivator interface 318PortableServer::ServantLocator interface 318–319, 321

portspan option 334, 344, 589–590, 594POSA2

See Pattern-Oriented Software Architecture:Patterns for Concurrent and Net-worked Objects (POSA2) book

post_init() operation 248, 253–254, 259, 269–270postinvoke() operation 318–320pre_init() operation 248, 254, 269prefix filter builder

real-time event service (RTES) 788

Page 57: TAO Dev GuideIX - download.ociweb.comdownload.ociweb.com/TAO-1.3a/TAO1.3a_Dev_GuideINDEX.pdfBorland C++ 1030, 1049–1054 configuring source code 1051 setting up environment 1051 verify

o c i w e b . c o m 1169

P

preinvoke() operation 318–319priority

end-to-end 14, 195, 208inversion 4model 235, 237

client propogated 234server declared 237

timersreal-time event service (RTES) 775

priority mapping 215, 219continuous 216–217custom network 227direct 217linear 218maxPriority 202minPriority 202network 221–223, 225–227NetworkPriorityMapping 225–227NetworkPriorityMappingManager 226–228ORBPriorityMapping 220, 230, 232ORBPriorityRange 199PriorityMapping 202, 204, 220PriorityMappingManager 220

priority propagation 208–209end-to-end 14, 195, 208

priority-banded connections 209PriorityBands 209–210PriorityMapping 202, 204, 220PriorityMappingManager 220PriorityModelPolicy 209PrivateConnectionPolicy 211probe build flag 20, 25process_directive() operation 547profile build flag 25profile locking 688properties

OrderPolicy 853PacingInterval 854Priority 853RejectNewEvents 855Timeout 853

property service 13, 1039

Page 58: TAO Dev GuideIX - download.ociweb.comdownload.ociweb.com/TAO-1.3a/TAO1.3a_Dev_GuideINDEX.pdfBorland C++ 1030, 1049–1054 configuring source code 1051 setting up environment 1051 verify

1170 o c i w e b . c o m

P

ORB service libraries 703protocols 592

corbaloc rir 716CSI ECMA 934, 938datagram inter-ORB protocol (DIOP) 11, 330, 341–343, 436, 439, 453, 588, 593,

651DCE Common Inter-ORP protocol (DCE-CIOP) 933, 937environment specific inter-ORB protocol (ESIOP) 327–328factories 365, 631, 652general inter-ORB protocol (GIOP) 284, 327–329, 332, 335, 338, 343–344, 592

lite 329generic security service (GSS) 938internet inter-ORB protocol (IIOP) 327–336, 338–339, 342–346, 348

lite 330–331, 335, 651–652options 334

lite 652magic number 335multicast inter-ORB protocol (MIOP) xxi, xxvii, 330, 344–348pluggable xxvii, 5, 11properties 195, 211

ProtocolProperties 211provided with TAO 330resolve initial reference 580secure inter-ORB protocol (SECIOP) 933–934, 937–938, 987secure socket layer inter-ORB protocol (SSLIOP) 343–344, 589, 592–593, 944–

946, 952, 965–968, 972–975, 977–978, 980, 982, 988–995, 997, 999–1001secure sockets layer (SSL) 11, 330, 343, 592, 927, 938, 946shared memory inter-ORB protocol (SHMIOP) 11, 330, 338–341, 348, 351, 363–

365, 379, 424, 436, 439, 580, 588, 591–592, 594–595, 598–600, 626, 651,691, 715, 721

transmission control protocol/internet protocol (TCP/IP) 8, 212, 327–329, 332,338, 350, 586, 599, 631, 651, 814, 951

UNIX inter-ORB protocol (UIOP) 11, 212–214, 330, 335–338, 363, 368, 374–375,377–388, 390–391, 398–402, 404–405, 408–414, 416–418, 424–425, 427,429–430, 432, 436–439, 446–448, 580, 588, 592, 594–595, 598–600, 626,651–652

unreliable IP multicast protocol (UIPMC) xxvii, 330–331, 344–346, 348user datagram protocol (UDP) 329–330, 341, 343–344, 350, 593, 651, 805, 808–

809, 811–813proxy collection options

CECProxyConsumerCollection 755, 762–763CECProxySupplierCollection 755, 765–766

Page 59: TAO Dev GuideIX - download.ociweb.comdownload.ociweb.com/TAO-1.3a/TAO1.3a_Dev_GuideINDEX.pdfBorland C++ 1030, 1049–1054 configuring source code 1051 setting up environment 1051 verify

o c i w e b . c o m 1171

Q

ECProxyPushConsumerCollection 822ECProxyPushSupplierCollection 822real-time event service (RTES) 821

proxy factory adapter 296proxy pattern 15ProxyConsumer interface 848, 865, 880, 889ProxySupplier interface 848, 871–872, 880, 894pseudo-IDL (PIDL) 27–28, 182, 186, 199, 244, 246–247, 267, 273, 315pthread_create() operation 509public-key cryptography 948publish and subscribe paradigm 736

consumers 736suppliers 736

pull model support 736, 747Pure CORBA book 279purge_percentage() operation 630purify build flag 20, 23, 85push consumer interface

real-time event service 779push() operation 739, 775, 779–780, 782, 792push_structured_event() operation 866, 868–869, 873push_structured_events() operation 890, 892, 895PushConsumer interface 779, 781

disconnect_push_consumer() operation 741, 779push() operation 779

PushSupplier interface 740, 777–778

Q

QNX operating system 335QoP

See quality of protection (QoP)Qt GUI toolkit 624, 636, 640qt_reactor build flag 20, 26quality of protection (QoP) policy 976quality of service (QoS) xxi, 149, 176–178, 186, 188, 194–197, 735, 778, 781–783, 788–799, 803, 844–848, 852–853, 855–858, 864–865, 871, 884–885

asynchronous requests 186buffered oneway 186connection timeouts 182

Page 60: TAO Dev GuideIX - download.ociweb.comdownload.ociweb.com/TAO-1.3a/TAO1.3a_Dev_GuideINDEX.pdfBorland C++ 1030, 1049–1054 configuring source code 1051 setting up environment 1051 verify

1172 o c i w e b . c o m

R

object reference level 179oneway 185ORB level 178ORBPolicyManager 178, 181policies 176policy framework 197properties

notification service 884RELATIVE_RT_TIMEOUT_POLICY_TYPE 180reliable oneway calls 183request and reply timeouts 180support 852

notification service 852SyncScope 183, 185

SYNC_NONE 183SYNC_WITH_SERVER 184SYNC_WITH_TARGET 184SYNC_WITH_TRANSPORT 184

thread level 179time independent invocation (TII) 149

quantify build flag 20, 23–24, 85, 929Quorum 3

R

Rational Software 23reactive

concurrency model 374, 397, 497–499, 501, 506strategy 646

reactors 15, 517–520ACE_QtReactor class 636ACE_Reactor class 366–368, 376–377, 379, 412–413, 544, 553, 625–626ACE_XtReactor class 637–638management 625msg_wfmo option 660qt_reactor build flag 20, 26reclaim_reactor() operation 626select_mt option 519–520, 640, 660select_st option 500–501, 518, 626, 640, 660thread pool 207

Page 61: TAO Dev GuideIX - download.ociweb.comdownload.ociweb.com/TAO-1.3a/TAO1.3a_Dev_GuideINDEX.pdfBorland C++ 1030, 1049–1054 configuring source code 1051 setting up environment 1051 verify

o c i w e b . c o m 1173

R

tk_reactor build flag 20, 26tk_reactor option 640, 660wfmo option 526, 640, 660xt_reactor build flag 20, 25

real-time CORBA xxv, 10, 14, 69, 73, 144–145, 193–215, 219–242, 348, 416, 497,503, 507, 1078

architecture 196–197asynchronous invocations 215communication resources 195configuring 230

ORB 230corba_messaging build flag 229create_mutex() operation 205create_POA() operation 206create_priority_banded_connection_policy () operation 209create_reference_with_id_and_priority() operation 201, 237create_reference_with_priority() operation 201, 237destroy_mutex() operation 205differentiated services (diffserv) 221

codepoints (DSCP) 221diffserv field (DF) 221

dynamic threads 205enabling support in TAO 229end-to-end priority propagation 195, 208example 199, 236, 239explicit binding 195, 209extensions 13, 197features 215general inter-ORB protocol (GIOP) 211–212implementation 215lock() operation 204maxPriority 202minimum_corba build flag 229minPriority 202modules 198Mutex object 197, 204named mutexes 228NetworkPriorityMapping 225–227NetworkPriorityMappingManager 226–228object binding 209operating system 201operating system (RTOS) 201

Page 62: TAO Dev GuideIX - download.ociweb.comdownload.ociweb.com/TAO-1.3a/TAO1.3a_Dev_GuideINDEX.pdfBorland C++ 1030, 1049–1054 configuring source code 1051 setting up environment 1051 verify

1174 o c i w e b . c o m

R

ORB 199, 203, 225, 230configuration 230

ORBNetworkPriorityMapping 226, 230ORBPriorityMapping 220, 230ORBPriorityRange 199ORBSchedPolicy 231ORBScopePolicy 231overview 194policies 196

ORBSchedPolicy 231–232ORBScopePolicy 231–232PolicyList 206

portable object adapter (POA) 197, 200portable priorities 195priority mapping 197, 201, 215, 217, 219

continuous 215–217, 230direct 215, 217, 230–231linear 215, 218, 230maxPriority 202minPriority 202network 221–223, 225–227NetworkPriorityMapping 225–227NetworkPriorityMappingManager 226–228ORBPriorityMapping 220, 230, 232ORBPriorityRange 199PriorityMapping 202, 204, 220PriorityMappingManager 220

priority methods 201priority models 235, 237

client propogated 232, 234server declared 235, 237

priority propagation 208–209priority-banded connections 209PriorityBands 209–210PriorityMapping 202, 204, 220PriorityMappingManager 220PriorityModelPolicy 209private connections 211PrivateConnectionPolicy 211PROCESS policy 231processor resources 195protocol

Page 63: TAO Dev GuideIX - download.ociweb.comdownload.ociweb.com/TAO-1.3a/TAO1.3a_Dev_GuideINDEX.pdfBorland C++ 1030, 1049–1054 configuring source code 1051 setting up environment 1051 verify

o c i w e b . c o m 1175

R

priorities 195properties 195, 211

ProtocolProperties 211quality of service (QoS) 194

policy framework 197reliable oneway invocation 215request buffering 195resources 195rt_corba build flag 229RT_ORB_Loader 230, 232RTCORBA 198, 416, 497, 503, 507RTCORBA.pidl 199RTCORBA::Current interface 166, 197, 203RTCORBA::RTORB interface 197RTPortableServer extension 10, 69, 197–201, 229, 237RTPortableServer.pidl 199SCHED_FIFO policy 231SCHED_OTHER policy 231SCHED_RR policy 231scheduling service 220scope_policy 231SERVER_DECLARED policy 235server-declared priority model 235ServiceContexts 209shared memory inter-ORB protocol (SHMIOP) 212standard synchronizers 195static threads 205support 229SYSTEM policy 231TAO_HAS_CORBA_MESSAGING macro 229TAO_HAS_MINIMUM_CORBA macro 229TAO_HAS_RT_CORBA macro 27, 229TAO_Local_RefCounted_Object class 220, 226TCPProtocolProperties 212, 221the_priority attribute 204thread lanes 205thread pools 195, 205, 207threadpool reactor 207ThreadpoolId 197, 206ThreadpoolLanes 207ThreadpoolPolicy 206timeouts 215

Page 64: TAO Dev GuideIX - download.ociweb.comdownload.ociweb.com/TAO-1.3a/TAO1.3a_Dev_GuideINDEX.pdfBorland C++ 1030, 1049–1054 configuring source code 1051 setting up environment 1051 verify

1176 o c i w e b . c o m

R

to_CORBA () operation 203, 216, 225to_native () operation 203, 216to_network () operation 225transmission control protocol/internet protocol (TCP/IP) 212try_lock() operation 204UNIX inter-ORB protocol (UIOP) 212unlock() operation 205

real-time event service (RTES) xx, xxix, xxxiv, 13, 735, 773–780, 784, 787,793, 796–797, 805–841, 1040

architecture 774attributes 801

consumer_poa 801consumer_reconnect 801disconnect_callbacks 802scheduler 802supplier_poa 801supplier_reconnect 802

bit-mask filters 790connecting 778, 780, 782constructing filters 787consumer proxy 774–775, 779–780, 782, 874CORBA gateway 806deadline timeouts 797disconnecting 782dispatching model 775event

correlation 775, 792data 786dispatching 775, 817–818filtering 775header 785, 806structure 784type 778, 781, 797

event channeldispatching strategy 752resource factory 815

options 823ECConsumerControl 821, 824ECConsumerControlPeriod 821, 825ECObserver 829ECSupplierControl 821ECSupplierControlPeriod 821

Page 65: TAO Dev GuideIX - download.ociweb.comdownload.ociweb.com/TAO-1.3a/TAO1.3a_Dev_GuideINDEX.pdfBorland C++ 1030, 1049–1054 configuring source code 1051 setting up environment 1051 verify

o c i w e b . c o m 1177

R

servants 799event structure 784

customizing 786options

TAO_LACKS_EVENT_CHANNEL_ANY 786TAO_LACKS_EVENT_CHANNEL_OCTET_SEQUENCE 786TAO_LACKS_EVENT_CHANNEL_TIMESTAMPS 786

Event_Servicecommand line options 814

EventData 786EventHeader 785EventType special values

ACE_ES_EVENT_ANY 785ACE_ES_EVENT_DEADLINE_TIMEOUT 785ACE_ES_EVENT_INTERVAL_TIMEOUT 785ACE_ES_EVENT_SHUTDOWN 785ACE_ES_EVENT_UNDEFINED 785

example 776local event channel 800

feature control 818locking options

ECProxyConsumerLock 820ECProxySupplierLock 820

optionsECFiltering 819ECObserver 819ECProxySupplierLock 819ECScheduling 819ECSupplierFiltering 819

federating event channels 804, 813IP multicast 812UDP 808

filteringand correlation 787building 788combinations 790complex filters 787conjunction groups 791construction 795custom filters 795disjunction groups 791event type 789

Page 66: TAO Dev GuideIX - download.ociweb.comdownload.ociweb.com/TAO-1.3a/TAO1.3a_Dev_GuideINDEX.pdfBorland C++ 1030, 1049–1054 configuring source code 1051 setting up environment 1051 verify

1178 o c i w e b . c o m

R

logical AND groups 792negating the logic of filters 793nesting groups 793null filters 795rejection filters using bit masks 794source ID 789

interval timeouts 797locking options 820managing connections 782observers 803old 703operations

resume_connection() 784suspend_connection() 784

ORB service libraries 703prefix filter builder 788priority timers 775proxy collection options 821push consumer interface 779reconnecting

consumers 783suppliers 783

rejection filters 794resource factory

consumer and supplier control options 820resuming consumers connections 783scheduling

ORB service libraries 704specifying and constructing filters 787subscription and filtering 775supplier proxies 775, 782suspending consumers connections 783timeout 797

events 775, 818real-time scheduling service

ORB service libraries 704rebind() operation 748receive_exception() operation 245receive_other() operation 245receive_reply() operation 245receive_request() operation 246receive_request_service_context() operation 246

Page 67: TAO Dev GuideIX - download.ociweb.comdownload.ociweb.com/TAO-1.3a/TAO1.3a_Dev_GuideINDEX.pdfBorland C++ 1030, 1049–1054 configuring source code 1051 setting up environment 1051 verify

o c i w e b . c o m 1179

R

reclaim_reactor() operation 626reconfigure() operation 547, 561record protocol 953recurse option 45, 50, 727red-black tree 755reference counting 325register_proxy_factory() operation 296–297registering interceptors 248

IOR 269regular value types 289rejection filters using bit masks 794RejectNewEvents property 855relationship between ACE and TAO 15RELATIVE_RT_TIMEOUT_POLICY_TYPE interface 178, 180–181release() operation 325, 484reliable oneway invocation 183, 215

SyncScope policy 183remove directive 547, 551reply handler 156–157, 159

exception 164non-exception 161operations 156

repo build flag 20, 22, 67, 85–87Repository 1003RepositoryId 247–248, 912–913request

buffering 195demultiplexing

active 10, 15interceptors 244invocation 477–478

request invocation 477–480request processing 488–496RequestProcessingPolicy policy 321resolve() operation 738resolve_initial_references() operation 220, 226, 262, 275, 316, 355, 580,597, 706–707, 715–716, 723, 942, 946, 990resolve_str() operation 721resource factory 331, 339, 432–433, 501, 522, 541, 623–632, 635–643, 649–650,652, 654–655, 657–661, 750, 752, 815–816, 899

ACE_Data_Blocks 627

Page 68: TAO Dev GuideIX - download.ociweb.comdownload.ociweb.com/TAO-1.3a/TAO1.3a_Dev_GuideINDEX.pdfBorland C++ 1030, 1049–1054 configuring source code 1051 setting up environment 1051 verify

1180 o c i w e b . c o m

R

ACE_Message_Blocks 627ACE_QtReactor 636ACE_Reactor 626advanced resource factory options 639, 655Advanced_Resource_Factory class 336, 339, 341–342, 501, 518, 520, 639, 656–

657, 659, 661byte-order flag 335, 651caching strategies 629

cache_maximum() operation 630first in first out 629least frequently used 629least recently used 629max_muxed_connections() operation 630no operation 630

CDR conversion allocators 626Client_Strategy_Factory class 501, 513–514, 516, 521, 524, 541, 687, 694, 696–

698CodeSetId 635common data representation (CDR) 626connection cache management strategies 629connection_caching_strategy_type() operation 630create_cached_connection_lock() operation 630create_lf_strategy() operation 626custom factory 651custom IOR parsers 632default 624event channel 749–757, 800, 815–822general inter-ORB protocol (GIOP) 626, 651input_cdr_allocator_type_locked() operation 627input_cdr_buffer_allocator() operation 627input_cdr_dblock_allocator() operation 627input_cdr_msgblock_allocator() operation 627interface definition 624internet inter-ORB protocol (IIOP) 626lite protocols 652magic number 335, 651match_prefix() 633message flushing strategies 628message flushing strategy 628options 641

notify manager 899ORBConnectionCacheLock 628, 631, 643, 657

Page 69: TAO Dev GuideIX - download.ociweb.comdownload.ociweb.com/TAO-1.3a/TAO1.3a_Dev_GuideINDEX.pdfBorland C++ 1030, 1049–1054 configuring source code 1051 setting up environment 1051 verify

o c i w e b . c o m 1181

R

ORBConnectionCacheMax 631, 644ORBConnectionCachePurgePercentage 631, 645, 656ORBConnectionPurgingStrategy 630, 640, 656ORBFlushingStrategy 513, 523, 628, 646ORBInputCDRAllocator 501, 627–628, 640, 643, 657ORBIORParser 635, 647ORBMuxedConnectionMax 631, 648ORBNativeCharCodeSetId 636ORBNativeWCharCodeSetId 636ORBPriorityMapping 220, 230, 232ORBProtocolFactory 331–332, 336, 339, 341–342, 345, 353, 588, 632, 651–

652, 974–975, 977–978, 980ORBPurgePercentage 631ORBReactorMaskSignals 653ORBReactorThreadQueue 658–659ORBReactorType 500–501, 517–518, 520, 618, 640, 660–661

fl 660msg_wfmo 660select_mt 660select_st 660tk_reactor 660tp 660wfmo 660

ORBSchedPolicy 231–232parse_string() 633protocol factory 631, 652purge_percentage() operation 630Qt GUI toolkit 624, 636, 640reactor management 625reclaim_reactor() option 626Resource_Factory class 624, 635–636, 638, 642–650, 652–654select_st option 626svc.conf file 635TAO_CONNECTION_CACHE_MAXIMUM macro 644TAO_Connection_Purging_Strategy object 630TAO_Flushing_Strategy class 628TAO_IOR_Parser class 632TAO_LF_Strategy class 626TAO_QtResource_Factory class 636TAO_Resource_Factory class 624–625TAO_Strategies library 639TAO_Transport_Cache_Manager class 630

Page 70: TAO Dev GuideIX - download.ociweb.comdownload.ociweb.com/TAO-1.3a/TAO1.3a_Dev_GuideINDEX.pdfBorland C++ 1030, 1049–1054 configuring source code 1051 setting up environment 1051 verify

1182 o c i w e b . c o m

S

TAO_XT_Resource_Factory class 638UNIX inter-ORB protocol (UIOP) 626, 652use_locked_data_blocks() operation 628WaitForMultipleObjects() operation 660X windows toolkit 636–637Xt 624, 640XtAppContext 638

Resource_Factory class 624, 635–636, 638, 642–650, 652–654resume directive 548resume_connection() operation 874RETAIN policy 21, 318, 419Rohnert, Hans 15, 351, 505, 515, 519root naming context 737RT CORBA

See real-time CORBArt_corba build flag 20, 27, 229RT_ORB_Loader 220, 226, 230, 232RTCORBA module xxv, 10, 14, 69, 73, 144–145, 193–215, 219–242, 348, 416,497, 503, 507RTPortableServer extension 10, 69, 197–201, 229, 237rtti build flag 19, 22, 85Ruh, William 328

S

SCHED_FIFO policy 205, 231–232SCHED_OTHER policy 231SCHED_RR policy 205, 231scheduling service xx, 197, 220, 775–776, 779, 803, 815, 819, 828, 836, 1040Schmidt, Douglas C. xxii, xxxvii–xxxix, 3, 6, 15, 167, 197, 244, 351–352, 473,476, 498, 505, 510, 515, 519scope_policy policy 231SECIOP

See secure inter-ORB protocol (SECIOP)secret-key cryptography 947secure inter-ORB protocol (SECIOP) 933–934, 937–938, 987, 1082

interoperability 933–934, 937–938, 987secure socket layer inter-ORB protocol (SSLIOP) 343–344, 944–946,952, 965–968, 972–975, 977–978, 980, 982, 988–995, 997, 999–1001

endpoints 592

Page 71: TAO Dev GuideIX - download.ociweb.comdownload.ociweb.com/TAO-1.3a/TAO1.3a_Dev_GuideINDEX.pdfBorland C++ 1030, 1049–1054 configuring source code 1051 setting up environment 1051 verify

o c i w e b . c o m 1183

S

factory 343options 1000SecurityLevel1 module 982SSLAuthenticate option 1001SSLCertificate option 1000SSLIOP::Current interface 988SSLIOP_Factory 651SSLNoProtection option 1000SSLPrivateKey option 1000–1001

secure sockets layer (SSL) protocol 11, 330, 343, 592, 927, 938, 946–957architecture 951example 956SSLAuthenticate option 1001SSLCertificate option 1000

security 925, 927access identity 929administration 932alert protocol 956application

control 931enforcement 932

architecture 938, 940, 944asymmetric encryption 948audit identity 929auditing 931binding 950

client and target 943building 965

security-aware applications 968UNIX variants 966windows 967

certificate 949, 958authority 950, 959commands summary 964issuing 962multiple authorities 970request 960, 962

change cipher specification protocol 955ciphertext 947common secure interoperability (CSI) packages 933–934, 937–938context information 943controlling

Page 72: TAO Dev GuideIX - download.ociweb.comdownload.ociweb.com/TAO-1.3a/TAO1.3a_Dev_GuideINDEX.pdfBorland C++ 1030, 1049–1054 configuring source code 1051 setting up environment 1051 verify

1184 o c i w e b . c o m

S

message protection 976peer authentication 977

creatingcertificate authority 959certificate requests 960

credential 932CSI 0 933, 937CSI 1 933, 937CSI 2 933, 937CSI ECMA protocol 934, 938DCE Common Inter-ORP protocol (DCE-CIOP) 933, 937delegation of attributes 930digital signatures 949distinguished name 950environment setup 938, 958, 969establish trust policy 976example 956, 973

building libraries 977security policy enforcement 989SSL session 956

feature packages 932common secure interoperability (CSI) 937main functionality 934optional 936SECIOP + DCE-CIOP interoperability 937SECIOP interoperability 937security mechanism 937

CSI ECMA protocol 938generic security service (GSS) protocol 938secure sockets layer (SSL) protocol 938simple public key mechanism (SPKM) protocol 937

security replaceability 936ORB services 936security services 936

generic security service (GSS) 938handshake protocol 952identity

attributes 929binding 949certificates 949

implementation architecture 938initiating principal 930

Page 73: TAO Dev GuideIX - download.ociweb.comdownload.ociweb.com/TAO-1.3a/TAO1.3a_Dev_GuideINDEX.pdfBorland C++ 1030, 1049–1054 configuring source code 1051 setting up environment 1051 verify

o c i w e b . c o m 1185

S

Kerberos 934, 938, 947key

pair 948removing pass phrases 964server 947

Level 1 934Level 2 935libraries

building 977testing 968

messageauthentication codes 949confidentiality 946controlling protection 976integrity 949protection 976

messaging 932module xxvi, 191, 194, 243, 249, 269, 330–331, 338, 343, 349, 592, 616non-repudiation 930, 933, 936, 985OpenSSL 330, 926, 946, 955, 958–960, 962–969, 988, 994, 996, 998optional packages 936options

SSLAuthenticate 1001SSLCertificate 1000SSLNoProtection 1000SSLPrivateKey 1000–1001

originating principal 930peer authentication 977

controlling 977plaintext 947policy

controlling 926, 931, 976example 977

enforcing 927, 932, 982example 989

establish trust 976principal 929

identification and authentication 929privacy enhanced mail (PEM) 958private key 948privilege attributes 929public key 948

Page 74: TAO Dev GuideIX - download.ociweb.comdownload.ociweb.com/TAO-1.3a/TAO1.3a_Dev_GuideINDEX.pdfBorland C++ 1030, 1049–1054 configuring source code 1051 setting up environment 1051 verify

1186 o c i w e b . c o m

S

public-key cryptography 948quality of protection (QoP) 976record protocol 953reference model 929removing key pass phrases 964secret-key cryptography 947secure inter-ORB protocol (SECIOP) 933–934, 937–938, 987secure socket layer inter-ORB protocol (SSLIOP) 972secure sockets layer (SSL) protocol 11, 330, 343, 592, 927, 938, 946–957

architecture 951Security module 976–977, 983SecurityAdmin module 933, 935SecurityLevel1 module 933–935, 945, 982–983, 985, 994–995, 999

Current interface 982SecurityLevel2 module 933, 935, 945, 982, 985–987self-signed certificate 950signing certificate requests 962simple delegation 930symmetric encryption 947ticket 947transparent protection 931transport layer security (TLS) 946unaware 926

application 968example 973

building executables 968Security module 925–946, 958, 965–968, 973, 975–983, 985–987, 989, 993, 995–999, 1034, 1074, 1082–1083SecurityAdmin module 933, 935SecurityLevel1 module 933–935, 945, 982–983, 985, 994–995, 999, 1082

Current interface 982SecurityLevel2 module 933, 935, 945, 982, 985–987, 1082

Current interface 985select reactor

single-threaded 518select() operation 351, 518–519, 660select_mt option 519–520, 640, 660select_st option 500–501, 518, 626, 640, 660send_exception() operation 246send_other() operation 247send_poll() operation 245send_reply() operation 246

Page 75: TAO Dev GuideIX - download.ociweb.comdownload.ociweb.com/TAO-1.3a/TAO1.3a_Dev_GuideINDEX.pdfBorland C++ 1030, 1049–1054 configuring source code 1051 setting up environment 1051 verify

o c i w e b . c o m 1187

S

send_request() operation 245sendc_ prefix 151, 153, 167SEQUENCE_EVENT type 865, 871, 889, 894SequenceProxyPushConsumer interface 845, 889SequenceProxyPushSupplier interface 894SequencePushConsumer interface 848, 886, 891, 895servant 169, 171

activationUSE_SERVANT_MANAGER 321

locator 318manager 318, 575

NON_RETAIN 321RequestProcessingPolicy 321ServantRetentionPolicy 321

ServantLocator interface 318–319, 321servant-per-AMI-call strategy 166ServantRetentionPolicy policy 318, 321server concurrency 665server interceptors 266

interception points 246request 246

server strategy factory 144, 412, 499, 502–503, 539, 541, 566, 663–666, 668,670–672, 683–686

default options 672interface definition 664options

ORBActiveHintInPOANames 670, 674ORBActiveObjectMapSize 671, 675ORBConcurrency 499, 501, 503–504, 666, 677ORBPOALock 501, 666, 679ORBPOAMapSize 670, 680ORBSystemidPolicyDemuxStrategy 672, 681ORBThreadFlags 667, 682ORBThreadPerConnectionTimeout 503–504, 667, 671, 673, 683ORBUniqueIDPolicyReverseDemuxStrategy 672, 685ORBUserIDPolicyDemuxStrategy 672, 686

Server_Strategy_Factory class 499, 501, 503–504, 541, 663, 673–686SERVER_DECLARED policy 209, 235–238server-differentiated-reply strategy 166ServerRequestInfo class 247service configurator 538–550, 552–561, 567, 634, 639, 641, 757

configuring TAO clients and server 538

Page 76: TAO Dev GuideIX - download.ociweb.comdownload.ociweb.com/TAO-1.3a/TAO1.3a_Dev_GuideINDEX.pdfBorland C++ 1030, 1049–1054 configuring source code 1051 setting up environment 1051 verify

1188 o c i w e b . c o m

S

control options 543creation 554DTD 549initialization and finalization 553interface definition 552manager 560objects 552specializing factories 539state 559static service example 558svc.conf file 28, 336, 345, 501, 504, 520, 540, 544–546, 617, 815, 978, 980See also ACE, service configurator xxix

ServiceContexts 209services 701–704

audio/video streaming 703concurrency control 4, 703, 1039Cos prefix 702customizing access 702event xx, xxix, xxxiv, 13, 703, 735–737, 747, 750–771, 773–780, 787, 803, 846, 852IFR_Service 913–914, 916, 923implementation repository 898, 1003, 1005–1009, 1012, 1014–1020, 1023–1024ImplRepo_Service class 582, 596, 620interface repository xxix, 27, 114, 911–913, 917, 923–924life cycle xxxiii, 703, 1039load balancing xxi, xxvii, 13, 294, 586, 688, 703, 1004, 1012, 1039log xxviii, 13naming 582, 702, 705–721, 723–731, 733–734, 776, 801, 863, 870, 888, 898namingViewer utility 728notification xxi, xxv, xxxiv, 13, 735, 843–845, 848–849, 852, 855, 857–860, 862–

863, 865, 882–883, 886, 897, 900, 902, 904, 906, 908–909, 1039nsadd utility 727nsdel utility 727–728nslist utility 727ORB service libraries 13, 294, 703overview of TAO 701persistent state xxi, xxvii, 13property 13, 1039real-time event service (RTES) xx, xxix, xxxiv, 13, 735, 773–780, 784, 787, 793,

796–797, 805, 1040with scheduling 704

scheduling xx, 197, 220, 775–776, 779, 803, 815, 819, 828, 836, 1040security 704

Page 77: TAO Dev GuideIX - download.ociweb.comdownload.ociweb.com/TAO-1.3a/TAO1.3a_Dev_GuideINDEX.pdfBorland C++ 1030, 1049–1054 configuring source code 1051 setting up environment 1051 verify

o c i w e b . c o m 1189

S

selectively building TAO services 1039TAO ORB libraries 703TAO_Naming_Server 724, 726time 13, 180, 1040trading 13, 570, 579–580, 582–584, 598, 619, 701, 746, 1040

set_policy_overrides() operation 179, 317, 935, 942, 946set_slot() operation 273shared memory inter-ORB protocol (SHMIOP) 11, 212, 330, 338–341,348, 351, 363–365, 379, 424, 436, 439, 580, 588, 591–592, 594–595, 598–600, 626, 651,691, 721

endpoint 591example 594

factory 339SHMIOP_Factory class 339, 651

shared_libs build flag 20, 24, 85shared_libs_only build flag 24SHMIOP

See shared memory inter-ORB protocol (SHMIOP)shutdown() operation 483–484, 487, 527–529, 991–992, 997shutting down 526single thread model 491SINGLE_THREAD_MODEL policy 489, 494–495smart proxies xxix, 5, 20, 27, 102, 291–294, 296, 300–304, 306–307, 311–313

$ACE_ROOT/ace/config.h 303$ACE_ROOT/include/makeinclude/platform_macros.GNU 303_unchecked_narrow() operation 299asynchronous method invocation (AMI) 292base_proxy_ variable 298batch processing 294choosing between target objects 294client-side caching 293create_proxy() operation 292, 296–297, 299–300, 302, 304–305, 309creating 299default proxy factory 297, 299example 305–313

logging 305executing a sequence of operations 294factory object 304framework 295get_proxy() operation 297–298IDL compiler 292instance() operation 299, 302

Page 78: TAO Dev GuideIX - download.ociweb.comdownload.ociweb.com/TAO-1.3a/TAO1.3a_Dev_GuideINDEX.pdfBorland C++ 1030, 1049–1054 configuring source code 1051 setting up environment 1051 verify

1190 o c i w e b . c o m

S

oneway 292overridden member functions 298proxy factory adapter 296, 299register_proxy_factory() operation 296–297smart proxy base class 297smart proxy class 292, 303, 309smart proxy factory class 299, 304, 308smart_proxies build flag 20, 27, 295, 301, 303Smart_Proxies.h 301tao/corba.h 301tao/Smart_Proxies.h 295TAO_Default_Proxy_Factory class 296TAO_HAS_SMART_PROXIES macro 300–301, 303TAO_Proxy_Factory_Adapter class 296TAO_Smart_Proxy_Base class 295–298, 310unregister_proxy_factory() operation 296–297, 305use cases 292–293writing and using 300

smart_proxies build flag 20, 27, 295, 301, 303specializing factories 539SSI

See static skeleton interface (SSI)SSL

See secure sockets layer (SSL) protocolssl_port option 589SSLIOP

See secure socket layer inter-ORB protocol (SSLIOP)Stal, Michael 15, 351, 505, 515, 519standard synchronizers 195static

invocation 12loading 431threads 205

static skeleton interface (SSI) 9, 12static_libs build flag 20, 24, 85–86static_libs_only build flag 20, 24, 85–86static_only build flag 46strategies 538

activation-per-AMI-call 166blocking 646connect 696first in first out (FIFO) 629

Page 79: TAO Dev GuideIX - download.ociweb.comdownload.ociweb.com/TAO-1.3a/TAO1.3a_Dev_GuideINDEX.pdfBorland C++ 1030, 1049–1054 configuring source code 1051 setting up environment 1051 verify

o c i w e b . c o m 1191

S

leader_follower 523, 628, 646least frequently used (LFU) 625, 629, 640, 656least recently used (LRU) 625, 629–630, 640, 656no operation (NOOP) 630reactive 646servant-per-AMI-call 166server-differentiated-reply 166

strategy acceptor template 370strategy connector template 392strategy pattern 15string_to_object() operation 275, 346–347, 360, 405, 583, 608, 632–633, 647,706–707, 714–718structured event types 735STRUCTURED_EVENT type 865–866, 871–872StructuredProxyPushConsumer interface 863, 865–867StructuredProxyPushSupplier interface 845, 871–872, 885StructuredPushSupplier interface 860, 866subscription and filtering

real-time event service (RTES) 775subscription_change() operation 851, 860–861, 872, 877–878, 880–881, 886–887, 895supplier proxies 775

real-time event service 775SupplierAdmin interface 844, 851, 865, 875, 882–883, 889support

commercial xxxiiObject Computing Inc. (OCI) xxxiii

suspend directive 548suspend_connection() operation 874suspending and resuming consumer connections

real-time event service (RTES) 783svc() operation 412, 451, 724–725svc.conf file 28, 339–340, 345, 501, 513, 518, 520, 540, 544–546, 635, 978, 980SYNC_NONE 183–184, 187–188SYNC_WITH_SERVER 184SYNC_WITH_TARGET 184–185SYNC_WITH_TRANSPORT 184synchronizers

standard 195SyncScope policy 176, 183–185, 187

SYNC_NONE 183–184, 187–188SYNC_WITH_TRANSPORT 184–185

Page 80: TAO Dev GuideIX - download.ociweb.comdownload.ociweb.com/TAO-1.3a/TAO1.3a_Dev_GuideINDEX.pdfBorland C++ 1030, 1049–1054 configuring source code 1051 setting up environment 1051 verify

1192 o c i w e b . c o m

T

system requirements 18See also building

T

tagged components 267, 269, 616TaggedComponent() operation 271

TAO xxiii, 3, 625architecture 7catior utility 271concurrency models 496contributors 1085–1095design goals 4development history 6high performance 13libraries

TAO_PortableServer 69, 73–74minor codes 141ORB service libraries 13, 294real-time CORBA support 13, 229relationship to ACE 15source code distribution 1045, 1053supported platforms xxxiisystem requirements 18TAO_ROOT environment variable 45, 96, 98version xxxi

TAO classesAdvanced_Resource_Factory 336, 339, 341–342, 501, 518, 520CosEvent_Service 744

command line options 748server 737, 744

InterFilterGroupOperator 850, 865, 871, 889, 894IORTable 1014ORB_Task 73, 508–510ORBInitializer 248, 259, 269, 275ORBInitInfo 248ProxyPushSupplier 743Resource_Factory 332, 345, 353, 513, 523, 624, 635–636, 638, 642–650, 652–654,

974–975, 977–978, 980Server_Strategy_Factory 499, 501, 503–504

Page 81: TAO Dev GuideIX - download.ociweb.comdownload.ociweb.com/TAO-1.3a/TAO1.3a_Dev_GuideINDEX.pdfBorland C++ 1030, 1049–1054 configuring source code 1051 setting up environment 1051 verify

o c i w e b . c o m 1193

T

TAO_Accept_Strategy 367, 369, 372TAO_Acceptor 144, 355, 363–364, 366–367, 374, 377, 379, 388, 403, 428, 436–

437, 625, 629TAO_Acceptor_Registry 144, 355, 625TAO_Base_Transport_Property 414TAO_CEC_EventChannel 737, 744TAO_CEC_EventChannel_Attributes 745TAO_CEC_Factory

interface definition 750TAO_Connect_Strategy 389, 688, 692TAO_Connection_Handler 363, 365, 406, 408–410, 412, 443, 445, 462TAO_Connection_Purging_Strategy 625, 629–630TAO_Connector 143, 145, 355, 363–364, 388–389, 397–398, 403, 428, 437, 625,

629TAO_Connector_Registry 143, 145, 355, 625TAO_Creation_Strategy 367–368, 372TAO_Default_Proxy_Factory 296TAO_Default_Resource_Factory 366TAO_EC_Factory 816

dispatching 817servant-related functions 817

TAO_Endpoint 363, 365, 367–368, 384, 389–390, 415–419, 427TAO_Flushing_Strategy 457, 460, 625, 628TAO_GIOP_Synch_Invocation 461TAO_IIOP_Acceptor 356TAO_IIOP_Profile 357, 422, 424TAO_IIOP_Protocol_Factory 354, 432TAO_IOR_Parser 632, 647TAO_LF_Strategy 626TAO_Local_RefCounted_Object 220, 226, 268, 325TAO_MProfile 143, 367–368, 381–383, 388, 419–420TAO_Naming_Client 723TAO_Naming_Server 724, 726TAO_Notify_EventChannelFactory_i 896–897TAO_ORB_Core 144, 366–368, 376, 379, 389–391, 398–399, 408, 410, 419–420,

422, 442–443, 445–446, 448–449, 566, 664–665, 688, 692TAO_Profile 363, 365, 382, 386–387, 389–390, 402–403, 405–406, 418–421, 423–

424, 427TAO_Protocol_Factory 355, 363, 365, 428, 435–436TAO_Proxy_Factory_Adapter 296TAO_QtResource_Factory 636–637TAO_Resource_Factory 624–625

Page 82: TAO Dev GuideIX - download.ociweb.comdownload.ociweb.com/TAO-1.3a/TAO1.3a_Dev_GuideINDEX.pdfBorland C++ 1030, 1049–1054 configuring source code 1051 setting up environment 1051 verify

1194 o c i w e b . c o m

T

TAO_Server_Strategy_Factory 374, 397, 664–665TAO_Smart_Proxy_Base 295–298, 310TAO_Synch_Refcountable 442TAO_Transport 363, 389–390, 400, 402, 407, 410, 414, 439, 442–447, 453, 456,

459, 463, 472, 630, 688, 690TAO_Transport_Cache_Manager 414, 442, 444–445, 630TAO_UIOP_Acceptor 367, 374–377, 379–384, 386–387, 437TAO_UIOP_Connector 389–391, 397–400, 403–406, 437TAO_UIOP_Properties 368, 390, 409–410TAO_UIOP_Protocol 429–430, 436–439, 449TAO_UIOP_Protocol_Factory 429–430, 436–439TAO_UIOP_Transport 410, 446, 448–450, 452–453TAO_Unknown_Profile 403TAO_Wait_Strategy 442, 445, 688, 690TAO_XT_Resource_Factory 638–639

TAO configuration 537Client_Strategy_Factory class 501, 513–514, 516, 521, 524, 541, 687, 694, 696–

698, 980directives 540

dynamic 331–332, 501, 541–542, 553, 557compontents 542

resume 548, 559static 501, 540–541, 553, 561, 624, 663, 687, 749, 815suspend 548, 559

object factory 538–539Resource_Factory class 332, 345, 353, 513, 523, 540–542, 550–551, 618, 624,

635–636, 638, 642–650, 652–654, 974–975, 977–978, 980server strategy factory 539Server_Strategy_Factory class 499, 501, 503–504, 541, 663, 673–686specializing factories 539static directive 540

TAO librariesORB service xxvii, xxxiii, 586, 688TAO_BiDirGIOP 190TAO_CosConcurrency 703TAO_CosEvent 703TAO_CosLifeCycle 703TAO_CosLoadBalancing 703TAO_CosNaming 73–74, 86, 108, 703–705TAO_CosNotification 703, 897TAO_CosProperty 703TAO_CosTime 704

Page 83: TAO Dev GuideIX - download.ociweb.comdownload.ociweb.com/TAO-1.3a/TAO1.3a_Dev_GuideINDEX.pdfBorland C++ 1030, 1049–1054 configuring source code 1051 setting up environment 1051 verify

o c i w e b . c o m 1195

T

TAO_CosTrading 703TAO_DsEventLogAdmin 703TAO_DsLogAdmin 703TAO_DsNotifyLogAdmin 703TAO_ETCL 703TAO_IORTable 70, 73–74TAO_Messaging xxvi, 69, 176, 188TAO_PortableGroup 331, 345TAO_PortableServer 69, 73–74TAO_RTCORBA 69, 73–74, 145, 220, 226, 229TAO_RTCORBAEvent 73–74TAO_RTEvent 73–74, 703–704, 786–787TAO_RTEventLogAdmin 703TAO_RTOLDEvent 703TAO_RTPortableServer 69, 73–74, 229TAO_RTSched 703–704TAO_RTSchedEvent 704TAO_Security 704TAO_Strategies 69, 331, 336, 339, 341–342, 367, 389, 408, 429, 433, 501, 518,

520, 639, 656–657, 659, 661TAO_Svc_Utils 73–74, 703–704

TAO macrosTAO_BASE_LIBS 89TAO_CLNT_LIBS 89TAO_CONNECTION_CACHE_MAXIMUM 644TAO_CONNECTOR_REGISTRY_NO_USABLE_PROTOCOL 143TAO_DEFAULT_IMPLREPO_SERVER_REQUEST_PORT 596TAO_DEFAULT_NAME_SERVER_REQUEST_PORT 605, 707TAO_DEFAULT_TRADING_SERVER_REQUEST_PORT 619TAO_HAS_AMI 26TAO_HAS_AMI_CALLBACK 26TAO_HAS_AMI_POLLER 26TAO_HAS_CORBA_MESSAGING 27, 229TAO_HAS_INTERCEPTORS 28TAO_HAS_INTERFACE_REPOSITORY 27TAO_HAS_MINIMUM_CORBA 25, 229, 1033, 1038, 1077TAO_HAS_RT_CORBA 27, 229TAO_HAS_SMART_PROXIES 27, 300–303, 307TAO_INVOCATION_LOCATION_FORWARD_MINOR_CODE 142TAO_INVOCATION_RECV_REQUEST_MINOR_CODE 142–143TAO_INVOCATION_SEND_REQUEST_MINOR_CODE 142TAO_MPROFILE_CREATION_ERROR 143

Page 84: TAO Dev GuideIX - download.ociweb.comdownload.ociweb.com/TAO-1.3a/TAO1.3a_Dev_GuideINDEX.pdfBorland C++ 1030, 1049–1054 configuring source code 1051 setting up environment 1051 verify

1196 o c i w e b . c o m

T

TAO_PLATFORM_SVC_CONF_FILE_NOTSUP 28TAO_POA_DISCARDING 142TAO_POA_HOLDING 142TAO_RESUME_CONNECTION_HANDLER 414TAO_SRVR_LIBS 89TAO_STD_PROFILE_COMPONENTS 616TAO_TAG_UIOP_PROFILE 375, 398TAO_TIMEOUT_CONNECT_MINOR_CODE 143TAO_TIMEOUT_RECV_MINOR_CODE 143TAO_TIMEOUT_SEND_MINOR_CODE 143TAO_UNHANDLED_SERVER_CXX_EXCEPTION 142

TAO_BiDirGIOP libraries 190tao_idl program 33–34, 52, 58, 93–102, 105, 107–108, 171, 323, 914TAO_IDL_PREPROCESSOR environment variable 52, 96, 98TAO_IDL_PREPROCESSOR_ARGS environment variable 98tao_ifr program 913–915, 923

options 915tao_imr program 1005, 1009, 1011, 1014, 1019–1020TAO_Notify_EventChannelFactory_iclass 896–897TAO_ORBSVCS environment variable 750, 816, 966–967TAO_PortableServer library 69, 73–74TAO_ROOT environment variable 32, 45, 96, 98, 967target_is_a() operation 257TCP/IP

See transmission control protocol/internet protocol (TCP/IP)TCP_NODELAY option 606TCPProtocolProperties 212, 214, 221–224telecom servicesSee log servicetemplate option 85–86, 95, 99testing 1069

building tests 1069running tests 1070

ACE tests 1070ORB Services tests 1072TAO tests 1070

the_priority attribute 203–204, 234, 242THR_BOUND 666, 682THR_DETACHED 666, 682THR_JOINABLE 509–510THR_NEW_LWP 408, 411, 509–510, 667, 682THR_SUSPENDED 682thread pools 195, 197–198, 205–208, 231

Page 85: TAO Dev GuideIX - download.ociweb.comdownload.ociweb.com/TAO-1.3a/TAO1.3a_Dev_GuideINDEX.pdfBorland C++ 1030, 1049–1054 configuring source code 1051 setting up environment 1051 verify

o c i w e b . c o m 1197

T

concurrency model 497, 505–507, 520, 525reactor 207, 497, 505–507, 516, 518–520

threading model 493thread-per-connection concurrency model 342, 348, 374, 397, 412–413,497, 501–504, 667, 683, 748ThreadPolicy policy 489, 493–494, 496thread-pool reactor 660ThreadpoolId 197, 206–208, 240ThreadpoolLanes 207ThreadpoolPolicy 206threads 23

dynamic 205lanes 205related operations 481static 205thread specific storage (TSS) 15

ti build flag 45–47time independent invocation (TII) 149time service 13, 180, 1040TimeBase module 180Timeout property 853timeouts 215

real-time event service (RTES) 797TimeT type 180tk_reactor build flag 20, 26, 640, 660TLS

See transport layer security (TLS)to_CORBA() operation 203, 216, 225, 227to_native() operation 203, 216to_network() operation 225, 227to_string() operation 721to_url() operation 721tp option 660trading service 13, 570, 579–580, 582–584, 598, 619, 701, 746, 1040TradingServicePort environment variable 619training xxxiii, xxxv, 6

Advanced CORBA Programming Using TAO xxxivCORBA Programming with C++ xxv, xxxi, xxxiv, 7, 31, 112–113, 153, 180, 292,

356, 626CORBA Programming with Java xxxivIntroduction to CORBA xxxiv, 927Introduction to Real-Time Systems xxxv

Page 86: TAO Dev GuideIX - download.ociweb.comdownload.ociweb.com/TAO-1.3a/TAO1.3a_Dev_GuideINDEX.pdfBorland C++ 1030, 1049–1054 configuring source code 1051 setting up environment 1051 verify

1198 o c i w e b . c o m

U

Object Oriented Design Patterns and Frameworks xxxvUsing the ACE C++ Framework xxxiv

TRANSIENT exception 113, 117, 142–143, 609, 669–671, 680, 684, 975, 1004,1010–1011transmission control protocol/internet protocol (TCP/IP) 8, 212, 327–329, 332, 338, 350, 586, 599, 631, 651, 814, 951, 1075transport 358, 365

multiplexing strategies 520transport layer security (TLS) 946try_lock() operation 204type codes

wchar 444, 446, 635–636, 654typed event channels 737

U

UDPSee user datagram protocol (UDP)

UIOP_Factory class 336, 429–430, 651–652UIOP_Lite_Factory class 651UIPMC

See unreliable IP multicast protocol (UIPMC)unconstrained interface 316University of California, Irvine

See DOC GroupUNIX xxvi, 11, 18–19, 34, 38, 83, 94, 97, 109, 335, 339, 556, 563, 565, 590–592, 606,651, 966

building ACE and TAO 1031configuring source code 1033customizing ACE and TAO builds 1037set environment variables 1032verifying build 1036See also building 1037

UNIX inter-ORB protocol (UIOP) 212, 330, 335–339, 342, 345, 374–448,580, 588, 592, 595, 598, 600, 608–609, 651–652, 1080–1081

endpoint 592examples 594

UIOP_Factory class 336, 429–430, 651–652UIOP_Lite_Factory class 651

unlock() operation 204–205

Page 87: TAO Dev GuideIX - download.ociweb.comdownload.ociweb.com/TAO-1.3a/TAO1.3a_Dev_GuideINDEX.pdfBorland C++ 1030, 1049–1054 configuring source code 1051 setting up environment 1051 verify

o c i w e b . c o m 1199

V

unmarshaling 657unregister_proxy_factory() operation 296–297, 305unreliable IP multicast protocol (UIPMC) xxvii, 330–331, 344–346, 348use_locked_data_blocks() operation 628USE_SERVANT_MANAGER policy 321user datagram protocol (UDP) 11, 329–330, 341, 343–344, 350, 593, 651, 805,808–809, 811–814USER_ID policy 1013Using the ACE C++ Framework course xxxivutilities

catior 271naming service 727

nslist 727tao_imr 1005, 1009, 1011, 1014, 1019–1020

V

va4 build type 44validate_connection() operation 317value types

abstract value type 288class 282compliance 289defining in IDL 280example 282factory 284implementing 282inheritance 287regular value types 287, 289uses 280value type class 282value type factory 284

value_project option 45, 47value_template option 46–47ValueFactoryBase class 284Vanderbilt University xvii–xviii, xxxvii–xxxviii, 3, 6, 1085

See also DOC Groupvc6 build type 38, 43, 46–47, 49, 57, 63, 71vc7 build type 43, 49, 57, 63vc71 build type 38, 44, 57

Page 88: TAO Dev GuideIX - download.ociweb.comdownload.ociweb.com/TAO-1.3a/TAO1.3a_Dev_GuideINDEX.pdfBorland C++ 1030, 1049–1054 configuring source code 1051 setting up environment 1051 verify

1200 o c i w e b . c o m

W

Vinoski, Steve xxv, xxxi, 197, 244Visual C++ xxvi, xxx, 19, 38–39, 41, 43–44, 1041

build libraries 1045configure source code 1043set up your environment 1043verify build 1045

Vlissides, John 15, 352VxWorks iv, 532, 576, 724, 1030, 1055–1061, 1069–1072

environment 1057kernel and system configuration 1055multicast routing 1056using ACE and TAO 1055

W

wait strategies 520, 690wait_for_completion parameter 481, 483–484, 487, 527–528WaitForMultipleObjects() operation 351, 660wait-on-leader-follower concurrency model 497, 510–513, 515–516, 521,523–524, 694–695wait-on-reactor concurrency model 497, 514–515Washington University, St. Louis, Missouri xviii, xxiv, xxxvii–xxxviii, 3, 6

See also DOC Groupwchar type codes 444, 446, 635–636, 654wfmo reactor 526, 640, 660Windows xxi, 31–32, 38, 556

Borland C++ 1049–1054registry persistence 1019

work pending() operation 164, 481, 483–485, 526–527wxWindows 728

X

X windows toolkit 636–637XML service configurator 549–550

syntax 550xt_reactor build flag 20, 25XtAppContext 638


Recommended