-/**
- * Each paraslash sender may register arbitrary many clients to the virtual
- * streaming system, possibly with varying fec parameters. In order to do so,
- * it must allocate a \a fec_client_parms structure and pass it to \ref
- * add_fec_client.
- *
- * Clients are automatically removed from that list by the vss if an error
- * occurs, or if the sender requests deletion of a client by calling \ref
- * vss_del_fec_client().
- */
-struct fec_client;
-
-/** FEC parameters requested by FEC clients. */
-struct fec_client_parms {
- /** Number of data slices plus redundant slices. */
- uint8_t slices_per_group;
- /** Number of slices minus number of redundant slices. */
- uint8_t data_slices_per_group;
- /** Maximal number of bytes per slice. */
- uint16_t max_slice_bytes;
- /** Called by vss.c when the next slice should be sent. */
- int (*send)(char *buf, size_t num_bytes, void *private_data);
- /** Passed verbatim to \a send(). */
- void *private_data;
-};
-
-int vss_add_fec_client(struct fec_client_parms *fcp, struct fec_client **result);