diff options
author | 2018-05-05 23:36:10 +0300 | |
---|---|---|
committer | 2018-05-05 23:36:10 +0300 | |
commit | fc517f9113b012a9872dcb7938846bcc94a5fd4d (patch) | |
tree | e39cd4fdae64ffda9150fa5628e4c1e866ad0d77 /src/server/main.c | |
parent | f6acbbc474e956c46ef09f85f74e964c773cc754 (diff) | |
download | coffeetemp-fc517f9113b012a9872dcb7938846bcc94a5fd4d.tar.gz coffeetemp-fc517f9113b012a9872dcb7938846bcc94a5fd4d.tar.bz2 coffeetemp-fc517f9113b012a9872dcb7938846bcc94a5fd4d.zip |
server: separate networking code into its own thread[s].
Diffstat (limited to 'src/server/main.c')
-rw-r--r-- | src/server/main.c | 22 |
1 files changed, 13 insertions, 9 deletions
diff --git a/src/server/main.c b/src/server/main.c index 5c0628a..f4d9fdc 100644 --- a/src/server/main.c +++ b/src/server/main.c @@ -33,22 +33,26 @@ #include <time.h> #include "net.h" -static struct netstate *init(const unsigned int port); +int init(const unsigned short int port); static void draw_idle(void); static void draw_busy(const char * const data); static float digest_temp(const short int rawdata); int main(void) { - struct netstate *state; - char data[32] = {0}; + static const struct timespec wait = {0, 200 * 1000 * 1000}; /* 200 ms */ + char data[dgsize] = {0}; int status; - struct timespec wait = {0, 100 * 1000 * 1000}; + int nd; - state = init(2191); + nd = init(2191); + + if (nd == NET_ERROR) { + goto fail; + } do { - status = state->getlastdata(data, state); + status = net_getlastdata(nd, data); switch (status) { case NET_OK: /*fall-through */ @@ -65,15 +69,15 @@ int main(void) } while (getch() != 'q'); fail: - net_close(&state); + net_close(nd); endwin(); return 0; } -static struct netstate *init(const unsigned int port) +int init(const unsigned short int port) { - struct netstate *ret; + int ret; ret = net_init(port); initscr(); |