Age | Commit message (Collapse) | Author |
|
Added doc for the net module.
Also some socket-nif cleanup.
OTP-14831
|
|
Updated the documentation of recv, recvfrom, send and sendto.
Also added doc for functions peername and sockname.
OTP-14831
|
|
Fixed handling of recvfrom (used by dgram sockets).
Had forgot to do select(read) when we got block from
the call to recvfrom. Argh!
Also updated the (simple) test server and client to to
be able to use udp (dgram+udp).
OTP-14831
|
|
Fixed handling of closed in the recv function.
We still need to properly handle when we get
0 bytes of data for other types ock sockets
then stream (its valid for dgram for instance).
OTP-14831
|
|
The pid compare test was incorrect.
OTP-14831
|
|
The common stuff, like decode and encode of common types
(soch as socket address), has been moved into a util file
(socket_util). The debug stuff has also been moved into its
own file. Also introduced a common include file for common
macros and types.
OTP-14831
|
|
|
|
Started to move the common stuff, such as common utility functions,
debug and encode / decode of basic types.
OTP-14831
|
|
And now fixed the getnameinfo function.
OTP-14831
|
|
Fixed functions getaddrinfo, if_index2name, if_name2index
and if_names.
OTP-14831
|
|
|
|
The old net module (in kernel) (deprecated) was removed and its
function(s) has been moved into the new module.
Also a minor updated to the info function.
OTP-14831
|
|
Added a command function, which is currently only used
to enable and disable debug, which is also added.
|
|
The net (nif) module now actually loads (automatically)
when the VM is started (*on linux*).
Now we must make sure it *actually* works, and implement
the rest of the stuff...
|
|
OTP-14831
|
|
This is part of the nififying of the inet driver.
OTP-14831
|
|
Added (some) use of the debug printouts in (nif-) open
and bind. Also fixed handling of the address argument
in the bind function(s) (since it was changed to be
of the in_sockaddr()).
OTP-14831
|
|
The map returned by the info function is now populated
with the "global stuff". That is, debug, iow and the
(global) counters (which are still not actually incremented).
Also added debug functions and macros (not yet used).
OTP-14831
|
|
|
|
Also added (a very) temporary example.
OTP-14831
|
|
The doc for type socket was missing (as it is opaque),
so instead its replaced with a simple text referring
to the functions open and accept.
The open function missed a spec (for open/2), the text
for default protocol needed some omrpvement and finally
the Extra argument needed explaining.
|
|
The doc now builds. Had to update the code (spec and types)
to match. Though, te result is less then stellar.
OTP-14831
|
|
|
|
Added guards and type specs for native getopt.
|
|
Its now possible to specify some "base" type(s) when
retreiving an "native" option (base type instead of
value size).
|
|
There are still many options not implemented (just as
for setopt), but this will have to do for now...
|
|
Rewrote the setopt handling. Still not complete, but now
the structure is "complete". That is, there is atleast one
option handled for each level.
|
|
|
|
|
|
|
|
|
|
|
|
Add setopt for one udp option: cork. This is not
platform independent. Aas fas as I know, it only works
on linux, so for now this serves as a placeholder.
|
|
Add handling of nodelay tcp option setopt.
Added placeholder sctp options autoclose and nodelay
(since my machine does not actually have sctp installed...).
|
|
|
|
Add functions for mapping network interface names and indexes.
Also refined the types for socket addresses: in4_sockaddr and
in6_sockaddr.
|
|
"Handle" the linger option "fully". We still have a lot
of options to handle. We also need to analyze the nif-code
for setopt...
|
|
*Very* partial setopt implementation.
|
|
|
|
There are still some questions regarding what hapopens
when writing / reading from an (remote) closed socket
(I talking about "properly" closed sockets).
|
|
There is probably a lot of things left to be
here. For instance the handling of ECONNRESET
when reading (recv and recvfrom).
Also some stuff about setopt and getopt.
|
|
Also updated the socket type (now a record for easy use).
|
|
The timeout handling for accept and send was unnecessarily
complex.
|
|
Need to fix the use of the request ref (ID) handling
in previous functions.
|
|
Still not handling queue'ing of multiple send requests.
|
|
We still need to handle simultaneous ops. That is, handle
if two different procs tries to send at the same time. Or
a recv and send at the same time. Ops queue?
|
|
|
|
|
|
Still not implemented the 'cancel' operation.
This will be used when, for instance, we need to
cancel an ongoing connect that has taken to long
time to complete (the select).
The idea is to use select(STOP).
|
|
|