Age | Commit message (Collapse) | Author |
|
Its now possible to bind a socket to the (limited) broadcast
address by specifying 'broadcast' as address:
socket:bind(Socket, broadcast)
This is *only* valid for family 'inet'.
Add testing of sending (broadcasting) to both "limited" broadcast address
and "subnet-directed" broadcast address.
OTP-15904
|
|
Add test case for the socket option bindtodevice. Also make
correction in the nif code. Used the wrong option (broadcast).
Also added more info to doc.
Note sure if this test case actually works. Set and get "works",
but the value returned by get is always "". So either we should
extend the test to made sure the bind actually has the expected
effect or... Something for a rainy day maybe...
OTP-15904
|
|
Add test case for the socket option acceptconn. Also make
minor correction (error when trying to set this option
was incorrect). Doc was also incorrect (spelled wrong).
OTP-15904
|
|
The nif code expects the socket address to be "complete",
that is all fields must exist. This was not the case for
a couple of functions, sendto, sendmsg and connect.
What was mssing was a call to 'ensure_sockaddr'.
Test: 1) Add a condition function to test if IPv6 is available
and works.
2) Needed to adjust a test case (actually a common function
used in several test cases) since the socket address
data type has two optional fields, which we do not
initiate (when sending), but the nif-code does fill in.
OTP-15897
|
|
|
|
|
|
|
|
Add documentation for the (socket) info function, which (among
other things) return the socket counters. Also typed the
return value (socket_info()).
OTP-15818
|
|
We already had the counters. But we did not entirely handle
counter wrap, especially in related to 'iow' (Inform On Wrap).
There was also no way to get to the counter values, so a socket
specific info function was implemented (piggy back on the existing
"global" info function). And since, we have it, we also add
other info in the returned map (number of readers, writers and
acceptors).
OTP-15818
|
|
Introduced a debug/1 function and made the command/1
internal.
OTP-15817
|
|
Add a command function to the socket API.
Currently only used for changing global debug.
OTP-15817
|
|
Still trying to make --disable-esock to work properly.
Now the primary chore is the doc building.
OTP-15765
|
|
Return real pend value in erlang:dist_get_stat/1
|
|
ingela/merge-294
* ingela/raimo/udp-send-TOS/ERIERL-294/OTP-15747:
Introduce udp send ancillary data argument down to inet_drv
Fix old warnings
|
|
|
|
Renamed the current preloaded net module to prim_net
and removed the deprecated functions (call, cast, ...).
Introduce a "new" net module (in kernel) as an interface
module to the (preloaded) prim_net. This one also contains
the deprecated functions (call, cast, ...).
OTP-15765
|
|
|
|
Changed tag type tpo opaque. Also added connect (monitor and
process) cleanup.
OTP-15731
|
|
Had forgot about the connect function. But it can now also
handle the Timeout = nowait, maybe resulting in a select.
Required some nif work also...
OTP-15731
|
|
OTP-15731
|
|
The return value for an async call (Timeout = nowait) will now
(normally) result in a {select, SelectInfo} instead (if a select
was performed).
OTP-15731
|
|
If another process closes the socket, the caller will
receive an abort message instead (of the select message).
OTP-15731
|
|
Document the new way to make asynchronous calls to some
of the functions: accept, all recv and all send.
OTP-15731
|
|
Add the (public) cancel function and the first of
the cancel test cases (recvfrom(nowait)).
|
|
Added test case api_a_sendto_and_recvfrom_udp4.
Also, fixed duplicate spec.
|
|
Update function accept and its spec(s) to handle
the Timeout value of nowait.
|
|
Update function sendmsg and its spec(s) to handle
the Timeout value of nowait.
|
|
Update function sendto and its spec(s) to handle
the Timeout value of nowait.
|
|
Add proper type(s) for the select info. Also add
a utility macro to build the term.
|
|
Update function send and its spec(s) to handle
the Timeout value of nowait.
|
|
Update function recvmsg and its spec(s) to handle
the Timeout value of nowait.
|
|
Update function recvfrom and its spec(s) to handle
the Timeout value of nowait.
Also replaced timestamp method with erlang:monotonic_time(milli_seconds).
|
|
Update function recv and its spec(s) to handle
the Timeout value of nowait.
|
|
Fixed the spec's for function open/3,4.
Also, corrected the test for retreiving resulting
protocol when performing open with proto = 0 (default)
and domain is not local. Local may not be defined
on all platforms.
OTP-15822
|
|
The socket:supports/0,1 now also displays local (Unix Domain Socket).
OTP-15822
|
|
Add a (plain) send and recv small ping-pong test case for
Unix Domain (stream) socket.
Also fixed minor bug in setopt for level 'otp' and option
rcvbuf. Could not be changed if unix domain (stream) socket (local).
OTP-15822
|
|
Corrected various issues and added missing stuff.
Default protocol is now indicated with the atom 'default'
instead of the atom 'null'. Also let the underlying OS
decide what protocol is actually the default protocol.
OTP-15822
|
|
The net module uses socket, but when the system has
been built with --disable-esock, there is no socket...
|
|
The config options --[en|dis]able-esock now works as
expected.
|
|
The optional socket module is now not included in
the app file if esock is not enabled.
OTP-15658
|
|
Preliminary work to make socket configurable (enable and disable).
OTP-15658
|
|
Make use of the new select functions; enif_select_[read|write],
for read and write select. These functions allows us to construct
the select message ourseves:
{'$socket', Socket, select, Ref}
This is in preparations for when we introduce the 'nowait'
(or something similar) value for the timeout argument (in accept,
read and write funcions).
It also solves (we hope) the term leakage problems (it was difficult
to free the environment when there was only one/socket).
OTP-15496
|
|
The messages sent from the nif code to an erlang process
has been changed to:
{'$socket', Socket :: socket(), Tag :: atom(), Info :: term()}
This is in preparation for (using) the new enif select API.
OTP-15496
|
|
|
|
|
|
|
|
|
|
Better handling of socket close. The 'closeRef' needed
its own environment to make if work in both cases (both
called and scheduled).
Also Introduced the enif select wrapper functions (read,
write, stop and cancel). Also add error handling at every
time one of these functions are called.
OTP-14831
|
|
Another broken anchor fixed. The type 'ipv6_pktinfo' was
not exported nor was it part of the doc.
OTP-14831
|
|
Had for some reason forgot to update the (erts)
preloaded app-file.
OTP-14831
|