aboutsummaryrefslogtreecommitdiffstats
path: root/lib/kernel/doc/src/gen_udp.xml
AgeCommit message (Collapse)Author
2013-09-23add {active,N} socket option for TCP, UDP, and SCTPSteve Vinoski
Add the {active,N} socket option, where N is an integer in the range -32768..32767, to allow a caller to specify the number of data messages to be delivered to the controlling process. Once the socket's delivered message count either reaches 0 or is explicitly set to 0 with inet:setopts/2 or by including {active,0} as an option when the socket is created, the socket transitions to passive ({active, false}) mode and the socket's controlling process receives a message to inform it of the transition. TCP sockets receive {tcp_passive,Socket}, UDP sockets receive {udp_passive,Socket} and SCTP sockets receive {sctp_passive,Socket}. The socket's delivered message counter defaults to 0, but it can be set using {active,N} via any gen_tcp, gen_udp, or gen_sctp function that takes socket options as arguments, or via inet:setopts/2. New N values are added to the socket's current counter value, and negative numbers can be used to reduce the counter value. Specifying a number that would cause the socket's counter value to go above 32767 causes an einval error. If a negative number is specified such that the counter value would become negative, the socket's counter value is set to 0 and the socket transitions to passive mode. If the counter value is already 0 and inet:setopts(Socket, [{active,0}]) is specified, the counter value remains at 0 but the appropriate passive mode transition message is generated for the socket. This commit contains a modified preloaded prim_inet.beam due to changes in prim_inet.erl. Add tests for {active,N} mode for TCP, UDP, and SCTP sockets. Add documentation for {active,N} mode for inet, gen_tcp, gen_udp, and gen_sctp.
2013-04-19Convert XML files to UTF-8Hans Bolinder
2012-08-31Update copyright yearsBjörn-Egil Dahlberg
2012-05-23Merge branch 'lukas/kernel/fix-gen_udp_tcp-leak/OTP-10094' into maintLukas Larsson
* lukas/kernel/fix-gen_udp_tcp-leak/OTP-10094: Add testcase for controlling_process(P,self()) Fix port leaking after controlling_process(Port, self())
2012-04-17doc: Add 'is' to explanation of callback modulesBjörn-Egil Dahlberg
2012-04-16kernel: Document ifaddr optionBjörn-Egil Dahlberg
* same as ip option
2012-04-16kernel: Document tcp-, udp- and sctp_module optionBjörn-Egil Dahlberg
2012-04-12kernel: Initial doc of forgotten inet optionsBjörn-Egil Dahlberg
* UDP: ulticast_if, multicast_loop and multicast_ttl, add_membership and drop_membership * Inet: bit8, buffer, deliver, high_watermark, linger and low_watermark
2012-02-04Fix port leaking after controlling_process(Port, self())Ricardo
Add case to handle the situation when someone call {gen_tcp,gen_udp}:controlling_process(Port, self()). Also improve spec and doc from gen_udp and gen_sctp for controlling_process/2. To reproduce the issue, open an UDP port: 4> {ok,Port} = gen_udp:open(9000, [binary]). {ok,#Port<0.587>} 5> gen_udp:controlling_process(Port, self()). ok Simulate error: 6> 1=2. ** exception error: no match of right hand side value 2 Here is the leak: 7> inet:i(). Port Module Recv Sent Owner Local Address Foreign Address State Type 581 inet_udp 0 0 <0.31.0> *:cslistener *:* BOUND DGRAM ok
2011-08-25Improve types and specifications of the inet modulesHans Bolinder
2011-05-11Use Erlang specs and types for documentationHans Bolinder
2009-11-20The R13B03 release.OTP_R13B03Erlang/OTP