Packages

A Gleam FTP/FTPS client library with full RFC support for both passive and active mode

Current section

Files

Jump to
gftp src gftp@internal@listener.erl
Raw

src/gftp@internal@listener.erl

-module(gftp@internal@listener).
-compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch, inline]).
-define(FILEPATH, "src/gftp/internal/listener.gleam").
-export([listen/1, port/1, accept/2, close/1]).
-export_type([listen_socket/0, ip_family/0]).
-if(?OTP_RELEASE >= 27).
-define(MODULEDOC(Str), -moduledoc(Str)).
-define(DOC(Str), -doc(Str)).
-else.
-define(MODULEDOC(Str), -compile([])).
-define(DOC(Str), -compile([])).
-endif.
?MODULEDOC(false).
-type listen_socket() :: listen_socket.
-type ip_family() :: ipv4 | ipv6.
-file("src/gftp/internal/listener.gleam", 22).
?DOC(false).
-spec listen(ip_family()) -> {ok, listen_socket()} | {error, mug:error()}.
listen(Ip_family) ->
listener_ffi:listen(Ip_family).
-file("src/gftp/internal/listener.gleam", 26).
?DOC(false).
-spec port(listen_socket()) -> {ok, integer()} | {error, mug:error()}.
port(Socket) ->
listener_ffi:listener_port(Socket).
-file("src/gftp/internal/listener.gleam", 31).
?DOC(false).
-spec accept(listen_socket(), integer()) -> {ok, mug:socket()} |
{error, mug:error()}.
accept(Socket, Timeout) ->
listener_ffi:accept(Socket, Timeout).
-file("src/gftp/internal/listener.gleam", 38).
?DOC(false).
-spec close(listen_socket()) -> nil.
close(Socket) ->
listener_ffi:close(Socket).