X-Git-Url: http://git.tuebingen.mpg.de/?p=paraslash.git;a=blobdiff_plain;f=send.h;h=01e0d0a850586312d4c6f4376ee7373ccdde9f93;hp=df0cd1cb0612c1f3e52078e1d3478423566c8152;hb=23b121a85984baa9252f4b4c0b8c4f186e394bb7;hpb=fd652c08d4b5b26032646c449e1979c48018b70a diff --git a/send.h b/send.h index df0cd1cb..01e0d0a8 100644 --- a/send.h +++ b/send.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2005-2010 Andre Noll + * Copyright (C) 2005-2013 Andre Noll * * Licensed under the GPL v2. For licencing details see COPYING. */ @@ -87,6 +87,15 @@ struct sender { * pointer means this command is not implemented by this sender. */ int (*client_cmds[NUM_SENDER_CMDS])(struct sender_command_data*); + /** + * Resolve target-specific URL string + * + * This method must be defined if the sender supports the add/delete + * subcommands. It interprets a string specifying a target URL in a + * sender-specific fashion (e.g. embedded FEC string). It can also + * fill in sender-specific defaults if necessary. + */ + int (*resolve_target)(const char *, struct sender_command_data *); }; /** Describes one client, connected to a paraslash sender. */ @@ -122,8 +131,8 @@ struct fec_client_parms { 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, initially zero. */ - uint16_t max_slice_bytes; + /** Whether the header must be sent periodically. */ + bool need_periodic_header; /** * Transport-layer initialisation for FEC support. * @@ -137,7 +146,7 @@ struct fec_client_parms { */ int (*init_fec)(struct sender_client *sc); /** Push out FEC-encoded packets */ - int (*send_fec)(struct sender_client *sc, char *buf, size_t len); + void (*send_fec)(struct sender_client *sc, char *buf, size_t len); }; /** Describes the current status of one paraslash sender. */