next up previous contents
Next: 8.8 fluke_ipc_reply_wait_receive: reply to Up: 8 Interprocess Communication Previous: 8.6 fluke_ipc_client_connect_send_over_receive: perform a

8.7 fluke_ipc_reply: reply to an idempotent call

SYNOPSIS

fluke_error_t fluke_ipc_reply(fluke_ipc_params_t *ipc_params);

DESCRIPTION

This operation completes an idempotent IPC invocation by returning the reply. The destination of the reply is implied by the outstanding request which the replying thread is servicing. The reply message in described in the send fields of ipc_params. A reply message may be dropped with no notification to the server. In this case the request message will eventually be resent, reserviced and a new reply sent.

If the reply message supplied is larger than the client's receive buffer, the excess is silently discarded. Calls to fluke_ipc_reply when not in the context of an fluke_ipc_call are silently ignored.

PARAMETERS

ipc_params
A pointer to a structure describing data and references to send. Only the send parameter fields in this structure are used; the receive parameter fields are ignored. All fields remain unmodified by the call.

RETURNS

Returns FLUKE_SUCCESS. Does not imply that the reply was received or even sent.

ERRORS

If any of the following errors is detected by the Fluke implementation, it causes the current thread to take a synchronous exception with one of the following codes. All of these have an implicit FLUKE_INSANITY_ prefix.
NO_OBJECT
A pointer in the ipc_params send reference array does not refer to an active object.
NOT_REF
An object in the ipc_params send reference array is not a reference object.
INVALID_OBJECT
The state of an object in the ipc_params send reference array is invalid.
BUFFER_UNALIGNED
A message buffer was not aligned properly according to the architecture-specific requirements.

RELATED INFORMATION

fluke_ipc_call



Utah Flux Research Group