HP NonStop CORBA 2.3 Programmer's Reference Next HP NonStop CORBA 2.3 Programmer's Reference Part number: 520548002. Published October 2002. Legal Notice Abstract This manual summarizes the ways in which the HP NonStop" CORBA® 2.3 product differs from CORBA as described in the OMG specifications, and provides additional HP-proprietary, programming-reference material. Unless otherwise stated in this manual, the NonStop CORBA 2.3 product is based on the OMG specifications.
Dynamic Management of Any Values (9.0) The Interface Repository: TypeCodes (10.7) The Portable Object Adaptor: create_POA (11.3.8.2) The Portable Object Adaptor: Policy Creation Operations (11.3.8.5) The Portable Object Adaptor: get_object_id (11.3.9.2) 2. Interoperability and Interworking Other Components (13.6.3.3) Object Service Context (13.6.7) Code Set Conversion (13.7) Relevant OSFM Registry Interfaces (13.9) GIOP Message Formats (15.4) IIOP IOR Profiles (15.7.2) IIOP IOR Profile Components (15.7.
CustomMarshal Interface (1.13.1.3) 5. Naming Service The Names Library (3.3) 6. Event Service Typed Event Communication (4.6) The CosTypedEventComm Module (4.7) Typed Event Channels (4.8) The CosTypedEventChannelAdmin Module (4.9) 7. Transaction Service Overview Nested Transactions (1.2.4.1) Service Architecture: Transaction Context (1.3.2) Service Architecture: Exceptions (1.3.6) Current Interface (2.1.1) TransactionFactory Interface (2.1.2) Coordinator Interface: get_transaction_name (2.1.5.
class Fw_Timer 9. NonStop CORBA Event Framework ehbase.h Classes Class Fw_Transfer_EH_User Class Fw_Transfer_EH Class Fw_Client_EH_User Class Fw_Client_EH Class Fw_Server_EH_User Class Fw_Server_EH Class Fw_Listener_EH_User Class Fw_Listener_EH gfsehoss.
Class Fw_Sock_Address Class Fw_Sock_Client_EH Class Fw_Sock_Server_EH Class Fw_Sock_Listener_EH 10.
Next New and Changed Information
Copyright 2002 Compaq Information Technologies Group, L.P. Compaq, the Compaq logo, Alpha, Atalla, CLX, Deskpro, Enform, Expand, Guardian, Himalaya, Inspect, Integrity, NonStop, OpenVMS, PayMaster, ProLiant, ServerNet, SignMaster, SNAX, Tandem, VAX, VMS, and WebSafe are trademarks of Compaq Information Technologies Group, L.P. in the U.S. and/or other countries.
Department of Commerce. Compaq shall not be liable for technical or editorial errors or omissions contained herein. The information in this document is provided "as is" without warranty of any kind and is subject to change without notice. The warranties for Compaq products are set forth in the express limited warranty statements accompanying such products. Nothing herein should be construed as constituting an additional warranty.
New and Changed Information Prev Next New and Changed Information This publication has been updated to reflect new product names: ● Since product names are changing over time, this publication might contain both HP and Compaq product names. ● Product names in graphic representations are consistent with the current product interface. The exception regarding T_var conversion operators has been removed from Chapter 3 of this manual because the conversion operators required by the CORBA 2.
About This Manual Prev Next About This Manual Table of Contents Who Should Read This Manual Organization of this Manual Related Manuals Your Comments Invited Notation Conventions This manual summarizes the ways in which the NonStop CORBA 2.3 product differs from CORBA as described in the OMG specifications, and provides additional HP-proprietary, programming-reference material. Unless otherwise stated in this manual, the NonStop CORBA 2.3 product is based on the OMG specifications.
Organization of this Manual The topic headings within each section of this manual are virtually identical to the corresponding topic in the particular OMG specification. The number in parentheses at the end of each topic heading is the exact paragraph number within the OMG specification to which the particular information applies. Section 1 of this manual corresponds to part 1, Core (chapters 1 through 11), of The Common Object Request Broker: Architecture and SpecificationMinor revision 2.3.1October 1999 .
the NonStop CORBA implementation. In addition, Javadoc reference material for Java programmers is on the product CD, and the HP NonStop Distributed Console includes online help. Your Comments Invited After using this manual, please take a moment to send us your comments. You can do this by : ● Completing a Contact NonStop Himalaya Publications form online at http://nonstop.compaq.com/view.asp?FOID=20.
[] | ... "" Other punctuation Long Commands Brackets enclose optional syntax items. For example: TERM [\system-name.]$terminal-name INT[ERRUPTS] A group of items enclosed in brackets is a list from which you can choose one item or none. The items in the list may be arranged either vertically, with aligned brackets on each side of the list, or horizontally, enclosed in a pair of brackets and separated by vertical lines.
Chapter 1. Core CORBA Prev Next Chapter 1. Core CORBA Table of Contents OMG IDL Syntax and Semantics: Overview (3.1) OMG IDL Syntax and Semantics: Grammar (3.4) ORB Interface: Initialization (4.6) ORB Interface: Policy Object (4.9) ORB Interface Thread-Related Operations: perform_work (4.11.2) ORB Interface Thread-Related Operations: destroy (4.11.5) Dynamic Invocation Interface Dynamic Management of Any Values (9.0) The Interface Repository: TypeCodes (10.7) The Portable Object Adaptor: create_POA (11.3.
ORB Interface: Policy Object (4.9) The Policy interface is not available in IDL, but is instead available through nsdorb/corba.h in C++ and through org.omg.CORBA.Policy in Java. ORB Interface Thread-Related Operations: perform_work (4.11.2) How an application and the ORB arrange to use compatible threading primitives is platform-specific. For C++ NonStop CORBA provides two sets of threading primitives: ● An object-oriented set of primitives in the header file nsdevent/vthread.h.
The Portable Object Adaptor: create_POA (11.3.8.2) For C++, the third parameter of the signature for create_POA() takes a CORBA::PolicyList_ptr instead of a CORBA::PolicyList passed by reference. The Portable Object Adaptor: Policy Creation Operations (11.3.8.5) For C++, NonStop CORBA adds StatePolicy and create_state_policy (in StatePolicyValue value), with values STATELESS and STATEFUL. The default is STATEFUL.
Chapter 2. Interoperability and Interworking Prev Next Chapter 2. Interoperability and Interworking Table of Contents Other Components (13.6.3.3) Object Service Context (13.6.7) Code Set Conversion (13.7) Relevant OSFM Registry Interfaces (13.9) GIOP Message Formats (15.4) IIOP IOR Profiles (15.7.2) IIOP IOR Profile Components (15.7.3) Bi-Directional GIOP (15.8) Bi-Directional IIOP (15.8.1) Bi-directional GIOP Policy (15.
Object Service Context (13.6.7) The only ServiceID supported by NonStop CORBA 2.3 is: const ServiceId TransactionService = 0; Code Set Conversion (13.7) NonStop CORBA 2.3 does not support the material described under this topic in the OMG specification. Relevant OSFM Registry Interfaces (13.9) NonStop CORBA 2.3 does not support the material described under this topic in the OMG specification. GIOP Message Formats (15.4) NonStop CORBA 2.3 supports only GIOP 1.0 (not 1.1 or 1.2). NonStop CORBA 2.
Bi-directional GIOP Policy (15.9) NonStop CORBA 2.3 does not support the material described under this topic in the OMG specification. The DCE ESIOP (16) NonStop CORBA 2.3 does not support the material described in this chapter of the OMG specification. Interworking Architecture (17) NonStop CORBA 2.3 does not support the material described in this chapter of the OMG specification. Mapping: COM and CORBA (18) NonStop CORBA 2.
Chapter 3. C++ Language Mapping Prev Next Chapter 3. C++ Language Mapping Table of Contents Mapping for Basic Data Types (1.5) Mapping for Wide String Types (1.8) Mapping for Structured Types (1.9) Mapping of Sequence Types (1.13) Insertion into Any (1.16.2) Mapping for Exception Types (1.19) Any Insertion and Extraction for Exceptions (1.19.3) Servant Reference Counting This section applies to the C++ Language Mapping SpecificationNew EditionJune 1999 . Mapping for Basic Data Types (1.
Insertion into Any (1.16.2) The left-shift-assignment operator (<<=) and right-shift-assignment operator (=>>) for insertion into any are not generated for structured types: struct, union, sequences, and wchar strings. Mapping for Exception Types (1.19) NonStop CORBA adds the operation char * CORBA::Exception::format (void) that returns a descriptive string describing the exception. Its usage might follow the pattern: try { ... } catch (const CORBA::Exception &exc) { printf (%s, exc.
expected under CORBA 2.3 because, by default, CORBA 2.3 is backward compatible with NonStop DOM 2.0. If your application is using no reference counting at all for a servant, the servant must override the method Servant::_uses_which_ref_type() with an implementation that returns a value of zero. NSDOM_ServantBase::NSDOM_Ref_Type NSDOM_ServantBase::_uses_which_ref_type() { return Uses_NSDOM_ref_count; // must be overridden by OMG compliant programs which do not use // reference counting.
Chapter 4. Java Language Mapping Prev Next Chapter 4. Java Language Mapping Table of Contents Fixed Point Types (1.4.8) CustomMarshal Interface (1.13.1.3) This section applies to the IDL to Java Language Mapping SpecificationNew EditionJune 1999 . Fixed Point Types (1.4.8) NonStop CORBA 2.3 does not support fixed point types. CustomMarshal Interface (1.13.1.3) NonStop CORBA 2.3 does not support custom marshalling. Prev Chapter 3. C++ Language Mapping Up Home Next Chapter 5.
Chapter 5. Naming Service Prev Next Chapter 5. Naming Service Table of Contents The Names Library (3.3) This section applies to chapter 3 of the CORBAservices: Common Object Services Specification December 1998 . NonStop CORBA 2.3 supports all mandatory Naming Service interfaces and features described in the OMG specification. NonStop CORBA 2.3 enhances the implementation through scalability. There are no API-level enhancements. Note that NonStop CORBA 2.
Chapter 6. Event Service Prev Next Chapter 6. Event Service Table of Contents Typed Event Communication (4.6) The CosTypedEventComm Module (4.7) Typed Event Channels (4.8) The CosTypedEventChannelAdmin Module (4.9) This section applies to chapter 4 of the CORBAservices: Common Object Services Specification December 1998 . NonStop CORBA 2.3 supports all mandatory generic event interfaces and features described in the OMG specification.
Chapter 7. Transaction Service Prev Next Chapter 7. Transaction Service Table of Contents Overview Nested Transactions (1.2.4.1) Service Architecture: Transaction Context (1.3.2) Service Architecture: Exceptions (1.3.6) Current Interface (2.1.1) TransactionFactory Interface (2.1.2) Coordinator Interface: get_transaction_name (2.1.5.15) RecoveryCoordinator Interface: replay_completion (2.1.6.1) TransactionalObject Interface (2.1.10) The User's View: Application Programming Models (2.2.
Nested Transactions (1.2.4.1) The specification defines nested transactions. These transactions are optional and are not supported by NSOTS. Service Architecture: Transaction Context (1.3.2) NSOTS does not support the transactional Dynamic Invocation Interface. Service Architecture: Exceptions (1.3.6) In general, NSOTS does not provide exception minor codes. However, when an exception is initiated by Open TMF, NSOTS assigns the TMF error code to the CORBA exception minor code. Current Interface (2.1.
resource is still required to wait for Resource::commit() or Resource::rollback() to be invoked. The RecoveryCoordinator will only be used by very sophisticated server applications. TransactionalObject Interface (2.1.10) The specification says that an object that supports the TransactionalObject indicates that it wants the transactional context associated with the client thread to be associated with all operations on its interface.
Model Interoperability (2.3.3) The specification provides for interoperability with X/Open DTP through the TX and XA interfaces. NSOTS does not support those interfaces because the TMF subsystem is the native transaction manager for HP NonStop Kernel operating system environments (not X/Open). NSOTS extends the Current interface with the tmf_start(xid) and tmf_end() procedures (where xid is a transaction identifier obtained from tmf_get_tx_id_() ). They correspond to X/Open xa_start() and xa_end().
Chapter 8. NonStop CORBA vthread Interface Prev Next Chapter 8. NonStop CORBA vthread Interface Table of Contents vthread.h Classes class Fw_Thread class Mutex class Preemption_Mutex class Condition_Variable timer.h Classes Global Variables class Fw_Time_Stamp class Fw_Timer Note The material presented in this section is not intended to be tutorial in nature.
class Fw_Thread Container for parts that generically wrap critical threading functionality provided by different platforms, such as UNIX, NonStop Kernel Open System Services (OSS), and Microsoft Windows NT. API Data static bool cv_trace_enabled Triggers tracing within Fw_Thread parts. typedef void( *Dtor_Function )( void * ) Signature of get_/set_specific destructor to be called upon thread termination. typedef void * Id_ptr Type for thread identifiers.
Disassociates the thread pp_tid from the creator thread. Returns zero if operation was successful. You use this when the creator is not interested in the termination of a thread or any associated results. static int join( Id_ptr pp_tid, void **ppp_result ) Blocks the current thread until the thread pp_tid completes. The thread result is passed back in ppp_result (pointer to a void*). Returns zero if the operation was successful. static int self_id() Returns an internal thread number.
Returns zero if successful. int unlock() Unlocks the mutex. Returns zero if successful. class Preemption_Mutex This class, which wraps FW_Thread::Mutex with preemption awareness, is a no-op on non-preemptive threading platforms such as NonStop systems. On preemptive threading platforms (such as Unix and Microsoft Windows), this class behaves identically to Fw_Thread::Mutex. API Methods Preemption_Mutex() Creates a mutex object. ~Preemption_Mutex() Destructor for the current mutex object.
int signal() Signals the next thread waiting on this condition variable. Returns zero if successful. int wait() Blocks the current thread until the condition variable signal or broadcast functions unblock it. Returns zero if successful. timer.h Classes Global Variables API Data typedef long Fw_Ticks Ticks attribute. class Fw_Time_Stamp Following are three miscellaneous useful constants from the class Fw_Time_Stamp.
API Methods NSDEFw_Timer() Creates a timer object. NSDEFw_Timer( Fw_Ticks pv_ticks ) Creates a timer object and sets the value of the ticks attribute. ~NSDEFw_Timer() Destructor for the current timer object. Fw_Ticks get_ticks() Returns the current value of the ticks attribute. void set_ticks( Fw_Ticks pv_ticks ) Sets the value of the ticks attribute. void wait() Blocks the callers thread for the number of ticks specified by the current value of the ticks attribute.
Chapter 9. NonStop CORBA Event Framework Prev Next Chapter 9. NonStop CORBA Event Framework Table of Contents ehbase.h Classes Class Fw_Transfer_EH_User Class Fw_Transfer_EH Class Fw_Client_EH_User Class Fw_Client_EH Class Fw_Server_EH_User Class Fw_Server_EH Class Fw_Listener_EH_User Class Fw_Listener_EH gfsehoss.
message.h Classes Class Fw_MD Class Fw_Message sockeh.h Classes Class Fw_Sock_Address Class Fw_Sock_Client_EH Class Fw_Sock_Server_EH Class Fw_Sock_Listener_EH Note The material presented in this section is not intended to be tutorial in nature. Instead, it is meant to be detailed reference material that you will consult while studying Section 12, Writing Wrappers for Legacy Clients and Servers, of the NonStop CORBA 2.3 Programmer's Guide for C++.
class { ... class { ... class { ... class { ... class { ... class { ... class { ... Fw_Transfer_EH } Fw_Client_EH_User } Fw_Client_EH } Fw_Server_EH_User } Fw_Server_EH } Fw_Listener_EH_User } Fw_Listener_EH } Class Fw_Transfer_EH_User The base class for client and server event handler (EH) users.
Invoked by a transfer (client or server) event handler, this method notifies the transfer event-handler user that the connection has been terminated. unsigned long header_in( Fw_MD *pp_MD ) Delivers the first pv_header_size bytes of a message. For TCP/IP, pv_header_size (the length of the message header) is determined by the set_header_size method of the transfer (client or server) event handler. Class Fw_Transfer_EH The base class for client and server event handlers.
API Methods If your application includes a client event handler user implementation, it must implement all of the following methods that it uses, except those method implementations (if any) that it inherits from the NSDEFw_GFS class. Fw_Client_EH_User() Creates an Fw_Client_EH_User object. ~Fw_Client_EH_User() Destructor for the current Fw_Client_EH_User object. void connected() Invoked by a client event handler when it has successfully established a connection with its peer.
If connect returns true, the client event-handler user should expect to be called with either the connected or connect_failed method. Class Fw_Server_EH_User The base class for server event-handler users, a role played by the transfer portion of a client wrapper. This class is derived from the Fw_Transfer_EH_User class. API Data Fw_Server_EH *ip_EH Allows an implementation to store the pointer to the event handler associated with a server event-handler user.
~Fw_Server_EH() Destructor for the current Fw_Server_EH object. bool accept( void *pp_client_address ) Directs the server event handler to accept the connection with the peer indicated by the transport-dependent pp_client_address. The result of this method indicates whether the server event handler succeeded in accepting the connection. Class Fw_Listener_EH_User The base class for listener event-handler users, a role played by the listener portion of a client wrapper.
API Methods If your application includes a listener event handler implementation, it must implement all of the following methods that it uses, except those method implementations (if any) that it inherits from the NSDEFw_GFS class or either of the classes Fw_Sock_Client_EH or Fw_Sock_Server_EH. Fw_Listener_EH() Creates an Fw_Listener_EH object. ~Fw_Listener_EH() Destructor for the current Fw_Listener_EH object.
{ ... } class NSDEFw_GFS::Server { class NSDEFw_GFS::Server::Address { ... } class NSDEFw_GFS::Server::Event { ... } class NSDEFw_GFS::Server::EH { ...}} class NSDEFw_GFS::Listener { class NSDEFw_GFS::Listener::Address { ... } class NSDEFw_GFS::Listener::Event { ... } class NSDEFw_GFS::Listener::EH { ...}}} API Methods static unsigned long make_tag() Allocation of file-system completion tags is a process-wide mechanism. This implementation defers to the pthread tag generator.
Number of shorts in a process handle. IO_Type: Close_Msg, CPU_Down_Msg, Dialog_Abort_Msg, Open_Msg, Process_Deletion_Msg, Read_Msg, Write_Msg, Write_Read_Msg, Unknown_Msg Messages expected by Receive_EH. Dialog_Flags: Dialog_Abort, Dialog_Begin, Dialog_Middle, Not_Dialog For context-sensitive NonStop TS/MP (Pathsend) messages (the server end of a TS/MP dialogue is implemented with Guardian file-system components).
static Address* get_address() Factory. Use this instead of new. static put_address( Address* pp_address ) Recycler. Use this instead of delete. static unsigned hash( const Address& pr_address ) Rogue Wave tools.h dictionary-compatible hash method. bool operator==( const Address& pr_RHS ) Returns true if the instance and the right-hand side string compare on all API strings. API Data Declared in the header file, the following arrays are large enough to hold the standard Guardian file-system strings.
Destructor. API Data Fw_MD *ip_MD Pointer to a message data object. For delivering the results of READ operations to the event handler. Event *ip_next For chained events, can be used as a pointer to the next event in the chain. short iv_count Contains the completion count for the operation (as in AWAITIO). short iv_FE Contains any Guardian file-system error codes returned by the operation. Key iv_key Associates the FS Client Event object with the I/O operation it represents.
Destructor. unsigned hash( const Key &pr_key ) Static method that, given a Key, will generate a value usable by Rogue Wave dictionaries. int operator==( const Key &pr_RHS ) Compares the instance with the parameter on the right-hand side. Returns true if the two keys have identical values for iv_FN and iv_tag. API Data short iv_FN File number associated with operation. unsigned long iv_tag Nowait tag associated with operation.
appropriate with the I/O event. static void put_EH( EH *pp_EH ) Recycler. void send_message( Fw_Message *pp_msg ) Tells the event handler to deliver a full message over the event handlers connection. API Data Address *ip_address From the open message data, uniquely identifies the connection within this process. EH *ip_next For chained events, can be used as a pointer to the next event in the chain. short iv_file_number The clients file number associated with the connection.
void unregister_listener( Listener::Address *pp_address ) Removes the entry at pp_address from the listener dctionary. void unregister_server( Server::Address *pp_address ) Removes the entry at pp_address from the server dictionary. NSDEFw_GFS::Server Implements the Fw_Server_EH role using the other Guardian file-system server components. Class NSDEFw_GFS::Server::Address Provides a hashable abstraction used by Guardian file-system servers to uniquely identify connections.
Event() Constructor that creates an Event object. ~Event() Destructor. void reply( FE pv_FE ) A server event handler object calls this method when it has processed the event and associated any response message data with the event. API Data Fw_MD* ip_MD Points to any data associated with the I/O. Write data is attached by the Receive_EH. Read data is attached by an event handler for delivery to the client. Event* ip_next For chained events, can be used as a pointer to the next event in the chain.
void disconnect() Resets the event handler. void handle_event( Event *pp_event ) This method is invoked by a callback from the NonStop CORBA event framework when the event framework receives an I/O event of a type registered by the event handler. A legacy client wrapper must implement this method when playing the role of the server event handler. The implementation should do whatever is appropriate with the I/O event. void send_message( Fw_Message *pp_msg ) Queues the messages MDs to be sent.
Class NSDEFw_GFS::Listener::Event Events are generated by the Receive_EH upon receipt of OPEN messages. API Methods Event() Constructor that creates an NSDEFw_GFS::Listener::Event object. ~Event() Destructor for NSDEFw_GFS::Listener::Event objects. void reply( FE pv_FE ) Results in calling REPLYX to complete the Guardian file-system OPEN. API Data Server::Address *ip_address From the open message data, uniquely identifies the connection within this process. short iv_message_tag From FILE_GETRECEIVEINFO_.
void stop_listening() Called by a listener event handler user. Unregisters itself from the Receive_EH. gcfehoss.h Classes In general, the classes, methods, and data items declared in the gcfehoss.h header file ($NSD_ROOT/include/nsdevent/gcfehoss.h) are for internal use by NonStop CORBA. The single method described below, however, can be used in legacy server wrappers that issue nowait Pathsend requests without the use of a jacket procedure.
Saves an Fw_MD and its buffer for later reuse. This is the preferred method for disposing of an Fw_MD. static Fw_MD *get_3_tuple( const unsigned long pv_buffer_length ); Returns a new or recycled Fw_MD that is associated with a new or recycled buffer of the size indicated by pv_buffer_length. The default size (Fw_Message::DEFAULT_BUFFER_SIZE) should be passed as pv_buffer_length unless a larger buffer is desired for efficiency reasons.
void reset( void ); Combination of reset_read and reset_write. void reset_read( void ); Returns ip_user_read and iv_data_bytes to their original values. void reset_write( void ); Returns ip_user_write, iv_data_bytes, and iv_free_bytes to their original values. static void set_test_no_MDs( const bool pv_no_MDs ); Allows simulation of resource shortage for testing what happens if the ORB cant allocate a new Message Data descriptor. When pv_no_MD is true, the factory methods fail.
Class Fw_Message Framework Message. Provides an abstraction for a complete message, and a get/put recycling factory. Fw_Message objectss can be written to and read from. Fw_Message objects are implemented as a list of Fw_MDs. (see Fw_MD). See also Fw_Transfer_EH_User and NSDEFw_GFS. API Methods Fw_Message( void ); Constructor for an empty message. Note that the preferred method for obtaining an Fw_Message is get_message; ~Fw_Message(); Destructor. Deletes any associated Fw_MDs.
Returns the number of bytes that have been consumed from the Fw_Message. The original value is zero. void begin_read( void ); Prepares an Fw_Message for consumption by the read and skip_read methods. Note that begin_read must be called prior to the first call to read or skip_read. void read( char *pp_sink, const unsigned long pv_count ); Attempts to copy pv_count bytes from the list of Fw_MDs in the Fw_Message to the location pointed to by pp_sink.
Fw_Message::DEFAULT_BUFFER_SIZE. void write( char *pp_source, const unsigned long pv_count ); Transfers pv_count bytes from pp_source into the Fw_Message, starting after the last logical data byte in the Fw_Message. This is accomplished by calling write on the current write Fw_MD. If the Fw_MD is full, a new Fw_MD is obtained, added to the list in the Fw_Message, and made the current write Fw_MD. This is repeated until pv_count bytes have been transferred. iv_size is incremented by pv_count.
enum { MIN_BUFFER_SIZE } The minimum size of physical buffers allowed by the ORB. sockeh.h Classes The topics that follow describe the various classes declared in the sockeh.h header file ($NSD_ROOT/include/nsdevent/sockeh.h). Class Fw_Sock_Address API Methods Fw_Sock_Address() Creates an Fw_Sock_Address object. ~Fw_Sock_Address() Destructor for the current Fw_Sock_Address object. static unsigned hash( const Fw_Sock_Address &pr_address ) Rogue Wave dictionary-compatible hash method.
client event handler succeeded in initiating the connect protocol. If connect returns true, the client event-handler user should expect to be called with either theconnected or connect_failed method. void disconnect() Directs the event handler to terminate its connection. static EH* get_EH() Factory. Fw_Sock *get_ip_socket() Returns the IP socket. void put_EH( Fw_Sock_Client_EH *pp_EH ) Recycler. void send_message( Fw_Message *pp_msg ) Directs the event handler to deliver a full message over its connection.
Recycler. void send_message( Fw_Message *pp_msg ) Directs the event handler to deliver a full message over its connection. void set_trace( bool pv_trace ) Sets tracing on or off for the socket server event handler. API Data bool cv_trace_enabled Read-only; indicates whether tracing is set. Fw_Sock_Address iv_address Socket address. Class Fw_Sock_Listener_EH API Methods Fw_Sock_Listener_EH() Creates an Fw_Sock_Listener_EH object. ~Fw_Sock_Listener_EH() Destructor for the current Fw_Sock_Listener object.
Read-only; indicates whether tracing is set. Prev Chapter 8. NonStop CORBA vthread Interface Up Home Next Chapter 10.
Chapter 10. Exception Handling: NonStop CORBA Minor Codes Prev Next Chapter 10.
This minor code occurs in the context of a NO_MEMORY system exception. A sequence constructor failed to obtain memory for the sequence elements. 502 -1314062838 - MINOR_SEQ_COPY_CONSTRUCTOR This minor code occurs in the context of a NO_MEMORY system exception. A sequence copy constructor failed to obtain memory for the sequence elements. 503 -1314062839 - MINOR_SEQ_BOUND This minor code occurs in the context of a BAD_PARAM system exception.
This minor code occurs in the context of a BAD_PARAM system exception. The operator( ) method was asked to return a sequence of strings that does not exist. 512 - 1314062848 - MINOR_STR_SEQ_ASSIGNMENT This minor code occurs in the context of a NO_MEMORY system exception. A sequence assignment operator failed to obtain memory for the sequence strings. 513 - 1314062849 - MINOR_OBJ_SEQ_CONSTRUCTOR This minor code occurs in the context of a NO_MEMORY system exception.
an illegal value. The requested action is not performed. 523 - 1314062859 - MINOR_BAD_STRUCT_VAR This minor code occurs in the context of a BAD_PARAM system exception. A _var class was asked to marshal itself but the ipVar member was not initialized. The _var must be initialized to a valid struct before marshalling. 524 - 1314062860 - MINOR_BAD_UNION_VAR This minor code occurs in the context of a BAD_PARAM system exception. A _var class was asked to marshal itself but the ipVar member was not initialized.
corrupted the request ID. Another (highly unlikely) scenario is that the request id value (a long data type) wrapped around (was reissued) during the time period that the preceding request was outstanding. 530 - 1314062866 - MINOR_ROOT_NC_NOT_FOUND This minor code indicates an error in the NonStop CORBA configuration database. A call to org.omg.CORBA.ORG.resolve_initial_references( ) cannot successfully open the RootNamingContextIORFile file referred to in the configuration database.
the POA was not generated by the POA executing the call (this( ) POA). Note When a server is restarted, any POA on that server that has LifespanPolicy::PERSISTENT policy does not need to (and in fact does not) recognize all object ids. 601 - 1314062937 - MINOR_BAD_SERVANT_MANAGER This minor code occurs in the context of a BAD_PARAM system exception.
(it is not active) in order to process a request. A TRANSIENT exception is generated when the actual state is Discarding; otherwise, the OBJ_ADAPTER exception is raised, typically because the state is Inactive. (If the state were Holding, an exception would not be raised; instead, the request would be delayed (held) until the POA manager was requested to change to another state. 607 - 1314062943 - MINOR_WRONG_PROCESS This minor code occurs in the context of an INV_OBJECT system exception.
application servant manager returned an incorrect servant for a request. This might also happen if the client sending the request is a not a NonStop CORBA ORB and the client is trying to invoke a method on a CORBA object that NonStop CORBA currently does not support. Turn POA tracing on (environment variable NSDOM_CFG_TRACE_POA) to see the name of the operation that is having a problem 613 - 1314062949 - MINOR_POA_DESTROYED This minor code occurs in the context of an OBJECT_NOT_EXIST system exception.
This minor code occurs in the context of a MARSHAL system exception. This minor code indicates that a demarshalled length value is too large to be legal. Either the buffer is corrupt or the sender marshalled something different from what is being demarshalled. 704 - 1314063040 - MINOR_NOT_IN_VALUE_DICT: CORBA::MARSHAL Occurs when demarshalling an indirect value and the type has not been previously encountered.
Release the reference and obtain a new one 1003 - 1314063339 - MINOR_INITIALIZATION ● This minor code occurs in the context of a COMM_FAILURE system exception. This minor code indicates a failure to initialize the GIOP protocol component of a server. There are several different protocols (tcp_server, gfs_server, and tsmp_server) with different possible causes for each one.
configured tcp server in the configuration database. 1103 - 1314063439 - MINOR_NO_DIRECT_PORT This minor code occurs in the context of an OBJECT_NOT_EXIST system exception. This minor code indicates that the LSD was unsuccessful when it attempted to find the port number of the configured tcp server in the configuration database.
LSD does not exist. 1108 - 1314063444 - MINOR_NO_CLIENT_ADDRESS This minor code occurs in the context of an INTERNAL system exception. This minor code indicates that the client listed in the csmap@map_table is not valid. 1109 - 1314063445 - MINOR_NOT_NSDOM_OBJECT_KEY This minor code occurs in the context of an OBJECT_NOT_EXIST system exception. This minor code indicates that the LSD was asked to find the location of an object which is not hosted by NonStop CORBA (not a valid operation).
value or a HP NonStop proprietary floating-point value was too large to be represented in the other format. 1502 - 1314063838 - MINOR_NOT_A_NUMBER This minor code occurs in the context of a MARSHAL system exception. A floating-point value was found not to represent a real number (as defined in terms of "NAN" values). Context Minor Code Values (Numbers 1600 - 1699) 1600 - 1314063936 - MINOR_NOT_STRING This minor code occurs in the context of a BAD_CONTEXT system exception.
exception could be a process in the server role received a request targeted for a transactional object, but the ORB was unable to find the OTS runtime component responsible for processing the service context. The client receives the exception returned from the server. In that case, it could be that the process was not properly linked with the OTS runtime library (nsdots.o) or that there is a memory corruption problem in the application or the ORB. Ensure the Makefile for the application includes nsdots.
1803 - 1314064139 - MINOR_DUPLICATE_REPOID This minor code occurs in the context of an INTF_REPOS system exception. It indicates that an attempt was made to insert a Contained object into a Container object, but the Container object had an existing Contained object with a matching RepositoryId. 1804 - 1314064140 - MINOR_DUPLICATE_NAME This minor code occurs in the context of an INTF_REPOS system exception.
if set_result( ) is called after set_exception( ) has been called. 1903 - 1314064239 - MINOR_CTX_BEFORE_ARGS This minor code occurs in the context of a BAD_INV_ORDER system exception. In a normal DSI scenario, the ctx( ) operation of the ServerRequest pseudo object, if called, must be called after the arguments( ) operation. This minor code is generated if ctx( ) is called after arguments( ). 1904 - 1314064240 - MINOR_CTX_TWICE This minor code occurs in the context of a BAD_INV_ORDER system exception.
This minor code occurs in the context of a BAD_INV_ORDER system exception. If arguments( ) or set_exception( ) has been called, calling arguments( ) again on the same ServerRequest will result in the generation of this minor code. Note that calling set_exception( ) obviates the need to call arguments( ). 1910 - 1314064246 - MINOR_ARGS_AFTER_EX This minor code occurs in the context of a BAD_INV_ORDER system exception.
Interoperable Naming Service (INS) Minor Code Values (Numbers 3000 - 3099) 3000 - 1314065336 - BadAddress Occurs when the ORB is asked to parse a URL containing an invalid address component. 3001 - 1314065337 - BadSchemeName: CORBA::BAD_PARAM Generated by the ORB when asked to parse a URL containing an invalid scheme name. 3002 - 1314065338 - BadSchemeSpecificPart Generated by the ORB when asked to parse a URL containing an invalid scheme specific part.
Chapter 11. NonStop CORBA System Error Messages Prev Next Chapter 11.
Common Error Messages (Error numbers 1000 1099) 1001 - ZDOM-GEN-ERR-NO-MEMORY User Action: During ORB initialization, access to the NSDCFGDB configuration database is initiated. If an internal database object can not be instantiated, a no memory message is posted. This message might indicate a corrupt database. 1002 - ZDOM-GEN-ERR-CONFIG User Action: During ORB initialization, access to the NSDCFGDB configuration database is initiated.
User Action : Five attempts have been made to open a database named name with unsuccessful results. Check the name, permissions and filecode (the filecode type should be 426). 1212 - Attempted delete of database failed: Delete for database failed: name User Action: Unable to delete the requested database. Check the database permissions or the number of existing opens for the database.
User Action: This error occurs during direct tcp_server initialization if the profile@ORB{host_name} key can't be retrieved from the configuration database. Verify that the server has the correct NSDOM_CFG_DBM environment; verify that the server should be configured as a direct tcp_server (as opposed to USE_COMM_SERVER), verify that the configuration database contains a valid profile@ORB{host_name} key and value. 1604 -Configuration error.
1613 - Expected null for object key name User Action: This error is generated when a POA is creating an object reference if the proxy's object key is not null. 1614 - GIOP Proxy marshalling 0 profiles User Action: This error occurs during the marshalling of an object reference, either as part of object_to_string or generating the response data for an out param or result, and there are no protocols enabled. Verify that the profile used with the process is present in the configuration database.
name is too large. This field is generated by NonStop CORBA. This error can indicate a serious error. Capture the ior and contact your service provider. 1624 - Object key error. Bad subdev name name User Action: This error occurs during demarshalling of a file system profile if the subdevice field is too long. This field is generated by NonStop CORBA. This error can indicate a serious error. Capture the ior and contact your service provider.
configured profile that has a port number of zero. Change the configured profile so that the port number is nonzero. 1635 - (ZDOM-ORB-ERR35) User Action: The Java ORB contains an internal event framework used to access the standard TCP/IP, File System and Pathway protocols. If there is a critical error during the processing of a framework event message, the Java ORB will generate a ZDOM-ORB-ERR35 message with the current Java stack trace as the message body. The event framework then exits the application.
2007 - Object key error. Bad server class name User Action: This error is the same as Error 2005, except it applies to the server_class value. 2008 - Internal error. Address not found User Action: This error occurs during tsmp server agent tear-down; the agent table is not consistent. Contact your service provider. 2009 - Object key error. Bad system name User Action: This error occurs when the file system is relaying a request; the tsmp relay profile contains a system name that is too large.
User Action: Make sure the IR database has read/write permission. 2205: Cannot insert key/value for IR object User Action: Make sure the IR database has read/write permission. 2206: Cannot read IR object from the IR database. IR object name User Action: Make sure the IR database has read permission. 2207: IR object type is invalid for the operation User Action: Make sure the IR object is of right type to invoke the operation.
interact with the push consumer. Verify that no unexpected error occurred in an application provided push consumer. If the the push consumer correctly ceased to exist, no further action is necessary. For best results, the push consumer should be be reworked to correctly disconnect from the event channel before exiting. If the push consumer process failed, restart it and have it reregister with the event channel.
Naming Service Error Messages (Error numbers 2800 - 2999) 2801 - Could not execute resolve_initial_references successfully User Action: Internal error, contact your service provider. 2802 - Cannot get Naming Database name from configuration database User Action: Set the 'DatabaseName' value in the NS@name_service_settings entity. 2803 - Could not create POA ['NamingContextPOA' | 'BindingIteratorPOA'] User Action: Internal error, contact your service provider.
2815 - Could not insert record into naming database User Action: This error message will also report the binding name component id of "NEW_CONTEXT" if the error was generated when you were attempting to create a new context. Check that naming database file exists and the user has has write access. 2817 - Could not narrow to CosNaming::NamingContext User Action: Internal error, contact your service provider.
JTS Error Messages (Error numbers 3600 - 3799) 3601 - CORBA services error message-text User Action: NonStop CORBA services either are not operating or are not installed correctly. JTS could not get the TransactionFactory object from the Naming Service. Ensure that the CORBA services are installed and operating properly, and that the correct versions of all other required software are installed. Then retry the operation. If the problem persists, contact your service provider.
Contact your service provider. 3609 - Transaction creation error message-text User Action: A JTS internal error occurred. The transaction could not be created. Contact your service provider. 3610 - Thread context error message-text User Action: A JTS internal error occurred. JTS could not get the thread context. Contact your service provider. 3611 - Transaction rollback error message-text User Action: A JTS internal error occurred. The current transaction could not be rolled back.
Index Prev Index A Any Values, Dynamic Management of, Dynamic Management of Any Values (9.0) B Bi-Directional GIOP, Bi-Directional GIOP (15.8) IIOP, Bi-Directional IIOP (15.8.1) C C++ Language Mapping, C++ Language Mapping Code Set Conversion, Code Set Conversion (13.7) Core CORBA, Core CORBA D DEC ESIOP, The DCE ESIOP (16) Dynamic Invocation Interface, Dynamic Invocation Interface Dynamic Management of Any Values, Dynamic Management of Any Values (9.0) E ehbase.h classes, ehbase.
Error Messages Comm Server Error, Comm Server Error Messages (Error numbers 2000 - 2199) Database Error, Database Error Messages (Error numbers 1200 - 1399) Event Framework, Event Framework Messages (Error numbers 1100 - 1199) Event Service Error, Event Service Error Messages (Error numbers 2600 - 2799) Interface Repository Error, Interface Repository Error Messages (Error numbers 2200 - 2399) JTS Error, JTS Error Messages (Error numbers 3600 - 3799) Naming Service Error, Naming Service Error Messages (Erro
GIOP Bi-Directional, Bi-Directional GIOP (15.8) Message Formats, GIOP Message Formats (15.4) I IDL Syntax and Semantics, OMG IDL Syntax and Semantics: Overview (3.1) IIOP IOR Profiles, IIOP IOR Profiles (15.7.2) Interface Repository, The Interface Repository: TypeCodes (10.
Interface Repository Error, Interface Repository Error Messages (Error numbers 2200 - 2399) JTS Error, JTS Error Messages (Error numbers 3600 - 3799) Naming Service Error, Naming Service Error Messages (Error numbers 2800 - 2999) ORB Error, ORB Error Messages (Error numbers 1600 - 1799) OTS Error, Object Transaction Service (OTS) Error Messages (Error numbers 2400 - 2599) Trace Error, Trace Error Messages (Error numbers 1400 - 1599) Minor Codes, Exception Handling: NonStop CORBA Minor Codes Bootstrap Daemon
OSFM Registry Interfaces, Relevant OSFM Registry Interfaces (13.9) P POA, The Portable Object Adaptor: create_POA (11.3.8.2) Profiles, IIOP IOR, IIOP IOR Profiles (15.7.2) R Registry Interfaces, OSFM, Relevant OSFM Registry Interfaces (13.9) Repository, Interface, The Interface Repository: TypeCodes (10.7) S ServiceIDs, Object Service Context (13.6.7) sockeh.h classes, sockeh.
Prev Chapter 11.