rpc: improve msg ctor
parent
d848c6a06a
commit
bda4cbb857
|
@ -339130,13 +339130,11 @@ char** server_poll(unsigned timeout_ms) {
|
||||||
unsigned id = *(uint32_t*)ptr; ptr += 4;
|
unsigned id = *(uint32_t*)ptr; ptr += 4;
|
||||||
char *cmdline = ptr;
|
char *cmdline = ptr;
|
||||||
char *resp = rpc(id, cmdline);
|
char *resp = rpc(id, cmdline);
|
||||||
char *resp_msg = MALLOC(strlen(resp) + 6);
|
char *resp_msg = va("%*.s%s", 4, "", resp);
|
||||||
*(uint32_t*)&resp_msg[0] = MSG_RPC_RESP;
|
*(uint32_t*)&resp_msg[0] = MSG_RPC_RESP;
|
||||||
memcpy(&resp_msg[4], resp, strlen(resp)+1);
|
|
||||||
ENetPacket *packet = enet_packet_create(resp_msg, strlen(resp) + 5, ENET_PACKET_FLAG_RELIABLE);
|
ENetPacket *packet = enet_packet_create(resp_msg, strlen(resp) + 5, ENET_PACKET_FLAG_RELIABLE);
|
||||||
enet_peer_send(event.peer, 0, packet);
|
enet_peer_send(event.peer, 0, packet);
|
||||||
msg = va("%d req:%s res:%s", 0, cmdline, resp);
|
msg = va("%d req:%s res:%s", 0, cmdline, resp);
|
||||||
FREE(resp_msg);
|
|
||||||
} break;
|
} break;
|
||||||
case MSG_RPC_RESP: {
|
case MSG_RPC_RESP: {
|
||||||
event.type = NETWORK_EVENT_RPC_RESP;
|
event.type = NETWORK_EVENT_RPC_RESP;
|
||||||
|
@ -339228,13 +339226,11 @@ char** client_poll(unsigned timeout_ms) {
|
||||||
unsigned id = *(uint32_t*)ptr; ptr += 4;
|
unsigned id = *(uint32_t*)ptr; ptr += 4;
|
||||||
char *cmdline = ptr;
|
char *cmdline = ptr;
|
||||||
char *resp = rpc(id, cmdline);
|
char *resp = rpc(id, cmdline);
|
||||||
char *resp_msg = MALLOC(strlen(resp) + 6);
|
char *resp_msg = va("%*.s%s", 4, "", resp);
|
||||||
*(uint32_t*)&resp_msg[0] = MSG_RPC_RESP;
|
*(uint32_t*)&resp_msg[0] = MSG_RPC_RESP;
|
||||||
memcpy(&resp_msg[4], resp, strlen(resp)+1);
|
|
||||||
ENetPacket *packet = enet_packet_create(resp_msg, strlen(resp) + 5, ENET_PACKET_FLAG_RELIABLE);
|
ENetPacket *packet = enet_packet_create(resp_msg, strlen(resp) + 5, ENET_PACKET_FLAG_RELIABLE);
|
||||||
enet_peer_send(event.peer, 0, packet);
|
enet_peer_send(event.peer, 0, packet);
|
||||||
msg = va("%d req:%s res:%s", 0, cmdline, resp);
|
msg = va("%d req:%s res:%s", 0, cmdline, resp);
|
||||||
FREE(resp_msg);
|
|
||||||
} break;
|
} break;
|
||||||
case MSG_RPC_RESP: {
|
case MSG_RPC_RESP: {
|
||||||
event.type = NETWORK_EVENT_RPC_RESP;
|
event.type = NETWORK_EVENT_RPC_RESP;
|
||||||
|
@ -339289,23 +339285,19 @@ void network_rpc(const char *signature, void *function) {
|
||||||
|
|
||||||
void network_rpc_send_to(int64_t rank, unsigned id, const char *cmdline) {
|
void network_rpc_send_to(int64_t rank, unsigned id, const char *cmdline) {
|
||||||
assert(network_get(NETWORK_RANK) == 0); /* must be a host */
|
assert(network_get(NETWORK_RANK) == 0); /* must be a host */
|
||||||
|
char *msg = va("%*.s%s", 8, "", cmdline);
|
||||||
unsigned sz = strlen(cmdline) + 9;
|
unsigned sz = strlen(cmdline) + 9;
|
||||||
char *msg = MALLOC(sz);
|
|
||||||
*(uint32_t*)&msg[0] = MSG_RPC;
|
*(uint32_t*)&msg[0] = MSG_RPC;
|
||||||
*(uint32_t*)&msg[4] = id;
|
*(uint32_t*)&msg[4] = id;
|
||||||
memcpy(&msg[8], cmdline, sz-8);
|
|
||||||
server_send_bin(rank, msg, sz);
|
server_send_bin(rank, msg, sz);
|
||||||
FREE(msg);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void network_rpc_send(unsigned id, const char *cmdline) {
|
void network_rpc_send(unsigned id, const char *cmdline) {
|
||||||
|
char *msg = va("%*.s%s", 8, "", cmdline);
|
||||||
unsigned sz = strlen(cmdline) + 9;
|
unsigned sz = strlen(cmdline) + 9;
|
||||||
char *msg = MALLOC(sz);
|
|
||||||
*(uint32_t*)&msg[0] = MSG_RPC;
|
*(uint32_t*)&msg[0] = MSG_RPC;
|
||||||
*(uint32_t*)&msg[4] = id;
|
*(uint32_t*)&msg[4] = id;
|
||||||
memcpy(&msg[8], cmdline, sz-8);
|
|
||||||
server_broadcast_bin(msg, sz);
|
server_broadcast_bin(msg, sz);
|
||||||
FREE(msg);
|
|
||||||
}
|
}
|
||||||
#line 0
|
#line 0
|
||||||
|
|
||||||
|
|
|
@ -512,13 +512,11 @@ char** server_poll(unsigned timeout_ms) {
|
||||||
unsigned id = *(uint32_t*)ptr; ptr += 4;
|
unsigned id = *(uint32_t*)ptr; ptr += 4;
|
||||||
char *cmdline = ptr;
|
char *cmdline = ptr;
|
||||||
char *resp = rpc(id, cmdline);
|
char *resp = rpc(id, cmdline);
|
||||||
char *resp_msg = MALLOC(strlen(resp) + 6);
|
char *resp_msg = va("%*.s%s", 4, "", resp);
|
||||||
*(uint32_t*)&resp_msg[0] = MSG_RPC_RESP;
|
*(uint32_t*)&resp_msg[0] = MSG_RPC_RESP;
|
||||||
memcpy(&resp_msg[4], resp, strlen(resp)+1);
|
|
||||||
ENetPacket *packet = enet_packet_create(resp_msg, strlen(resp) + 5, ENET_PACKET_FLAG_RELIABLE);
|
ENetPacket *packet = enet_packet_create(resp_msg, strlen(resp) + 5, ENET_PACKET_FLAG_RELIABLE);
|
||||||
enet_peer_send(event.peer, 0, packet);
|
enet_peer_send(event.peer, 0, packet);
|
||||||
msg = va("%d req:%s res:%s", 0, cmdline, resp);
|
msg = va("%d req:%s res:%s", 0, cmdline, resp);
|
||||||
FREE(resp_msg);
|
|
||||||
} break;
|
} break;
|
||||||
case MSG_RPC_RESP: {
|
case MSG_RPC_RESP: {
|
||||||
event.type = NETWORK_EVENT_RPC_RESP;
|
event.type = NETWORK_EVENT_RPC_RESP;
|
||||||
|
@ -610,13 +608,11 @@ char** client_poll(unsigned timeout_ms) {
|
||||||
unsigned id = *(uint32_t*)ptr; ptr += 4;
|
unsigned id = *(uint32_t*)ptr; ptr += 4;
|
||||||
char *cmdline = ptr;
|
char *cmdline = ptr;
|
||||||
char *resp = rpc(id, cmdline);
|
char *resp = rpc(id, cmdline);
|
||||||
char *resp_msg = MALLOC(strlen(resp) + 6);
|
char *resp_msg = va("%*.s%s", 4, "", resp);
|
||||||
*(uint32_t*)&resp_msg[0] = MSG_RPC_RESP;
|
*(uint32_t*)&resp_msg[0] = MSG_RPC_RESP;
|
||||||
memcpy(&resp_msg[4], resp, strlen(resp)+1);
|
|
||||||
ENetPacket *packet = enet_packet_create(resp_msg, strlen(resp) + 5, ENET_PACKET_FLAG_RELIABLE);
|
ENetPacket *packet = enet_packet_create(resp_msg, strlen(resp) + 5, ENET_PACKET_FLAG_RELIABLE);
|
||||||
enet_peer_send(event.peer, 0, packet);
|
enet_peer_send(event.peer, 0, packet);
|
||||||
msg = va("%d req:%s res:%s", 0, cmdline, resp);
|
msg = va("%d req:%s res:%s", 0, cmdline, resp);
|
||||||
FREE(resp_msg);
|
|
||||||
} break;
|
} break;
|
||||||
case MSG_RPC_RESP: {
|
case MSG_RPC_RESP: {
|
||||||
event.type = NETWORK_EVENT_RPC_RESP;
|
event.type = NETWORK_EVENT_RPC_RESP;
|
||||||
|
@ -671,21 +667,17 @@ void network_rpc(const char *signature, void *function) {
|
||||||
|
|
||||||
void network_rpc_send_to(int64_t rank, unsigned id, const char *cmdline) {
|
void network_rpc_send_to(int64_t rank, unsigned id, const char *cmdline) {
|
||||||
assert(network_get(NETWORK_RANK) == 0); /* must be a host */
|
assert(network_get(NETWORK_RANK) == 0); /* must be a host */
|
||||||
|
char *msg = va("%*.s%s", 8, "", cmdline);
|
||||||
unsigned sz = strlen(cmdline) + 9;
|
unsigned sz = strlen(cmdline) + 9;
|
||||||
char *msg = MALLOC(sz);
|
|
||||||
*(uint32_t*)&msg[0] = MSG_RPC;
|
*(uint32_t*)&msg[0] = MSG_RPC;
|
||||||
*(uint32_t*)&msg[4] = id;
|
*(uint32_t*)&msg[4] = id;
|
||||||
memcpy(&msg[8], cmdline, sz-8);
|
|
||||||
server_send_bin(rank, msg, sz);
|
server_send_bin(rank, msg, sz);
|
||||||
FREE(msg);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void network_rpc_send(unsigned id, const char *cmdline) {
|
void network_rpc_send(unsigned id, const char *cmdline) {
|
||||||
|
char *msg = va("%*.s%s", 8, "", cmdline);
|
||||||
unsigned sz = strlen(cmdline) + 9;
|
unsigned sz = strlen(cmdline) + 9;
|
||||||
char *msg = MALLOC(sz);
|
|
||||||
*(uint32_t*)&msg[0] = MSG_RPC;
|
*(uint32_t*)&msg[0] = MSG_RPC;
|
||||||
*(uint32_t*)&msg[4] = id;
|
*(uint32_t*)&msg[4] = id;
|
||||||
memcpy(&msg[8], cmdline, sz-8);
|
|
||||||
server_broadcast_bin(msg, sz);
|
server_broadcast_bin(msg, sz);
|
||||||
FREE(msg);
|
|
||||||
}
|
}
|
||||||
|
|
16
engine/v4k.c
16
engine/v4k.c
|
@ -10038,13 +10038,11 @@ char** server_poll(unsigned timeout_ms) {
|
||||||
unsigned id = *(uint32_t*)ptr; ptr += 4;
|
unsigned id = *(uint32_t*)ptr; ptr += 4;
|
||||||
char *cmdline = ptr;
|
char *cmdline = ptr;
|
||||||
char *resp = rpc(id, cmdline);
|
char *resp = rpc(id, cmdline);
|
||||||
char *resp_msg = MALLOC(strlen(resp) + 6);
|
char *resp_msg = va("%*.s%s", 4, "", resp);
|
||||||
*(uint32_t*)&resp_msg[0] = MSG_RPC_RESP;
|
*(uint32_t*)&resp_msg[0] = MSG_RPC_RESP;
|
||||||
memcpy(&resp_msg[4], resp, strlen(resp)+1);
|
|
||||||
ENetPacket *packet = enet_packet_create(resp_msg, strlen(resp) + 5, ENET_PACKET_FLAG_RELIABLE);
|
ENetPacket *packet = enet_packet_create(resp_msg, strlen(resp) + 5, ENET_PACKET_FLAG_RELIABLE);
|
||||||
enet_peer_send(event.peer, 0, packet);
|
enet_peer_send(event.peer, 0, packet);
|
||||||
msg = va("%d req:%s res:%s", 0, cmdline, resp);
|
msg = va("%d req:%s res:%s", 0, cmdline, resp);
|
||||||
FREE(resp_msg);
|
|
||||||
} break;
|
} break;
|
||||||
case MSG_RPC_RESP: {
|
case MSG_RPC_RESP: {
|
||||||
event.type = NETWORK_EVENT_RPC_RESP;
|
event.type = NETWORK_EVENT_RPC_RESP;
|
||||||
|
@ -10136,13 +10134,11 @@ char** client_poll(unsigned timeout_ms) {
|
||||||
unsigned id = *(uint32_t*)ptr; ptr += 4;
|
unsigned id = *(uint32_t*)ptr; ptr += 4;
|
||||||
char *cmdline = ptr;
|
char *cmdline = ptr;
|
||||||
char *resp = rpc(id, cmdline);
|
char *resp = rpc(id, cmdline);
|
||||||
char *resp_msg = MALLOC(strlen(resp) + 6);
|
char *resp_msg = va("%*.s%s", 4, "", resp);
|
||||||
*(uint32_t*)&resp_msg[0] = MSG_RPC_RESP;
|
*(uint32_t*)&resp_msg[0] = MSG_RPC_RESP;
|
||||||
memcpy(&resp_msg[4], resp, strlen(resp)+1);
|
|
||||||
ENetPacket *packet = enet_packet_create(resp_msg, strlen(resp) + 5, ENET_PACKET_FLAG_RELIABLE);
|
ENetPacket *packet = enet_packet_create(resp_msg, strlen(resp) + 5, ENET_PACKET_FLAG_RELIABLE);
|
||||||
enet_peer_send(event.peer, 0, packet);
|
enet_peer_send(event.peer, 0, packet);
|
||||||
msg = va("%d req:%s res:%s", 0, cmdline, resp);
|
msg = va("%d req:%s res:%s", 0, cmdline, resp);
|
||||||
FREE(resp_msg);
|
|
||||||
} break;
|
} break;
|
||||||
case MSG_RPC_RESP: {
|
case MSG_RPC_RESP: {
|
||||||
event.type = NETWORK_EVENT_RPC_RESP;
|
event.type = NETWORK_EVENT_RPC_RESP;
|
||||||
|
@ -10197,23 +10193,19 @@ void network_rpc(const char *signature, void *function) {
|
||||||
|
|
||||||
void network_rpc_send_to(int64_t rank, unsigned id, const char *cmdline) {
|
void network_rpc_send_to(int64_t rank, unsigned id, const char *cmdline) {
|
||||||
assert(network_get(NETWORK_RANK) == 0); /* must be a host */
|
assert(network_get(NETWORK_RANK) == 0); /* must be a host */
|
||||||
|
char *msg = va("%*.s%s", 8, "", cmdline);
|
||||||
unsigned sz = strlen(cmdline) + 9;
|
unsigned sz = strlen(cmdline) + 9;
|
||||||
char *msg = MALLOC(sz);
|
|
||||||
*(uint32_t*)&msg[0] = MSG_RPC;
|
*(uint32_t*)&msg[0] = MSG_RPC;
|
||||||
*(uint32_t*)&msg[4] = id;
|
*(uint32_t*)&msg[4] = id;
|
||||||
memcpy(&msg[8], cmdline, sz-8);
|
|
||||||
server_send_bin(rank, msg, sz);
|
server_send_bin(rank, msg, sz);
|
||||||
FREE(msg);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void network_rpc_send(unsigned id, const char *cmdline) {
|
void network_rpc_send(unsigned id, const char *cmdline) {
|
||||||
|
char *msg = va("%*.s%s", 8, "", cmdline);
|
||||||
unsigned sz = strlen(cmdline) + 9;
|
unsigned sz = strlen(cmdline) + 9;
|
||||||
char *msg = MALLOC(sz);
|
|
||||||
*(uint32_t*)&msg[0] = MSG_RPC;
|
*(uint32_t*)&msg[0] = MSG_RPC;
|
||||||
*(uint32_t*)&msg[4] = id;
|
*(uint32_t*)&msg[4] = id;
|
||||||
memcpy(&msg[8], cmdline, sz-8);
|
|
||||||
server_broadcast_bin(msg, sz);
|
server_broadcast_bin(msg, sz);
|
||||||
FREE(msg);
|
|
||||||
}
|
}
|
||||||
#line 0
|
#line 0
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue