| Elektra 0.11.0

Functions
zeromq.c File Reference

I/O Adapter for D-Bus. More...

`#include <kdbassert.h>`
`#include <kdbhelper.h>`
`#include <kdbio/adapters/zeromq.h>`
`#include <kdblogger.h>`
`#include <stdlib.h>`
`#include <string.h>`

## Functions
ElektraIoAdapterZeroMqHandle * | elektraIoAdapterZeroMqAttach (void *socket, ElektraIoInterface *ioBinding, ElektraIoAdapterZeroMqCallbackType type, ElektraIoAdapterZeroMqCallback callback, void *context)
| Attach to ZeroMq socket.
void | elektraIoAdapterZeroMqSetContext (ElektraIoAdapterZeroMqHandle *handle, void *context)
| Set the callback context for a ZeroMq adapter handle.
int | elektraIoAdapterZeroMqDetach (ElektraIoAdapterZeroMqHandle *handle)
| Remove ZeroMq socket from I/O binding.

## Detailed Description

I/O Adapter for D-Bus.

Copyright
  BSD License (see LICENSE.md or https://www.libelektra.org)

## Function Documentation

## ◆ elektraIoAdapterZeroMqAttach()

ElektraIoAdapterZeroMqHandle * elektraIoAdapterZeroMqAttach | ( | void * | socket,
|  | ElektraIoInterface * | ioBinding,
|  | ElektraIoAdapterZeroMqCallbackType | type,
|  | ElektraIoAdapterZeroMqCallback | callback,
|  | void * | context
| ) |  |

Attach to ZeroMq socket.

The callback is called whenever socket is readable or writable (depending on type) and data can be processed. The callback should not do blocking calls (e.g. use ZMQ_DONTWAIT for zmq_*recv()). Since ZeroMq guarantees that multipart messages arrive at once, data will be available. New adapter instances are enabled.

Parameters

  socket | ZeroMq socket
  ioBinding | I/O binding
  type | callback type (

See also
  ElektraIoAdapterZeroMqCallbackType)

Parameters

  callback | callback
  context | callback context (gets passed to callback)

Returns
  handle to use with elektraIoZeroMqAdapterDetach() or NULL on error

## ◆ elektraIoAdapterZeroMqDetach()

int elektraIoAdapterZeroMqDetach | ( | ElektraIoAdapterZeroMqHandle * | handle | ) |

Remove ZeroMq socket from I/O binding.

This function frees the passed handle.

Parameters

  handle | adapter handle

Return values

  1 | on success
  0 | on error

## ◆ elektraIoAdapterZeroMqSetContext()

void elektraIoAdapterZeroMqSetContext | ( | ElektraIoAdapterZeroMqHandle * | handle,
|  | void * | context
| ) |  |

Set the callback context for a ZeroMq adapter handle.

The previous context is replaced and not freed.

Parameters

  handle | adapter handle
  context | new callback context