shackle (shackle v0.7.1)
View SourceSummary
Types
-type cast() :: #cast{client :: shackle:client(), pid :: undefined | pid(), request_id :: shackle:request_id(), timeout :: timeout(), timestamp :: erlang:timestamp()}.
-type client() :: module().
-type external_request_id() :: term().
-type inet_address() :: inet:ip_address() | inet:hostname().
-type inet_port() :: inet:port_number().
-type protocol() :: shackle_ssl | shackle_tcp | shackle_udp.
-type request_id() :: {shackle_server:name(), reference()}.
-type response() :: {external_request_id(), term()}.
-type socket() :: inet:socket() | ssl:sslsocket().
-type socket_option() :: gen_tcp:connect_option() | gen_udp:option() | ssl:tls_client_option().
-type socket_options() :: [socket_option()].
-type table() :: atom().
-type time() :: pos_integer().
Functions
-spec call(shackle_pool:name(), term()) -> term() | {error, term()}.
-spec cast(shackle_pool:name(), term()) -> {ok, request_id()} | {error, atom()}.
-spec cast(shackle_pool:name(), term(), undefined | pid()) -> {ok, request_id()} | {error, atom()}.
-spec cast(shackle_pool:name(), term(), undefined | pid(), timeout()) -> {ok, request_id()} | {error, atom()}.
-spec receive_response(request_id()) -> term() | {error, term()}.