X-Git-Url: http://git.tuebingen.mpg.de/?a=blobdiff_plain;f=dccp_send.c;h=6182c964fde04719ee4736dc43482caf434ee395;hb=6bbc7c29dd69ed34ef90dac72951abbfd7cc1877;hp=5c274237ce33a106c90b3570b000f01572c5ad44;hpb=bb899fb1a0c279a2890ff30d11bf7aec50fb92ed;p=paraslash.git diff --git a/dccp_send.c b/dccp_send.c index 5c274237..6182c964 100644 --- a/dccp_send.c +++ b/dccp_send.c @@ -36,7 +36,7 @@ struct dccp_fec_client { struct fec_client *fc; }; -static void dccp_pre_select(struct sched *s) +static void dccp_pre_monitor(struct sched *s) { unsigned n; @@ -45,6 +45,10 @@ static void dccp_pre_select(struct sched *s) sched_monitor_readfd(dss->listen_fds[n], s); } +#ifndef DCCP_SOCKOPT_TX_CCID +#define DCCP_SOCKOPT_TX_CCID 14 /**< Set/get the TX CCID. */ +#endif + /** * Query the TX CCID used on the sender-client half connection. * \param sockfd Server socket descriptor to query (after accept(2)). @@ -89,6 +93,13 @@ static void dccp_shutdown(void) free_sender_status(dss); } +#ifndef DCCP_SOCKOPT_GET_CUR_MPS +#define DCCP_SOCKOPT_GET_CUR_MPS 5 /**< Max packet size, RFC 4340, 14. */ +#endif + +/** Estimated worst-case length of a DCCP header including options. */ +#define DCCP_MAX_HEADER 128 + /** * Obtain current MPS according to RFC 4340, sec. 14. */ static int dccp_init_fec(struct sender_client *sc) { @@ -118,7 +129,7 @@ static void dccp_send_fec(struct sender_client *sc, char *buf, size_t len) dccp_shutdown_client(sc); } -static void dccp_post_select(__a_unused struct sched *s) +static void dccp_post_monitor(__a_unused struct sched *s) { struct sender_client *sc; struct dccp_fec_client *dfc; @@ -147,7 +158,7 @@ static void dccp_post_select(__a_unused struct sched *s) shutdown_client(sc, dss); return; } - dfc = para_calloc(sizeof(*dfc)); + dfc = zalloc(sizeof(*dfc)); sc->private_data = dfc; k = OPT_UINT32_VAL(DCCP_DATA_SLICES_PER_GROUP); n = OPT_UINT32_VAL(DCCP_SLICES_PER_GROUP); @@ -248,8 +259,8 @@ const struct sender dccp_sender = { .name = "dccp", .init = dccp_send_init, .shutdown = dccp_shutdown, - .pre_select = dccp_pre_select, - .post_select = dccp_post_select, + .pre_monitor = dccp_pre_monitor, + .post_monitor = dccp_post_monitor, .shutdown_clients = dccp_shutdown_clients, .client_cmds = { [SENDER_on] = dccp_com_on,