fixeria has uploaded this change for review. (
https://gerrit.osmocom.org/c/erlang/osmo-s1gw/+/37457?usp=email )
Change subject: sctp_client: add type hints
......................................................................
sctp_client: add type hints
Change-Id: I89f237706dfbd6004e7644b3b68446fab7f31c7c
---
M src/sctp_client.erl
1 file changed, 28 insertions(+), 0 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/erlang/osmo-s1gw refs/changes/57/37457/1
diff --git a/src/sctp_client.erl b/src/sctp_client.erl
index 24ec75d..ab02791 100644
--- a/src/sctp_client.erl
+++ b/src/sctp_client.erl
@@ -46,16 +46,33 @@
-include("s1ap.hrl").
+
+-type loc_addr() :: any | list() | inet:ip_address().
+-type rem_addr() :: localhost | list() | inet:ip_address().
+-type loc_rem_addr() :: {loc_addr(), rem_addr()}.
+-type connect_result() :: {ok, gen_sctp:sctp_socket()}.
+-type sock_aid() :: {gen_sctp:sctp_socket(),
+ gen_sctp:assoc_id()}.
+
+-export_type([loc_addr/0,
+ rem_addr/0,
+ loc_rem_addr/0,
+ connect_result/0,
+ sock_aid/0]).
+
%% ------------------------------------------------------------------
%% public API
%% ------------------------------------------------------------------
+-spec connect() -> connect_result().
connect() ->
connect({any, localhost}).
+-spec connect(loc_rem_addr()) -> connect_result().
connect(LocRemAddr) ->
connect(LocRemAddr, ?S1AP_PORT).
+-spec connect(loc_rem_addr(), inet:port_number()) -> connect_result().
connect({LocAddrStr, RemAddr}, Port) when is_list(LocAddrStr) ->
{ok, LocAddr} = inet:parse_address(LocAddrStr),
connect({LocAddr, RemAddr}, Port);
@@ -72,12 +89,14 @@
{ok, Sock}.
+-spec send_data(sock_aid(), binary()) -> ok | {error, term()}.
send_data({Sock, Aid}, Data) ->
gen_sctp:send(Sock, #sctp_sndrcvinfo{stream = ?S1AP_SCTP_STREAM,
ppid = ?S1AP_SCTP_PPID,
assoc_id = Aid}, Data).
+-spec disconnect(sock_aid()) -> ok | {error, term()}.
disconnect({Sock, Aid}) ->
gen_sctp:eof(Sock, #sctp_assoc_change{assoc_id = Aid}).
--
To view, visit
https://gerrit.osmocom.org/c/erlang/osmo-s1gw/+/37457?usp=email
To unsubscribe, or for help writing mail filters, visit
https://gerrit.osmocom.org/settings
Gerrit-Project: erlang/osmo-s1gw
Gerrit-Branch: master
Gerrit-Change-Id: I89f237706dfbd6004e7644b3b68446fab7f31c7c
Gerrit-Change-Number: 37457
Gerrit-PatchSet: 1
Gerrit-Owner: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-MessageType: newchange