Implement function enet_socket_set_option using ENetSocket class's methods.
Implemented options: - ENET_SOCKOPT_NONBLOCK - ENET_SOCKOPT_BROADCAST - ENET_SOCKOPT_REUSEADDR - ENET_SOCKOPT_NODELAY Not implemented options: - ENET_SOCKOPT_RCVBUF - ENET_SOCKOPT_SNDBUF - ENET_SOCKOPT_RCVTIMEO - ENET_SOCKOPT_SNDTIMEO
This commit is contained in:
parent
2931b4db51
commit
bb3089895c
1 changed files with 40 additions and 0 deletions
40
thirdparty/enet/godot.cpp
vendored
40
thirdparty/enet/godot.cpp
vendored
|
@ -216,6 +216,46 @@ int enet_socket_listen(ENetSocket socket, int backlog) {
|
||||||
|
|
||||||
int enet_socket_set_option(ENetSocket socket, ENetSocketOption option, int value) {
|
int enet_socket_set_option(ENetSocket socket, ENetSocketOption option, int value) {
|
||||||
|
|
||||||
|
NetSocket *sock = (NetSocket *)socket;
|
||||||
|
|
||||||
|
switch (option) {
|
||||||
|
case ENET_SOCKOPT_NONBLOCK: {
|
||||||
|
sock->set_blocking_enabled(value ? false : true);
|
||||||
|
return 0;
|
||||||
|
} break;
|
||||||
|
|
||||||
|
case ENET_SOCKOPT_BROADCAST: {
|
||||||
|
sock->set_broadcasting_enabled(value ? true : false);
|
||||||
|
return 0;
|
||||||
|
} break;
|
||||||
|
|
||||||
|
case ENET_SOCKOPT_REUSEADDR: {
|
||||||
|
sock->set_reuse_address_enabled(value ? true : false);
|
||||||
|
return 0;
|
||||||
|
} break;
|
||||||
|
|
||||||
|
case ENET_SOCKOPT_RCVBUF: {
|
||||||
|
return -1;
|
||||||
|
} break;
|
||||||
|
|
||||||
|
case ENET_SOCKOPT_SNDBUF: {
|
||||||
|
return -1;
|
||||||
|
} break;
|
||||||
|
|
||||||
|
case ENET_SOCKOPT_RCVTIMEO: {
|
||||||
|
return -1;
|
||||||
|
} break;
|
||||||
|
|
||||||
|
case ENET_SOCKOPT_SNDTIMEO: {
|
||||||
|
return -1;
|
||||||
|
} break;
|
||||||
|
|
||||||
|
case ENET_SOCKOPT_NODELAY: {
|
||||||
|
sock->set_tcp_no_delay_enabled(value ? true : false);
|
||||||
|
return 0;
|
||||||
|
} break;
|
||||||
|
}
|
||||||
|
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue