Packages

A TCP library for Gleam.

Current section

Files

Jump to
tcpea src tcpea@client@ffi.erl
Raw

src/tcpea@client@ffi.erl

-module(tcpea@client@ffi).
-compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch]).
-export([recv/3, shutdown/2, controlling_process/2, connect/4, send/2]).
-spec recv(tcpea@client@types:socket(), integer(), integer()) -> {ok,
bitstring()} |
{error, tcpea@client@types:error()}.
recv(Socket, Length, Timeout) ->
gen_tcp:recv(Socket, Length, Timeout).
-spec shutdown(
tcpea@client@types:socket(),
tcpea@client@types:shutdown_options()
) -> {ok, nil} | {error, tcpea@client@types:error()}.
shutdown(Socket, How) ->
tcpea_ffi:shutdown(Socket, How).
-spec controlling_process(
tcpea@client@types:socket(),
gleam@erlang@process:pid_()
) -> {ok, nil} | {error, tcpea@client@types:error()}.
controlling_process(Socket, Pid) ->
tcpea_ffi:controlling_process(Socket, Pid).
-spec connect(
binary(),
integer(),
list(tcpea@client@types:connect_options()),
integer()
) -> {ok, tcpea@client@types:socket()} | {error, tcpea@client@types:error()}.
connect(Host, Port, Options, Timeout) ->
gen_tcp:connect(unicode:characters_to_list(Host), Port, Options, Timeout).
-spec send(tcpea@client@types:socket(), bitstring()) -> {ok, nil} |
{error, tcpea@client@types:error()}.
send(Socket, Packet) ->
tcpea_ffi:send(Socket, gleam_stdlib:wrap_list(Packet)).