version 1.12.4.3, 2013/11/14 22:53:12
|
version 1.14.2.1, 2014/01/28 14:04:57
|
Line 12 terms:
|
Line 12 terms:
|
All of the documentation and software included in the ELWIX and AITNET |
All of the documentation and software included in the ELWIX and AITNET |
Releases is copyrighted by ELWIX - Sofia/Bulgaria <info@elwix.org> |
Releases is copyrighted by ELWIX - Sofia/Bulgaria <info@elwix.org> |
|
|
Copyright 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 | Copyright 2004 - 2014 |
by Michael Pounov <misho@elwix.org>. All rights reserved. |
by Michael Pounov <misho@elwix.org>. All rights reserved. |
|
|
Redistribution and use in source and binary forms, with or without |
Redistribution and use in source and binary forms, with or without |
Line 149 rpc_addPktSession(rpc_sess_t *p, rpc_sess_t *s)
|
Line 149 rpc_addPktSession(rpc_sess_t *p, rpc_sess_t *s)
|
* @sa = check client address, if you use udp protocol |
* @sa = check client address, if you use udp protocol |
* @buf = buffer |
* @buf = buffer |
* @blen = buffer length |
* @blen = buffer length |
* return: -1 error or >-1 readed bytes into buffer | * return: -1 error, 0 EOF or or >0 readed bytes into buffer |
*/ |
*/ |
ssize_t |
ssize_t |
rpc_Read(int sock, int type, int flags, sockaddr_t * __restrict sa, |
rpc_Read(int sock, int type, int flags, sockaddr_t * __restrict sa, |
Line 169 rpc_Read(int sock, int type, int flags, sockaddr_t * _
|
Line 169 rpc_Read(int sock, int type, int flags, sockaddr_t * _
|
for (len = blen; len > 0; len -= ret, buf += ret) { |
for (len = blen; len > 0; len -= ret, buf += ret) { |
if ((ret = poll(&pfd, 1, DEF_RPC_TIMEOUT * 1000)) < 1 || |
if ((ret = poll(&pfd, 1, DEF_RPC_TIMEOUT * 1000)) < 1 || |
pfd.revents & (POLLERR | POLLHUP | POLLNVAL)) { |
pfd.revents & (POLLERR | POLLHUP | POLLNVAL)) { |
LOGERR; | if (ret) |
| LOGERR; |
| else |
| rpc_SetErr(ETIMEDOUT, "Timeout reached! Server not respond"); |
return -1; |
return -1; |
} |
} |
if (type == SOCK_STREAM) |
if (type == SOCK_STREAM) |
ret = recv(sock, buf, len, flags); |
ret = recv(sock, buf, len, flags); |
else { |
else { |
ret = recvfrom(sock, buf, len, flags, &sa2.sa, &salen); |
ret = recvfrom(sock, buf, len, flags, &sa2.sa, &salen); |
if (ret > -1 && e_addrcmp(sa, &sa2, 42)) { | if (ret > -1 && sa && e_addrcmp(sa, &sa2, 42)) { |
rpc_SetErr(ERPCMISMATCH, "Received RPC response from unknown address"); | rpc_SetErr(ERPCMISMATCH, |
| "Received RPC response from unknown address"); |
return -1; |
return -1; |
} |
} |
} |
} |
Line 185 rpc_Read(int sock, int type, int flags, sockaddr_t * _
|
Line 189 rpc_Read(int sock, int type, int flags, sockaddr_t * _
|
LOGERR; |
LOGERR; |
return -1; |
return -1; |
} |
} |
|
if (!ret) /* EOF */ |
|
return 0; |
} |
} |
ret = blen - len; |
ret = blen - len; |
|
|
Line 200 rpc_Read(int sock, int type, int flags, sockaddr_t * _
|
Line 206 rpc_Read(int sock, int type, int flags, sockaddr_t * _
|
* @sa = send to client address, if you use udp protocol |
* @sa = send to client address, if you use udp protocol |
* @buf = buffer |
* @buf = buffer |
* @blen = buffer length |
* @blen = buffer length |
* return: -1 error or >-1 written bytes into buffer | * return: -1 error, 0 EOF or >0 written bytes into buffer |
*/ |
*/ |
ssize_t |
ssize_t |
rpc_Write(int sock, int type, int flags, sockaddr_t * __restrict sa, |
rpc_Write(int sock, int type, int flags, sockaddr_t * __restrict sa, |
Line 214 rpc_Write(int sock, int type, int flags, sockaddr_t *
|
Line 220 rpc_Write(int sock, int type, int flags, sockaddr_t *
|
for (len = blen; len > 0; len -= ret, buf += ret) { |
for (len = blen; len > 0; len -= ret, buf += ret) { |
if ((ret = poll(&pfd, 1, DEF_RPC_TIMEOUT * 1000)) < 1 || |
if ((ret = poll(&pfd, 1, DEF_RPC_TIMEOUT * 1000)) < 1 || |
pfd.revents & (POLLERR | POLLHUP | POLLNVAL)) { |
pfd.revents & (POLLERR | POLLHUP | POLLNVAL)) { |
|
#if 0 |
if (!ret) |
if (!ret) |
continue; |
continue; |
|
#endif |
if (ret > 0) |
if (ret > 0) |
rpc_SetErr(EPIPE, "Disconnected RPC session\n"); |
rpc_SetErr(EPIPE, "Disconnected RPC session\n"); |
else |
else |
Line 234 rpc_Write(int sock, int type, int flags, sockaddr_t *
|
Line 242 rpc_Write(int sock, int type, int flags, sockaddr_t *
|
LOGERR; |
LOGERR; |
return -1; |
return -1; |
} |
} |
|
if (!ret) /* EOF */ |
|
return 0; |
} |
} |
ret = blen - len; |
ret = blen - len; |
if (ret != blen) { |
if (ret != blen) { |