Index Index for
Section 3
Index Alphabetical
listing for E
Index Bottom of
page

EvmEventPost(3)

NAME

EvmEventPost - Posts an event

LIBRARY

EVM Support Library (libevm.so, libevm.a)

SYNOPSIS

#include <evm/evm.h> EvmStatus_t EvmEventPost( EvmConnection_t connection, const EvmEvent_t event);

OPERANDS

connection The connection through which events are posted. See the EvmConnCreate(3) reference page. event The event that is to be posted to the specified connection. See the EvmEventCreate(3) reference page.

DESCRIPTION

Once a posting connection is established to the EVM daemon, a client uses EvmEventPost() to post events for distribution to subscribers. When the posting function is called, it does some preliminary validation of the event. If preliminary validation of the event fails, the event is not passed to the daemon and the failure is reported immediately through the return code. If preliminary validation succeeds, the event is passed to the daemon. The type of response depends on the response mode specified when the connection was created.

NOTES

Posting an event does not destroy it. The user must explicitly call EvmEventDestroy() to destroy the event and free its memory once it is no longer needed. You should avoid posting a large number of events in rapid succession, since this may cause the connection's send buffer to fill, and the posting process to block until the EVM daemon has relieved some or all of the data. Although this is a normal part of process synchronization, some high- performance processes may prefer to block as infrequently as possible. EvmConnControl() can be used to increase the size of the send buffer. See the EvmConnControl reference page for more information.

RESTRICTIONS

None

RETURN VALUES

EvmERROR_NONE The operation was completed without error. EvmERROR_INVALID_ARGUMENT One of the arguments to the function was invalid. EvmERROR_INVALID_OPERATION The EVM daemon rejected the event because it is not registered. EvmERROR_INVALID_VALUE A value in a structure member is invalid. EvmERROR_NO_MEMORY An operation failed because an attempt to acquire heap memory failed. EvmERROR_QUEUED One or more messages is queued for sending to the EVM daemon. EvmERROR_READ A read error occurred while reading from the EVM daemon connection. Invoke EvmConnDestroy() to destroy the connection. EvmERROR_WRITE A write error occurred while writing to the EVM daemon connection. Invoke EvmConnDestroy() to destroy the connection.

ERRORS

None

FILES

None

SEE ALSO

Routines: EvmConnControl(3), EvmConnCreate(3), EvmConnDestroy(3), EvmConnRegistrationGet(3), EvmEventCreate(3), EvmEventDestroy(3) Event Management: EVM(5) Event Connection: EvmConnection(5) EVM Events: EvmEvent(5)

Index Index for
Section 3
Index Alphabetical
listing for E
Index Top of
page