summaryrefslogtreecommitdiff
path: root/src/socket.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/socket.c')
-rw-r--r--src/socket.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/socket.c b/src/socket.c
index dca499f6a6..2f32094abb 100644
--- a/src/socket.c
+++ b/src/socket.c
@@ -79,6 +79,21 @@ socket_recv(const socket_st * socket, void *buffer, int buffer_size)
}
ssize_t
+socket_recv_timeout(const socket_st * socket, void *buffer, int buffer_size, unsigned ms)
+{
+ int ret;
+
+ if (socket->secure)
+ gnutls_record_set_timeout(socket->session, ms);
+ ret = socket_recv(socket, buffer, buffer_size);
+
+ if (socket->secure)
+ gnutls_record_set_timeout(socket->session, 0);
+
+ return ret;
+}
+
+ssize_t
socket_send(const socket_st * socket, const void *buffer, int buffer_size)
{
return socket_send_range(socket, buffer, buffer_size, NULL);