Avis Client Library: Elvin Struct Reference

# Elvin Struct Reference

`#include <avis/elvin.h>`

## Detailed Description

A client connection to an Elvin router.

Typically a client creates a connection (elvin_open()) and then subscribes to notifications (elvin_subscribe()) and/or sends them (elvin_send()). For applications that create subscriptions, the usual model is to connect, subscribe and then call elvin_event_loop() to dispatch incoming notifications.

## Threading Model

Elvin client connections are single-threaded, and are designed to be driven by a thread calling elvin_event_loop(). Multi-threaded applications should use elvin_invoke() to safely invoke operations in the event loop thread.

See also:
  elvin_open()

  elvin_open_uri()

  elvin_close()

  elvin_event_loop()

  elvin_invoke()

## Data Fields
socket_t | router_socket
socket_t | control_socket_read
socket_t | control_socket_write
ArrayList | subscriptions
Listeners | close_listeners
Listeners | notification_listeners
Keys * | notification_keys
Keys * | subscription_keys
bool | polling
ElvinError | error
time_t | last_receive_time

## Field Documentation

socket_t Elvin::router_socket

socket_t Elvin::control_socket_read

socket_t Elvin::control_socket_write

ArrayList Elvin::subscriptions

Listeners Elvin::close_listeners

Listeners Elvin::notification_listeners

Keys* Elvin::notification_keys

Keys* Elvin::subscription_keys

bool Elvin::polling

ElvinError Elvin::error

time_t Elvin::last_receive_time

The documentation for this struct was generated from the following file:

- avis/elvin.h