/*
- * Copyright (C) 2006-2010 Andre Noll <maan@systemlinux.org>
+ * Copyright (C) 2006-2013 Andre Noll <maan@systemlinux.org>
*
* Licensed under the GPL v2. For licencing details see COPYING.
*/
#include <regex.h>
#include <sys/types.h>
-#include <dirent.h>
#include <osl.h>
#include "para.h"
#include "net.h"
#include "list.h"
#include "send.h"
+#include "sched.h"
#include "vss.h"
#include "fd.h"
#include "close_on_fork.h"
return mps;
}
-static int dccp_send_fec(struct sender_client *sc, char *buf, size_t len)
+static void dccp_send_fec(struct sender_client *sc, char *buf, size_t len)
{
- int ret = write_nonblock(sc->fd, buf, len);
+ int ret = xwrite(sc->fd, buf, len);
if (ret < 0)
dccp_shutdown_client(sc);
- return ret;
}
static void dccp_post_select(fd_set *rfds, __a_unused fd_set *wfds)
dfc->fcp.slices_per_group = conf.dccp_slices_per_group_arg;
dfc->fcp.init_fec = dccp_init_fec;
dfc->fcp.send_fec = dccp_send_fec;
+ dfc->fcp.need_periodic_header = false;
dfc->fc = vss_add_fec_client(sc, &dfc->fcp);
}
static int dccp_com_off(__a_unused struct sender_command_data *scd)
{
+ dccp_shutdown_clients();
generic_com_off(dss);
return 1;
}
s->pre_select = dccp_pre_select;
s->post_select = dccp_post_select;
s->shutdown_clients = dccp_shutdown_clients;
+ s->resolve_target = NULL;
s->help = generic_sender_help;
s->client_cmds[SENDER_ON] = dccp_com_on;
s->client_cmds[SENDER_OFF] = dccp_com_off;