* Add file descriptors to fd_sets.
*
* The pre_select function of each supported sender is called just before
- * para_server enters its main select loop. Each sender may add its own
- * file descriptors to the \a rfds or the \a wfds set.
- *
- * If a file descriptor was added, \a max_fileno must be increased by
- * this function, if necessary.
+ * para_server enters its main select loop. Each sender may watch its own
+ * file descriptors for reading or writing.
*
* \sa select(2).
*/
- void (*pre_select)(int *max_fileno, fd_set *rfds, fd_set *wfds);
+ void (*pre_select)(struct sched *s);
/**
* Handle the file descriptors which are ready for I/O.
*
- * If the pre_select hook added one ore more file descriptors to the
- * read or write set, this is the hook to check the result and do any
- * I/O on those descriptors which are ready for reading/writing.
+ * If the pre_select hook asked for one or more file descriptors to be
+ * watched, this is the hook to check the result and perform I/O on the
+ * descriptors which are ready for reading/writing.
*/
- void (*post_select)(fd_set *rfds, fd_set *wfds);
+ void (*post_select)(struct sched *s);
/**
* Terminate all connected clients.
*
void generic_acl_deplete(struct list_head *acl);
void generic_com_off(struct sender_status *ss);
char *generic_sender_help(void);
-struct sender_client *accept_sender_client(struct sender_status *ss, fd_set *rfds);
+struct sender_client *accept_sender_client(struct sender_status *ss);
int send_queued_chunks(int fd, struct chunk_queue *cq);
int parse_fec_url(const char *arg, struct sender_command_data *scd);