-/** clients will be kicked if there are more than that many bytes pending */
-#define MAX_BACKLOG 40000
-/** the list of connected clients **/
-static struct list_head clients;
-/** the whitelist/blacklist */
-static struct list_head access_perm_list;
-
-/** describes one client that connected the tcp port of the http sender */
-struct http_client {
-/** the file descriptor of the client */
- int fd;
-/** address information about the client */
- struct sockaddr_in addr;
-/** the client's current status */
- enum http_status status;
-/** non-zero if we included \a fd in the read set */
- int check_r;
-/** non-zero if we included \a fd in the write set */
- int check_w;
-/** the position of this client in the client list */
- struct list_head node;
-/** the list of pending packets for this client */
- struct list_head packet_queue;
-/** the number of pending bytes for this client */
- unsigned long pq_bytes;
-};
-
-/**
- * describes one queued data packet for a client
- *
- * The send function of the http sender checks each client fd for writing. If a
- * client fd is not ready, it tries to queue that packet for this client until
- * the number of queued bytes exceeds \p MAX_BACKLOG.
- */
-struct queued_packet {
-/** the length of the packet in bytes */
- unsigned int len;
-/** pointer to the packet data */
- char *packet;
-/** position of the packet in the packet list */
- struct list_head node;
-};
-
-/**
- * describes one entry in the blacklist/whitelist of the http sender
- */
-struct access_info {
- /** the address to be black/whitelisted */
- struct in_addr addr;
- /** the netmask for this entry */
- int netmask;
- /** the position of this entry in the access_perm_list */
- struct list_head node;