mirror of
https://github.com/wangyu-/UDPspeeder.git
synced 2025-04-04 11:09:32 +08:00
Add support for a systemd.socket activation. Socket it passed from systemd via file descriptor (see systemd.socket doc) Also, added a few features for convenience: * --conn/conv-timeout options to control conversation and connection timeouts * --shutdown option to shutdown service after all connections are timeouted. This is for convent usage with systemd.socket * test script which allows to smoke test udp speeder and its socket activation capability * example systemd unit files
81 lines
1.6 KiB
C
81 lines
1.6 KiB
C
/*
|
|
* misc.h
|
|
*
|
|
* Created on: Oct 26, 2017
|
|
* Author: root
|
|
*/
|
|
|
|
#ifndef MISC_H_
|
|
#define MISC_H_
|
|
|
|
#include "common.h"
|
|
#include "connection.h"
|
|
#include "fd_manager.h"
|
|
#include "delay_manager.h"
|
|
#include "fec_manager.h"
|
|
|
|
extern char fifo_file[1000];
|
|
|
|
extern int mtu_warn;
|
|
|
|
extern int disable_mtu_warn;
|
|
extern int disable_fec;
|
|
extern int disable_checksum;
|
|
|
|
extern int debug_force_flush_fec;
|
|
|
|
extern int jitter_min;
|
|
extern int jitter_max;
|
|
|
|
extern int output_interval_min;
|
|
extern int output_interval_max;
|
|
|
|
extern int fix_latency;
|
|
|
|
// extern u32_t local_ip_uint32,remote_ip_uint32;
|
|
// extern char local_ip[100], remote_ip[100];
|
|
// extern int local_port, remote_port;
|
|
|
|
extern address_t local_addr, remote_addr;
|
|
|
|
extern address_t *out_addr;
|
|
extern char *out_interface;
|
|
|
|
extern conn_manager_t conn_manager;
|
|
extern delay_manager_t delay_manager;
|
|
extern fd_manager_t fd_manager;
|
|
|
|
extern int time_mono_test;
|
|
|
|
extern int delay_capacity;
|
|
|
|
extern int keep_reconnect;
|
|
|
|
extern int tun_mtu;
|
|
|
|
extern int mssfix;
|
|
|
|
extern int manual_set_tun;
|
|
extern int persist_tun;
|
|
|
|
extern bool shutdown_if_all_disconnected;
|
|
|
|
int from_normal_to_fec(conn_info_t &conn_info, char *data, int len, int &out_n, char **&out_arr, int *&out_len, my_time_t *&out_delay);
|
|
int from_fec_to_normal(conn_info_t &conn_info, char *data, int len, int &out_n, char **&out_arr, int *&out_len, my_time_t *&out_delay);
|
|
|
|
int delay_send(my_time_t delay, const dest_t &dest, char *data, int len);
|
|
int print_parameter();
|
|
int handle_command(char *s);
|
|
|
|
int unit_test();
|
|
|
|
// void print_help();
|
|
|
|
void process_arg(int argc, char *argv[]);
|
|
|
|
extern char sub_net[100];
|
|
extern u32_t sub_net_uint32;
|
|
extern char tun_dev[100];
|
|
|
|
#endif /* MISC_H_ */
|