fixeria has uploaded this change for review.

View Change

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 change 37457. To unsubscribe, or for help writing mail filters, visit settings.

Gerrit-Project: erlang/osmo-s1gw
Gerrit-Branch: master
Gerrit-Change-Id: I89f237706dfbd6004e7644b3b68446fab7f31c7c
Gerrit-Change-Number: 37457
Gerrit-PatchSet: 1
Gerrit-Owner: fixeria <vyanitskiy@sysmocom.de>
Gerrit-MessageType: newchange