Fix echo-server and test-ping-pong
This commit is contained in:
parent
6accf285db
commit
d553776f5d
@ -77,6 +77,8 @@ void after_read(oio_handle* handle, int nread, oio_buf buf) {
|
||||
return;
|
||||
}
|
||||
|
||||
peer = (peer_t*) handle->data;
|
||||
|
||||
oio_req_init(&peer->req, &peer->handle, after_write);
|
||||
peer->req.data = peer;
|
||||
peer->buf.base = buf.base;
|
||||
@ -102,7 +104,7 @@ void on_accept(oio_handle* server) {
|
||||
FATAL("oio_accept failed");
|
||||
}
|
||||
|
||||
oio_read_start(server, after_read);
|
||||
oio_read_start(&p->handle, after_read);
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -42,7 +42,6 @@ typedef struct {
|
||||
oio_handle handle;
|
||||
oio_req connect_req;
|
||||
oio_req read_req;
|
||||
oio_buf buf;
|
||||
char read_buffer[BUFSIZE];
|
||||
} pinger_t;
|
||||
|
||||
@ -108,7 +107,7 @@ static void pinger_read_cb(oio_handle* handle, int nread, oio_buf buf) {
|
||||
|
||||
/* Now we count the pings */
|
||||
for (i = 0; i < nread; i++) {
|
||||
ASSERT(pinger->buf.base[i] == PING[pinger->state]);
|
||||
ASSERT(buf.base[i] == PING[pinger->state]);
|
||||
pinger->state = (pinger->state + 1) % (sizeof(PING) - 1);
|
||||
if (pinger->state == 0) {
|
||||
printf("PONG %d\n", pinger->pongs);
|
||||
@ -143,8 +142,6 @@ void pinger_new() {
|
||||
pinger = (pinger_t*)malloc(sizeof(*pinger));
|
||||
pinger->state = 0;
|
||||
pinger->pongs = 0;
|
||||
pinger->buf.len = BUFSIZE;
|
||||
pinger->buf.base = (char*)&pinger->read_buffer;
|
||||
|
||||
/* Try to connec to the server and do NUM_PINGS ping-pongs. */
|
||||
r = oio_tcp_init(&pinger->handle, pinger_on_close, (void*)pinger);
|
||||
|
||||
Loading…
Reference in New Issue
Block a user