X-Git-Url: http://git.tuebingen.mpg.de/?p=paraslash.git;a=blobdiff_plain;f=send.h;h=836babd50845088be08a2061fe39cc6ffd7760cb;hp=80a268bf3d824bf2a60e4de9426715629420d898;hb=fa578bf1d070161cafcbcc69ca7b810414ee1a4b;hpb=72d73eb53316768a5a3527cf56afad7158d9ef4d diff --git a/send.h b/send.h index 80a268bf..836babd5 100644 --- a/send.h +++ b/send.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2005-2010 Andre Noll + * Copyright (C) 2005-2011 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. * @@ -160,9 +169,6 @@ struct sender_status { void shutdown_client(struct sender_client *sc, struct sender_status *ss); void shutdown_clients(struct sender_status *ss); -void send_chunk(struct sender_client *sc, struct sender_status *ss, - long unsigned current_chunk, const char *buf, size_t len, - const char *header_buf, size_t header_len); void init_sender_status(struct sender_status *ss, char **access_arg, int num_access_args, int port, int max_clients, int default_deny); char *get_sender_info(struct sender_status *ss, const char *name);