Mercurial
comparison third_party/wrk/src/net.c @ 186:8cf4ec5e2191 hg-web
Fixed merge conflict.
| author | MrJuneJune <me@mrjunejune.com> |
|---|---|
| date | Fri, 23 Jan 2026 22:38:59 -0800 |
| parents | 94705b5986b3 |
| children |
comparison
equal
deleted
inserted
replaced
| 176:fed99fc04e12 | 186:8cf4ec5e2191 |
|---|---|
| 1 // Copyright (C) 2013 - Will Glozer. All rights reserved. | |
| 2 | |
| 3 #include <errno.h> | |
| 4 #include <unistd.h> | |
| 5 #include <sys/ioctl.h> | |
| 6 | |
| 7 #include "net.h" | |
| 8 | |
| 9 status sock_connect(connection *c, char *host) { | |
| 10 return OK; | |
| 11 } | |
| 12 | |
| 13 status sock_close(connection *c) { | |
| 14 return OK; | |
| 15 } | |
| 16 | |
| 17 status sock_read(connection *c, size_t *n) { | |
| 18 ssize_t r = read(c->fd, c->buf, sizeof(c->buf)); | |
| 19 *n = (size_t) r; | |
| 20 return r >= 0 ? OK : ERROR; | |
| 21 } | |
| 22 | |
| 23 status sock_write(connection *c, char *buf, size_t len, size_t *n) { | |
| 24 ssize_t r; | |
| 25 if ((r = write(c->fd, buf, len)) == -1) { | |
| 26 switch (errno) { | |
| 27 case EAGAIN: return RETRY; | |
| 28 default: return ERROR; | |
| 29 } | |
| 30 } | |
| 31 *n = (size_t) r; | |
| 32 return OK; | |
| 33 } | |
| 34 | |
| 35 size_t sock_readable(connection *c) { | |
| 36 int n, rc; | |
| 37 rc = ioctl(c->fd, FIONREAD, &n); | |
| 38 return rc == -1 ? 0 : n; | |
| 39 } |