NetSocket set_broadcast_enabled returns Error enum
This commit is contained in:
parent
c868baf658
commit
ab1bfb9007
3 changed files with 7 additions and 5 deletions
|
@ -69,7 +69,7 @@ public:
|
|||
virtual bool is_open() const = 0;
|
||||
virtual int get_available_bytes() const = 0;
|
||||
|
||||
virtual void set_broadcasting_enabled(bool p_enabled) = 0;
|
||||
virtual Error set_broadcasting_enabled(bool p_enabled) = 0; // Returns OK if the socket option has been set successfully.
|
||||
virtual void set_blocking_enabled(bool p_enabled) = 0;
|
||||
virtual void set_ipv6_only_enabled(bool p_enabled) = 0;
|
||||
virtual void set_tcp_no_delay_enabled(bool p_enabled) = 0;
|
||||
|
|
|
@ -603,15 +603,17 @@ Error NetSocketPosix::sendto(const uint8_t *p_buffer, int p_len, int &r_sent, IP
|
|||
return OK;
|
||||
}
|
||||
|
||||
void NetSocketPosix::set_broadcasting_enabled(bool p_enabled) {
|
||||
ERR_FAIL_COND(!is_open());
|
||||
Error NetSocketPosix::set_broadcasting_enabled(bool p_enabled) {
|
||||
ERR_FAIL_COND_V(!is_open(), ERR_UNCONFIGURED);
|
||||
// IPv6 has no broadcast support.
|
||||
ERR_FAIL_COND(_ip_type == IP::TYPE_IPV6);
|
||||
ERR_FAIL_COND_V(_ip_type == IP::TYPE_IPV6, ERR_UNAVAILABLE);
|
||||
|
||||
int par = p_enabled ? 1 : 0;
|
||||
if (setsockopt(_sock, SOL_SOCKET, SO_BROADCAST, SOCK_CBUF(&par), sizeof(int)) != 0) {
|
||||
WARN_PRINT("Unable to change broadcast setting");
|
||||
return FAILED;
|
||||
}
|
||||
return OK;
|
||||
}
|
||||
|
||||
void NetSocketPosix::set_blocking_enabled(bool p_enabled) {
|
||||
|
|
|
@ -89,7 +89,7 @@ public:
|
|||
virtual bool is_open() const;
|
||||
virtual int get_available_bytes() const;
|
||||
|
||||
virtual void set_broadcasting_enabled(bool p_enabled);
|
||||
virtual Error set_broadcasting_enabled(bool p_enabled);
|
||||
virtual void set_blocking_enabled(bool p_enabled);
|
||||
virtual void set_ipv6_only_enabled(bool p_enabled);
|
||||
virtual void set_tcp_no_delay_enabled(bool p_enabled);
|
||||
|
|
Loading…
Reference in a new issue