diff options
author | Volker Lendecke <vl@samba.org> | 2009-02-23 00:20:24 +0100 |
---|---|---|
committer | Volker Lendecke <vl@samba.org> | 2009-02-24 20:40:48 +0100 |
commit | bbbdfa20566a607e0fdfdd190bb12bc3130e8bee (patch) | |
tree | f9ac94f5e1172c3cfbd13a1c169f74c48ca211a9 /lib | |
parent | 5766bf896cf85d17023410addb540ebbbef366dd (diff) | |
download | samba-bbbdfa20566a607e0fdfdd190bb12bc3130e8bee.tar.gz samba-bbbdfa20566a607e0fdfdd190bb12bc3130e8bee.tar.bz2 samba-bbbdfa20566a607e0fdfdd190bb12bc3130e8bee.zip |
Remove unused recvall
Diffstat (limited to 'lib')
-rw-r--r-- | lib/async_req/async_sock.c | 110 | ||||
-rw-r--r-- | lib/async_req/async_sock.h | 5 |
2 files changed, 0 insertions, 115 deletions
diff --git a/lib/async_req/async_sock.c b/lib/async_req/async_sock.c index 02e4c9eb4b..86f89c159a 100644 --- a/lib/async_req/async_sock.c +++ b/lib/async_req/async_sock.c @@ -35,7 +35,6 @@ enum async_syscall_type { ASYNC_SYSCALL_SEND, ASYNC_SYSCALL_RECV, - ASYNC_SYSCALL_RECVALL, ASYNC_SYSCALL_CONNECT }; @@ -60,13 +59,6 @@ struct async_syscall_state { size_t length; int flags; } param_recv; - struct param_recvall { - int fd; - void *buffer; - size_t length; - int flags; - size_t received; - } param_recvall; struct param_connect { /** * connect needs to be done on a nonblocking @@ -397,108 +389,6 @@ struct async_req *async_recv(TALLOC_CTX *mem_ctx, struct tevent_context *ev, return result; } -/** - * fde event handler for the "recvall" syscall group - * @param[in] ev The event context that sent us here - * @param[in] fde The file descriptor event associated with the recv - * @param[in] flags Can only be TEVENT_FD_READ here - * @param[in] priv private data, "struct async_req *" in this case - */ - -static void async_recvall_callback(struct tevent_context *ev, - struct tevent_fd *fde, uint16_t flags, - void *priv) -{ - struct async_req *req = talloc_get_type_abort( - priv, struct async_req); - struct async_syscall_state *state = talloc_get_type_abort( - req->private_data, struct async_syscall_state); - struct param_recvall *p = &state->param.param_recvall; - - if (state->syscall_type != ASYNC_SYSCALL_RECVALL) { - async_req_error(req, EIO); - return; - } - - state->result.result_ssize_t = recv(p->fd, - (char *)p->buffer + p->received, - p->length - p->received, p->flags); - state->sys_errno = errno; - - if (state->result.result_ssize_t == -1) { - async_req_error(req, state->sys_errno); - return; - } - - if (state->result.result_ssize_t == 0) { - async_req_error(req, EIO); - return; - } - - p->received += state->result.result_ssize_t; - if (p->received > p->length) { - async_req_error(req, EIO); - return; - } - - if (p->received == p->length) { - TALLOC_FREE(state->fde); - async_req_done(req); - } -} - -/** - * Receive a specified number of bytes from a socket - * @param[in] mem_ctx The memory context to hang the result off - * @param[in] ev The event context to work from - * @param[in] fd The socket to recv from - * @param[in] buffer The buffer to recv into - * @param[in] length How many bytes to recv - * @param[in] flags flags passed to recv(2) - * - * async_recvall will call recv(2) until "length" bytes are received - */ - -struct async_req *recvall_send(TALLOC_CTX *mem_ctx, struct tevent_context *ev, - int fd, void *buffer, size_t length, - int flags) -{ - struct async_req *result; - struct async_syscall_state *state; - - result = async_fde_syscall_new( - mem_ctx, ev, ASYNC_SYSCALL_RECVALL, - fd, TEVENT_FD_READ, async_recvall_callback, - &state); - if (result == NULL) { - return NULL; - } - - state->param.param_recvall.fd = fd; - state->param.param_recvall.buffer = buffer; - state->param.param_recvall.length = length; - state->param.param_recvall.flags = flags; - state->param.param_recvall.received = 0; - - return result; -} - -ssize_t recvall_recv(struct async_req *req, int *perr) -{ - struct async_syscall_state *state = talloc_get_type_abort( - req->private_data, struct async_syscall_state); - int err; - - err = async_req_simple_recv_errno(req); - - if (err != 0) { - *perr = err; - return -1; - } - - return state->result.result_ssize_t; -} - struct async_connect_state { int fd; int result; diff --git a/lib/async_req/async_sock.h b/lib/async_req/async_sock.h index 0cf4e4ecf5..bfa23d7836 100644 --- a/lib/async_req/async_sock.h +++ b/lib/async_req/async_sock.h @@ -42,11 +42,6 @@ struct tevent_req *async_connect_send(TALLOC_CTX *mem_ctx, socklen_t address_len); int async_connect_recv(struct tevent_req *req, int *perrno); -struct async_req *recvall_send(TALLOC_CTX *mem_ctx, struct tevent_context *ev, - int fd, void *buffer, size_t length, - int flags); -ssize_t recvall_recv(struct async_req *req, int *perr); - struct tevent_req *writev_send(TALLOC_CTX *mem_ctx, struct tevent_context *ev, int fd, struct iovec *iov, int count); ssize_t writev_recv(struct tevent_req *req, int *perrno); |