aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorJan Uhlig <[email protected]>2017-11-07 14:17:35 +0100
committerLoïc Hoguin <[email protected]>2018-01-22 15:48:08 +0100
commitb6f5b70ddbd7cb29cc26012e224fbbac67ca0432 (patch)
treea81cc626a62ac3cb5c756fba608addc831be83a6 /src
parentf7934bfaecb8351553a3e12bbaba7180b927a0e8 (diff)
downloadranch-b6f5b70ddbd7cb29cc26012e224fbbac67ca0432.tar.gz
ranch-b6f5b70ddbd7cb29cc26012e224fbbac67ca0432.tar.bz2
ranch-b6f5b70ddbd7cb29cc26012e224fbbac67ca0432.zip
Added transport functions getopts/2, getstat/1 and getstat/2
Diffstat (limited to 'src')
-rw-r--r--src/ranch_ssl.erl15
-rw-r--r--src/ranch_tcp.erl15
-rw-r--r--src/ranch_transport.erl4
3 files changed, 34 insertions, 0 deletions
diff --git a/src/ranch_ssl.erl b/src/ranch_ssl.erl
index e91392e..5f6d5c2 100644
--- a/src/ranch_ssl.erl
+++ b/src/ranch_ssl.erl
@@ -30,6 +30,9 @@
-export([sendfile/4]).
-export([sendfile/5]).
-export([setopts/2]).
+-export([getopts/2]).
+-export([getstat/1]).
+-export([getstat/2]).
-export([controlling_process/2]).
-export([peername/1]).
-export([sockname/1]).
@@ -192,6 +195,18 @@ sendfile(Socket, File, Offset, Bytes, Opts) ->
setopts(Socket, Opts) ->
ssl:setopts(Socket, Opts).
+-spec getopts(ssl:sslsocket(), [atom()]) -> {ok, list()} | {error, atom()}.
+getopts(Socket, Opts) ->
+ ssl:getopts(Socket, Opts).
+
+-spec getstat(ssl:sslsocket()) -> {ok, list()} | {error, atom()}.
+getstat(Socket) ->
+ ssl:getstat(Socket).
+
+-spec getstat(ssl:sslsocket(), [atom()]) -> {ok, list()} | {error, atom()}.
+getstat(Socket, OptionNames) ->
+ ssl:getstat(Socket, OptionNames).
+
-spec controlling_process(ssl:sslsocket(), pid())
-> ok | {error, closed | not_owner | atom()}.
controlling_process(Socket, Pid) ->
diff --git a/src/ranch_tcp.erl b/src/ranch_tcp.erl
index 4cb477a..8cc03a1 100644
--- a/src/ranch_tcp.erl
+++ b/src/ranch_tcp.erl
@@ -30,6 +30,9 @@
-export([sendfile/4]).
-export([sendfile/5]).
-export([setopts/2]).
+-export([getopts/2]).
+-export([getstat/1]).
+-export([getstat/2]).
-export([controlling_process/2]).
-export([peername/1]).
-export([sockname/1]).
@@ -174,6 +177,18 @@ sendfile(Socket, RawFile, Offset, Bytes, Opts) ->
setopts(Socket, Opts) ->
inet:setopts(Socket, Opts).
+-spec getopts(inet:socket(), [atom()]) -> {ok, list()} | {error, atom()}.
+getopts(Socket, Opts) ->
+ inet:getopts(Socket, Opts).
+
+-spec getstat(inet:socket()) -> {ok, list()} | {error, atom()}.
+getstat(Socket) ->
+ inet:getstat(Socket).
+
+-spec getstat(inet:socket(), [atom()]) -> {ok, list()} | {error, atom()}.
+getstat(Socket, OptionNames) ->
+ inet:getstat(Socket, OptionNames).
+
-spec controlling_process(inet:socket(), pid())
-> ok | {error, closed | not_owner | atom()}.
controlling_process(Socket, Pid) ->
diff --git a/src/ranch_transport.erl b/src/ranch_transport.erl
index fb385f7..89ceb12 100644
--- a/src/ranch_transport.erl
+++ b/src/ranch_transport.erl
@@ -18,6 +18,7 @@
-type socket() :: any().
-type opts() :: any().
+-type stats() :: any().
-type sendfile_opts() :: [{chunk_size, non_neg_integer()}].
-export_type([sendfile_opts/0]).
@@ -43,6 +44,9 @@
non_neg_integer(), sendfile_opts())
-> {ok, non_neg_integer()} | {error, atom()}.
-callback setopts(socket(), opts()) -> ok | {error, atom()}.
+-callback getopts(socket(), [atom()]) -> {ok, opts()} | {error, atom()}.
+-callback getstat(socket()) -> {ok, stats()} | {error, atom()}.
+-callback getstat(socket(), [atom()]) -> {ok, stats()} | {error, atom()}.
-callback controlling_process(socket(), pid())
-> ok | {error, closed | not_owner | atom()}.
-callback peername(socket())