X-Git-Url: https://git.ozlabs.org/?a=blobdiff_plain;f=ccan%2Foserver%2Foserver.c;fp=ccan%2Foserver%2Foserver.c;h=317a01cc5e2f177bcf7b9337c88560958b85d035;hb=9b50bdc2a1781d39fa812dbfacaa3b168d861a2a;hp=ad8f31538ec31663c90624490217b1c6936f5294;hpb=5cde12ca405f988a8a35b4281c90fbaf53f5464f;p=ccan-lca-2011.git diff --git a/ccan/oserver/oserver.c b/ccan/oserver/oserver.c index ad8f315..317a01c 100644 --- a/ccan/oserver/oserver.c +++ b/ccan/oserver/oserver.c @@ -1,4 +1,5 @@ #include +#include #include #include #include @@ -17,17 +18,6 @@ #include #include -enum state { - SENDING_GREETING, - RECEIVING_USER_QUESTION, - SENDING_OTHER_QUESTION_PREFIX, - SENDING_OTHER_QUESTION, - RECEIVING_OTHER_ANSWER, - SENDING_ANSWER_PREFIX, - SENDING_ANSWER, - FINISHED -}; - static uint16_t state_flag_map[] = { [SENDING_GREETING] = TEVENT_FD_WRITE, [RECEIVING_USER_QUESTION] = TEVENT_FD_READ, @@ -39,33 +29,6 @@ static uint16_t state_flag_map[] = { [FINISHED] = 0 }; -struct client { - /* What are we doing today, brain? */ - enum state state; - /* Our event info, and the file descriptor. */ - struct tevent_fd *fde; - int fd; - /* The question we read from client. */ - char *question; - /* The answer to the client. */ - char *answer; - /* How many bytes of the reply we sent so far. */ - size_t bytes_sent; - /* Our server. */ - struct oserver *oserver; - /* Whose question this client is answering. */ - struct client *subclient; - /* Who is answering our question. */ - struct client *oracle; -}; - -struct oserver { - /* 5 clients should be enough for anybody! */ - struct client *clients[5]; - int fd; - struct tevent_fd *fde; -}; - static ssize_t write_string(int fd, const char *str) { return write(fd, str, strlen(str));