aboutsummaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorMicael Karlberg <[email protected]>2018-07-09 18:41:07 +0200
committerMicael Karlberg <[email protected]>2018-09-18 14:50:18 +0200
commit5329726352f8b983e419b6206a85c15cc8836676 (patch)
treeee9e0899c9278dce981aa247715259a660751528 /lib
parent6031321a78e3df5304f555ba356a4482469e7d56 (diff)
downloadotp-5329726352f8b983e419b6206a85c15cc8836676.tar.gz
otp-5329726352f8b983e419b6206a85c15cc8836676.tar.bz2
otp-5329726352f8b983e419b6206a85c15cc8836676.zip
[socket-nif] Add support for socket (level socket) option peek_off
The socket option (level socket) peek_off is now supported. OTP-14831
Diffstat (limited to 'lib')
-rw-r--r--lib/kernel/test/socket_server.erl37
1 files changed, 32 insertions, 5 deletions
diff --git a/lib/kernel/test/socket_server.erl b/lib/kernel/test/socket_server.erl
index 54e13cc92d..e5338644b1 100644
--- a/lib/kernel/test/socket_server.erl
+++ b/lib/kernel/test/socket_server.erl
@@ -99,6 +99,25 @@ manager_init(Domain, dgram = Type, Proto, Peek) ->
i("try open socket"),
case socket:open(Domain, Type, Proto) of
{ok, Sock} ->
+ F = fun(X) -> case socket:getopt(Sock, socket, X) of
+ {ok, V} -> f("~p", [V]);
+ {error, _} -> "-"
+ end
+ end,
+ i("(socket) open (~s,~s,~s): "
+ "~n broadcast: ~s"
+ "~n dontroute: ~s"
+ "~n keepalive: ~s"
+ "~n reuseaddr: ~s"
+ "~n linger: ~s"
+ "~n debug: ~s"
+ "~n prio: ~s"
+ "~n rcvbuf: ~s"
+ "~n sndbuf: ~s"
+ "~n try find (local) address",
+ [F(domain), F(type), F(protocol),
+ F(broadcast), F(dontroute), F(keepalive), F(reuseaddr), F(linger),
+ F(debug), F(priority), F(rcvbuf), F(sndbuf)]),
Addr = which_addr(Domain),
SA = #{family => Domain,
addr => Addr},
@@ -260,14 +279,22 @@ acceptor_do_init(Domain, Type, Proto) ->
end,
F = fun(X) -> case socket:getopt(Sock, socket, X) of
{ok, V} -> f("~p", [V]);
- {error, _} -> "-"
+ {error, R} -> f("error: ~p", [R])
end
end,
i("(socket) open (~s,~s,~s): "
- "~n debug: ~s"
- "~n prio: ~s"
- "~n try find (local) address",
- [F(domain), F(type), F(protocol), F(debug), F(priority)]),
+ "~n dontroute: ~s"
+ "~n keepalive: ~s"
+ "~n reuseaddr: ~s"
+ "~n linger: ~s"
+ "~n debug: ~s"
+ "~n prio: ~s"
+ "~n rcvbuf: ~s"
+ "~n sndbuf: ~s"
+ "~n => try find (local) address",
+ [F(domain), F(type), F(protocol),
+ F(dontroute), F(keepalive), F(reuseaddr), F(linger),
+ F(debug), F(priority), F(rcvbuf), F(sndbuf)]),
Addr = which_addr(Domain),
SA = #{family => Domain,
addr => Addr},