diff options
author | Raimo Niskanen <raimo@erlang.org> | 2021-02-26 16:17:39 +0100 |
---|---|---|
committer | Raimo Niskanen <raimo@erlang.org> | 2021-04-23 13:15:21 +0200 |
commit | 78ce348efffc0d562994c68711e04b8587fbe5c6 (patch) | |
tree | bf8fcfce91d2b91e5b57f5a0810b7b9134421e63 /lib/kernel/src/inet.erl | |
parent | 141fd67c2337245994f38d0259a4b79f041603ab (diff) | |
download | erlang-78ce348efffc0d562994c68711e04b8587fbe5c6.tar.gz |
Implement sendfile over NIF handshake
Diffstat (limited to 'lib/kernel/src/inet.erl')
-rw-r--r-- | lib/kernel/src/inet.erl | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/lib/kernel/src/inet.erl b/lib/kernel/src/inet.erl index 4af31b86cc..c41e57345f 100644 --- a/lib/kernel/src/inet.erl +++ b/lib/kernel/src/inet.erl @@ -1,7 +1,7 @@ %% %% %CopyrightBegin% %% -%% Copyright Ericsson AB 1997-2020. All Rights Reserved. +%% Copyright Ericsson AB 1997-2021. All Rights Reserved. %% %% Licensed under the Apache License, Version 2.0 (the "License"); %% you may not use this file except in compliance with the License. @@ -130,6 +130,7 @@ 'ewouldblock' | 'exbadport' | 'exbadseq' | file:posix(). -type module_socket() :: {'$inet', Handler :: module(), Handle :: term()}. +-define(module_socket(Handler, Handle), {'$inet', (Handler), (Handle)}). -type socket() :: port() | module_socket(). -type socket_setopt() :: @@ -213,7 +214,7 @@ close(Socket) -> returned_non_ip_address()} | {error, posix()}. -peername({'$inet', GenSocketMod, _} = Socket) when is_atom(GenSocketMod) -> +peername(?module_socket(GenSocketMod, _) = Socket) when is_atom(GenSocketMod) -> GenSocketMod:?FUNCTION_NAME(Socket); peername(Socket) -> prim_inet:peername(Socket). @@ -257,7 +258,7 @@ peernames(Socket, Assoc) -> returned_non_ip_address()} | {error, posix()}. -sockname({'$inet', GenSocketMod, _} = Socket) when is_atom(GenSocketMod) -> +sockname(?module_socket(GenSocketMod, _) = Socket) when is_atom(GenSocketMod) -> GenSocketMod:?FUNCTION_NAME(Socket); sockname(Socket) -> prim_inet:sockname(Socket). @@ -299,7 +300,7 @@ socknames(Socket, Assoc) -> Socket :: socket(), Port :: port_number(). -port({'$inet', GenSocketMod, _} = Socket) when is_atom(GenSocketMod) -> +port(?module_socket(GenSocketMod, _) = Socket) when is_atom(GenSocketMod) -> case GenSocketMod:sockname(Socket) of {ok, {_, Port}} -> {ok, Port}; {error, _} = Error -> Error @@ -320,7 +321,7 @@ send(Socket, Packet) -> Socket :: socket(), Options :: [socket_setopt()]. -setopts({'$inet', GenSocketMod, _} = Socket, Opts) when is_atom(GenSocketMod) -> +setopts(?module_socket(GenSocketMod, _) = Socket, Opts) when is_atom(GenSocketMod) -> GenSocketMod:?FUNCTION_NAME(Socket, Opts); setopts(Socket, Opts) -> SocketOpts = @@ -338,7 +339,7 @@ setopts(Socket, Opts) -> Options :: [socket_getopt()], OptionValues :: [socket_setopt() | gen_tcp:pktoptions_value()]. -getopts({'$inet', GenSocketMod, _} = Socket, Opts) +getopts(?module_socket(GenSocketMod, _) = Socket, Opts) when is_atom(GenSocketMod) -> GenSocketMod:?FUNCTION_NAME(Socket, Opts); getopts(Socket, Opts) -> @@ -531,7 +532,7 @@ getstat(Socket) -> Options :: [stat_option()], OptionValues :: [{stat_option(), integer()}]. -getstat({'$inet', GenSocketMod, _} = Socket, What) +getstat(?module_socket(GenSocketMod, _) = Socket, What) when is_atom(GenSocketMod) -> GenSocketMod:?FUNCTION_NAME(Socket, What); getstat(Socket, What) -> |