version 1.17.4.2, 2013/08/20 23:49:54
|
version 1.17.6.1, 2013/08/22 11:55:45
|
Line 74 rpc_freeCli(rpc_cli_t * __restrict c)
|
Line 74 rpc_freeCli(rpc_cli_t * __restrict c)
|
|
|
schedCancelby(s->srv_root, taskMAX, CRITERIA_ARG, c, NULL); |
schedCancelby(s->srv_root, taskMAX, CRITERIA_ARG, c, NULL); |
|
|
/* free buffer(s) */ | /* free buffer */ |
ait_freeVars(&c->cli_buf); | AIT_FREE_VAL(&c->cli_buf); |
|
|
array_Del(s->srv_clients, c->cli_id, 0); |
array_Del(s->srv_clients, c->cli_id, 0); |
if (c) |
if (c) |
Line 126 _allocClient(rpc_srv_t * __restrict srv, sockaddr_t *
|
Line 126 _allocClient(rpc_srv_t * __restrict srv, sockaddr_t *
|
c->cli_parent = srv; |
c->cli_parent = srv; |
} |
} |
|
|
/* init buffer(s) */ | /* alloc empty buffer */ |
c->cli_buf = ait_allocVars(1); | AIT_SET_BUFSIZ(&c->cli_buf, 0, srv->srv_netbuf); |
if (!c->cli_buf) { | |
rpc_SetErr(elwix_GetErrno(), "%s", elwix_GetError()); | |
array_Del(srv->srv_clients, n, 42); | |
return NULL; | |
} else | |
AIT_SET_BUFSIZ(array(c->cli_buf, 0, ait_val_t*), 0, srv->srv_netbuf); | |
} |
} |
|
|
return c; |
return c; |
Line 197 txPacket(sched_task_t *task)
|
Line 191 txPacket(sched_task_t *task)
|
} |
} |
} |
} |
|
|
rpc->call_len = htons(wlen); | rpc->call_len = htonl(wlen); |
|
|
#if 0 |
#if 0 |
/* calculate CRC */ |
/* calculate CRC */ |
Line 309 rxPacket(sched_task_t *task)
|
Line 303 rxPacket(sched_task_t *task)
|
} else |
} else |
rpc = (struct tagRPCCall*) (buf + off); |
rpc = (struct tagRPCCall*) (buf + off); |
|
|
len = ntohs(rpc->call_len); | len = ntohl(rpc->call_len); |
rlen -= len; |
rlen -= len; |
|
|
/* check RPC packet lengths */ |
/* check RPC packet lengths */ |
Line 373 acceptClients(sched_task_t *task)
|
Line 367 acceptClients(sched_task_t *task)
|
c->cli_sock = accept(TASK_FD(task), &c->cli_sa.sa, &salen); |
c->cli_sock = accept(TASK_FD(task), &c->cli_sa.sa, &salen); |
if (c->cli_sock == -1) { |
if (c->cli_sock == -1) { |
LOGERR; |
LOGERR; |
ait_freeVars(&c->cli_buf); | AIT_FREE_VAL(&c->cli_buf); |
array_Del(srv->srv_clients, c->cli_id, 42); |
array_Del(srv->srv_clients, c->cli_id, 42); |
goto end; |
goto end; |
} else |
} else |
Line 428 txUDPPacket(sched_task_t *task)
|
Line 422 txUDPPacket(sched_task_t *task)
|
} |
} |
} |
} |
|
|
rpc->call_len = htons(wlen); | rpc->call_len = htonl(wlen); |
|
|
/* calculate CRC */ |
/* calculate CRC */ |
rpc->call_crc ^= rpc->call_crc; |
rpc->call_crc ^= rpc->call_crc; |
Line 486 rxUDPPacket(sched_task_t *task)
|
Line 480 rxUDPPacket(sched_task_t *task)
|
} else |
} else |
rpc = (struct tagRPCCall*) (AIT_GET_BUF(&c->cli_buf) + off); |
rpc = (struct tagRPCCall*) (AIT_GET_BUF(&c->cli_buf) + off); |
|
|
len = ntohs(rpc->call_len); | len = ntohl(rpc->call_len); |
rlen -= len; |
rlen -= len; |
|
|
/* check RPC packet lengths */ |
/* check RPC packet lengths */ |
Line 542 rpc_freeBLOBCli(rpc_cli_t * __restrict c)
|
Line 536 rpc_freeBLOBCli(rpc_cli_t * __restrict c)
|
|
|
schedCancelby(s->srv_blob.root, taskMAX, CRITERIA_ARG, c, NULL); |
schedCancelby(s->srv_blob.root, taskMAX, CRITERIA_ARG, c, NULL); |
|
|
/* free buffer(s) */ | /* free buffer */ |
ait_freeVars(&c->cli_buf); | AIT_FREE_VAL(&c->cli_buf); |
|
|
array_Del(s->srv_blob.clients, c->cli_id, 0); |
array_Del(s->srv_blob.clients, c->cli_id, 0); |
if (c) |
if (c) |
Line 711 acceptBLOBClients(sched_task_t *task)
|
Line 705 acceptBLOBClients(sched_task_t *task)
|
c->cli_parent = srv; |
c->cli_parent = srv; |
} |
} |
|
|
/* init buffer(s) */ | /* alloc empty buffer */ |
c->cli_buf = ait_allocVars(1); | AIT_SET_BUFSIZ(&c->cli_buf, 0, srv->srv_netbuf); |
if (!c->cli_buf) { | |
rpc_SetErr(elwix_GetErrno(), "%s", elwix_GetError()); | |
array_Del(srv->srv_blob.clients, i, 42); | |
goto end; | |
} else | |
AIT_SET_BUFSIZ(array(c->cli_buf, 0, ait_val_t*), 0, srv->srv_netbuf); | |
|
|
/* accept client */ |
/* accept client */ |
c->cli_sock = accept(TASK_FD(task), &c->cli_sa.sa, &salen); |
c->cli_sock = accept(TASK_FD(task), &c->cli_sa.sa, &salen); |
if (c->cli_sock == -1) { |
if (c->cli_sock == -1) { |
LOGERR; |
LOGERR; |
ait_freeVars(&c->cli_buf); | AIT_FREE_VAL(&c->cli_buf); |
array_Del(srv->srv_blob.clients, i, 42); |
array_Del(srv->srv_blob.clients, i, 42); |
goto end; |
goto end; |
} else { |
} else { |
Line 918 rpc_srv_loopBLOBServer(rpc_srv_t * __restrict srv)
|
Line 906 rpc_srv_loopBLOBServer(rpc_srv_t * __restrict srv)
|
close(c->cli_sock); |
close(c->cli_sock); |
|
|
schedCancelby(srv->srv_blob.root, taskMAX, CRITERIA_ARG, c, NULL); |
schedCancelby(srv->srv_blob.root, taskMAX, CRITERIA_ARG, c, NULL); |
ait_freeVars(&c->cli_buf); | AIT_FREE_VAL(&c->cli_buf); |
} |
} |
array_Del(srv->srv_blob.clients, i, 42); |
array_Del(srv->srv_blob.clients, i, 42); |
} |
} |
Line 1124 rpc_srv_loopServer(rpc_srv_t * __restrict srv)
|
Line 1112 rpc_srv_loopServer(rpc_srv_t * __restrict srv)
|
|
|
schedCancelby(srv->srv_root, taskMAX, CRITERIA_ARG, c, NULL); |
schedCancelby(srv->srv_root, taskMAX, CRITERIA_ARG, c, NULL); |
ait_freeVars(&RPC_RETVARS(c)); |
ait_freeVars(&RPC_RETVARS(c)); |
ait_freeVars(&c->cli_buf); | AIT_FREE_VAL(&c->cli_buf); |
} |
} |
array_Del(srv->srv_clients, i, 42); |
array_Del(srv->srv_clients, i, 42); |
} |
} |