diff options
author | David Härdeman <david@hardeman.nu> | 2020-06-23 20:56:22 +0200 |
---|---|---|
committer | David Härdeman <david@hardeman.nu> | 2020-06-23 20:56:22 +0200 |
commit | ea053d96f7e89e053d4af8d39b04c5428760345f (patch) | |
tree | 8182ca73675ad3933b0f38cb48a99c69101309b4 /minecproxy/server-proxy.h | |
parent | 8c27290245b7bcc7cd2f72f3b4a7562294b43bbe (diff) |
Big renaming, move some more functionality to shared lib
Diffstat (limited to 'minecproxy/server-proxy.h')
-rw-r--r-- | minecproxy/server-proxy.h | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/minecproxy/server-proxy.h b/minecproxy/server-proxy.h new file mode 100644 index 0000000..ee3bda3 --- /dev/null +++ b/minecproxy/server-proxy.h @@ -0,0 +1,51 @@ +#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 cpipe[2]; + int cfd; + + struct connection server_conn; + struct uring_task_buf serverbuf; + struct uring_task servertask; + uint64_t server_bytes; + int spipe[2]; + int sfd; + + bool connecting; + time_t begin; + struct ptimer_task ptask; + 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 |