Current section

Files

Jump to
eetcd_fork include eetcd.hrl
Raw

include/eetcd.hrl

-ifndef(etcd_hrl).
-define(etcd_hrl, true).
-include_lib("kernel/include/logger.hrl").
-define(HEADERS, [{<<"grpc-encoding">>, <<"identity">>}, {<<"content-type">>, <<"application/grpc+proto">>}]).
-define(GRPC_ERROR(Status, Message), {grpc_error, #{'grpc-status' => Status, 'grpc-message' => Message}}).
-export_type([key/0, value/0, request/0, etcd_name/0, client/0, grpc_status/0, eetcd_error/0]).
-type key() :: iodata().
-type value() :: iodata().
-type request() :: map().
-type etcd_name() :: atom().
-type client() :: etcd_name() | {etcd_name(), eetcd_stream:conn()}.
-type member_id() :: pos_integer().
-type eetcd_error() :: timeout
| {grpc_error,grpc_status()}
| {gun_down,any()}
| {gun_conn_error,any()}
| {gun_stream_error,any()}
| eetcd_conn_unavailable.
-type grpc_status() :: #{'grpc-status' => integer(), 'grpc-message' => binary()}.
%% Grpc status code
-define(GRPC_STATUS_OK, 0).
-define(GRPC_STATUS_CANCELLED, 1).
-define(GRPC_STATUS_UNKNOWN, 2).
-define(GRPC_STATUS_INVALID_ARGUMENT, 3).
-define(GRPC_STATUS_DEADLINE_EXCEEDED, 4).
-define(GRPC_STATUS_NOT_FOUND, 5).
-define(GRPC_STATUS_ALREADY_EXISTS, 6).
-define(GRPC_STATUS_PERMISSION_DENIED, 7).
-define(GRPC_STATUS_RESOURCE_EXHAUSTED, 8).
-define(GRPC_STATUS_FAILED_PRECONDITION, 9).
-define(GRPC_STATUS_ABORTED, 10).
-define(GRPC_STATUS_OUT_OF_RANGE, 11).
-define(GRPC_STATUS_UNIMPLEMENTED, 12).
-define(GRPC_STATUS_INTERNAL, 13).
-define(GRPC_STATUS_UNAVAILABLE, 14).
-define(GRPC_STATUS_DATA_LOSS, 15).
-define(GRPC_STATUS_UNAUTHENTICATED, 16).
-define(ETCD_CLIENT_CACHE, eetcd_client_cache).
-record(eetcd_client, {
name,
members = #{}
}).
-endif.