diff options
author | zaq178miami <pinepain@gmail.com> | 2013-06-23 19:36:10 +0300 |
---|---|---|
committer | Alan Antonuk <alan.antonuk@gmail.com> | 2013-07-06 22:28:45 -0700 |
commit | 6ad770dc62f76fa0625d277b521a120b549d9fc2 (patch) | |
tree | 964847f5a839c7ccbfba6c09bc9b5ca3102c89d4 /librabbitmq/amqp_socket.h | |
parent | b6a1dfec14e70fc6afe8ce9710231e552ba6bfb5 (diff) | |
download | rabbitmq-c-6ad770dc62f76fa0625d277b521a120b549d9fc2.tar.gz |
Add nonblocking connect support
Diffstat (limited to 'librabbitmq/amqp_socket.h')
-rw-r--r-- | librabbitmq/amqp_socket.h | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/librabbitmq/amqp_socket.h b/librabbitmq/amqp_socket.h index fed3947..b0a1805 100644 --- a/librabbitmq/amqp_socket.h +++ b/librabbitmq/amqp_socket.h @@ -46,7 +46,7 @@ amqp_os_socket_close(int sockfd); typedef ssize_t (*amqp_socket_writev_fn)(void *, struct iovec *, int); typedef ssize_t (*amqp_socket_send_fn)(void *, const void *, size_t); typedef ssize_t (*amqp_socket_recv_fn)(void *, void *, size_t, int); -typedef int (*amqp_socket_open_fn)(void *, const char *, int); +typedef int (*amqp_socket_open_fn)(void *, const char *, int, struct timeval *); typedef int (*amqp_socket_close_fn)(void *); typedef int (*amqp_socket_get_sockfd_fn)(void *); typedef void (*amqp_socket_delete_fn)(void *); @@ -164,6 +164,24 @@ amqp_socket_close(amqp_socket_t *self); void amqp_socket_delete(amqp_socket_t *self); +/** + * Open a socket connection. + * + * This function opens a socket connection returned from amqp_tcp_socket_new() + * or amqp_ssl_socket_new(). This function should be called after setting + * socket options and prior to assigning the socket to an AMQP connection with + * amqp_set_socket(). + * + * \param [in] host Connect to this host. + * \param [in] port Connect on this remote port. + * \param [in] timeout Max allowed time to spent on opening. If NULL - run in blocking mode + * + * \return File descriptor upon success, non-zero negative error code otherwise. + */ +int +amqp_open_socket_noblock(char const *hostname, int portnumber, struct timeval *timeout); + + AMQP_END_DECLS #endif /* AMQP_SOCKET_H */ |