summaryrefslogtreecommitdiff
path: root/server-proxy.h
diff options
context:
space:
mode:
authorDavid Härdeman <david@hardeman.nu>2020-06-22 12:00:05 +0200
committerDavid Härdeman <david@hardeman.nu>2020-06-22 12:00:05 +0200
commit77071eb45391c9f0bbc593bcf2c10605ed1d5d17 (patch)
treecf1bd5d9d39c77dfc2fc84b98fcf3b5ace4eb989 /server-proxy.h
parentf2489c89e95c07495768b5401b63ba31ec39d72d (diff)
Rename proxy and cfgdir to more descriptive names
Diffstat (limited to 'server-proxy.h')
-rw-r--r--server-proxy.h48
1 files changed, 48 insertions, 0 deletions
diff --git a/server-proxy.h b/server-proxy.h
new file mode 100644
index 0000000..dc8300d
--- /dev/null
+++ b/server-proxy.h
@@ -0,0 +1,48 @@
+#ifndef fooserverproxyhfoo
+#define fooserverproxyhfoo
+
+struct server_proxy {
+ struct connection client_conn;
+ struct uring_task_buf clientbuf;
+ struct uring_task clienttask;
+ uint64_t client_bytes;
+ int cfd;
+
+ struct connection server_conn;
+ struct uring_task_buf serverbuf;
+ struct uring_task servertask;
+ uint64_t server_bytes;
+ int sfd;
+
+ time_t begin;
+ unsigned next_remote;
+ struct uring_task task;
+ struct server *server;
+ struct list_head list;
+};
+
+void proxy_refdump(struct server_proxy *proxy);
+
+void proxy_delete(struct server_proxy *proxy);
+
+struct server_proxy *proxy_new(struct server *server, struct saddr *client,
+ int fd);
+
+struct server_local {
+ struct saddr local;
+ struct saddr client;
+ struct uring_task task;
+
+ struct server *server;
+ struct list_head list;
+};
+
+bool local_open(struct server_local *local);
+
+void local_refdump(struct server_local *local);
+
+void local_delete(struct server_local *local);
+
+struct server_local *local_new(struct server *server, struct saddr *saddr);
+
+#endif