TibrvStatus

Class

Declaration

class TibrvStatus
  TibrvStatus();
                     // Construct empty.
  TibrvStatus(tibrv_status status);  // Construct from C status.
  ~TibrvStatus();                    // Reclaim storage.

Purpose

Encapsulate status codes.

Remarks

Status codes are the enumerated values of tibrv_status.

Method

Description

TibrvStatus::getCode()

Extract the C status code from a status object.

TibrvStatus::getText()

Extract an interpretive string from a status object.

Constant

Description

TIBRV_OK

The method returned without error.

TIBRV_INIT_FAILURE

Cannot create the network transport.

TIBRV_INVALID_TRANSPORT

The transport has been destroyed, or is otherwise unusable.

TIBRV_INVALID_ARG

An argument is invalid. Check arguments other than messages, subject names, transports, events, queues and queue groups (which have separate status codes).

TIBRV_NOT_INITIALIZED

The method cannot run because the Rendezvous environment is not initialized (open).

TIBRV_ARG_CONFLICT

Two arguments that require a specific relation are in conflict. For example, the upper end of a numeric range is less than the lower end.

TIBRV_SERVICE_NOT_FOUND

TibrvNetTransport::create() cannot match the service name using getservbyname().

TIBRV_NETWORK_NOT_FOUND

TibrvNetTransport::create() cannot match the network name using getnetbyname().

TIBRV_DAEMON_NOT_FOUND

TibrvNetTransport::create() cannot match the daemon port number.

TIBRV_NO_MEMORY

The method could not allocate dynamic storage.

TIBRV_INVALID_SUBJECT

The method received a subject name with incorrect syntax.

TIBRV_DAEMON_NOT_CONNECTED

The Rendezvous daemon process (rvd) exited, or was never started. This status indicates that the program cannot start the daemon and connect to it.

TIBRV_VERSION_MISMATCH

The library, header files and Rendezvous daemon are incompatible.

TIBRV_SUBJECT_COLLISION

It is illegal to create two certified listener events on the same CM transport with overlapping subjects.

TIBRV_VC_NOT_CONNECTED

A virtual circuit terminal was once complete, but is now irreparably broken.

TIBRV_NOT_PERMITTED

The program attempted an illegal operation.

For example:

Cannot create ledger file.
Cannot confirm an uncertified message (that is, it has no sequence number).

TIBRV_INVALID_NAME

The field name is too long; see Field Name Length.

TIBRV_INVALID_TYPE

1. The field type is not registered.

2. Cannot update field to a type that differs from the existing field’s type.

TIBRV_INVALID_SIZE

The explicit size in the field does not match its explicit type.

TIBRV_INVALID_COUNT

The explicit field count does not match its explicit type.

TIBRV_NOT_FOUND

The method could not find the specified field in the message.

TIBRV_ID_IN_USE

Cannot add this field because its identifier is already present in the message; identifiers must be unique.

TIBRV_ID_CONFLICT

After field search by identifier fails, search by name succeeds, but the actual identifier in the field is non-NULL (so it does not match the identifier supplied).

TIBRV_CONVERSION_FAILED

The method found the specified field, but could not convert it to the desired datatype.

TIBRV_RESERVED_HANDLER

The datatype handler number is reserved for Rendezvous internal datatype handlers.

TIBRV_ENCODER_FAILED

The program’s datatype encoder failed.

TIBRV_DECODER_FAILED

The program’s datatype decoder failed.

TIBRV_INVALID_MSG

The method received a message argument that is not a well-formed message; for example, NULL.

TIBRV_INVALID_FIELD

The program supplied an invalid field as an argument.

TIBRV_INVALID_INSTANCE

The program supplied zero as the field instance number (the first instance is number 1).

TIBRV_CORRUPT_MSG

The method detected a corrupt message argument.

The most common cause is that the program corrupted storage by accessing the message in two threads simultaneously (without proper locking).

TIBRV_TIMEOUT

A timed dispatch call returned without dispatching an event.

A send request call returned without receiving a reply message.

A virtual circuit terminal is not yet ready for use.

TIBRV_INTR

Interrupted operation.

TIBRV_INVALID_DISPATCHABLE

The method received an event queue or queue group that has been destroyed, or is otherwise unusable.

TIBRV_INVALID_DISPATCHER

The method received a dispatcher that is invalid or has been destroyed.

TIBRV_INVALID_EVENT

The method received an event that has been destroyed, or is otherwise unusable.

TIBRV_INVALID_CALLBACK

The method received NULL instead of a callback method.

TIBRV_INVALID_QUEUE

The method received a queue that has been destroyed, or is otherwise unusable.

TIBRV_INVALID_QUEUE_GROUP

The method received a queue group that has been destroyed, or is otherwise unusable.

TIBRV_INVALID_TIME_INTERVAL

The method received a negative timer interval.

TIBRV_INVALID_IO_SOURCE

The method received an invalid I/O source (for this operating system).

TIBRV_INVALID_IO_CONDITION

The method received an invalid I/O condition (for this operating system).

TIBRV_SOCKET_LIMIT

The operation failed because of an operating system socket limitation.

TIBRV_OS_ERROR

Tibrv::open() encountered an operating system error.

TIBRV_INSUFFICIENT_BUFFER

The method received a buffer argument that is too small to contain the result.

TIBRV_EOF

End of file.

TIBRV_INVALID_FILE

1. Ledger file is not recognizable as such.

2. TibrvSdContext:setUserCertWithKey() or TibrvSdContext:setUserCertWithKeyBin() could not complete a certificate file operation; this status code can indicate either disk I/O failure, or invalid certificate data, or an incorrect password.

TIBRV_FILE_NOT_FOUND

Rendezvous software could not find the specified file.

TIBRV_NOT_FILE_OWNER

The program cannot open the specified file because another program owns it.

For example, ledger files are associated with correspondent names.

TIBRV_IO_FAILED

Cannot write to ledger file.