Browse Source

define max read block values

1.0.0
Georg Hopp 11 years ago
parent
commit
73cd92cfa6
  1. 3
      include/tr/socket.h
  2. 5
      src/tcp_socket.c
  3. 5
      src/udp_socket.c

3
include/tr/socket.h

@ -37,6 +37,9 @@
//#include "tr/interface/socket.h"
#include "tr/logger.h"
#define TR_UDP_MAX_READ_BLOCK 8 * 1024
#define TR_TCP_MAX_READ_BLOCK 256 * 1024
typedef enum TR_e_socket_fin {
TR_FIN_NO = 0,
TR_FIN_RD = 1,

5
src/tcp_socket.c

@ -89,10 +89,13 @@ static
TR_RemoteData
tcpSocketRecv(TR_Socket this, size_t size)
{
unsigned char buffer[size = size>8192 ? 8192 : size];
TR_RemoteData rdata = NULL;
ssize_t received;
size = size>TR_TCP_MAX_READ_BLOCK ? TR_TCP_MAX_READ_BLOCK : size;
unsigned char buffer[size];
received = recv(this->handle, buffer, size, this->flags);
if (-1 == received) {

5
src/udp_socket.c

@ -51,11 +51,14 @@ static
TR_RemoteData
udpSocketRecv(TR_Socket this, size_t size)
{
unsigned char buffer[size = size>8192 ? 8192 : size];
ssize_t received;
TR_RemoteData rdata;
TR_Socket remote = TR_new(TR_UdpSocket, this->log, NULL, 0, 0);
size = size>TR_UDP_MAX_READ_BLOCK ? TR_UDP_MAX_READ_BLOCK : size;
unsigned char buffer[size];
remote->addrlen = this->addrlen;
received = recvfrom(

Loading…
Cancel
Save