oracular (3) lc_ctx_coding_set.3.gz

Provided by: liblibrecast-dev_0.8.0-2_amd64 bug

NAME

       lc_ctx_coding_set, lc_channel_coding_set - set Librecast channel encoding options

LIBRARY

       Librecast library (liblibrecast, -llibrecast)

SYNOPSIS

       #include <librecast/net.h>

       int lc_ctx_coding_set(lc_ctx_t *ctx, int coding);
       int lc_channel_coding_set(lc_channel_t *chan, int coding);

       Compile and link with -llibrecast.

DESCRIPTION

       lc_ctx_coding_set() sets the default encoding options for sockets and channels subsequently created using
       context ctx.

       lc_channel_coding_set() sets encoding options for a Librecast  channel,  chan,  overriding  any  defaults
       inherited from the parent Librecast context.

       chan is a pointer to a Librecast channel.

       The coding argument can include the bitwise OR of any of the following coding options:

       LC_CODE_SYMM
              Enable  symmetric  key  encryption. Requires that a symmetric key has been assigned to the Channel
              with lc_channel_set_sym_key(3)

       LC_CODE_FEC_RQ
              Enables RaptorQ Forwards Error Correction (FEC).  Calling lc_channel_send(3) as normal encodes the
              data  to  be  sent.   Subsequent  calls  to  lc_channel_send() with buf == NULL will send the next
              symbol/packet.  To receive, call lc_channel_coding_set (chan, LC_CODE_FEC_RQ) on the receiver  and
              then  lc_channel_recv().   Encodings  are  per  channel, not per socket, so it is necessary to use
              lc_channel_recv(), not lc_socket_recv(3).

       LC_CODE_FEC_RAND
              Requires LC_CODE_FEC_RQ.  Use random symbols instead of sequential ESIs.

RETURN VALUE

       Returns the current value of the channel coding options.

ERRORS

       None.

SEE ALSO

       lc_channel_new(3),  lc_channel_close(3),  lc_channel_send(3),  lc_channel_set_sym_key(3),  lc_ctx_new(3),
       lc_socket_setopt(3), lc_socket_recv(3)