Packages
brod
2.2.6
4.5.7
4.5.6
4.5.5
4.5.4
4.5.3
4.5.2
4.5.1
4.5.0
4.4.7
4.4.6
4.4.5
4.4.4
4.4.3
4.4.2
4.4.1
4.4.0
4.3.3
4.3.2
4.3.1
4.3.0
4.2.0
4.1.1
4.1.0
4.0.0
3.19.1
3.19.0
3.18.0
3.17.1
3.17.0
3.16.5
3.16.4
3.16.3
3.16.2
3.16.1
3.16.0
3.15.6
3.15.5
3.15.4
3.15.3
3.15.1
3.15.0
3.14.0
3.13.0
3.12.0
3.11.0
3.10.0
3.9.5
3.9.3
3.9.2
3.9.1
3.9.0
3.8.1
3.8.0
3.7.11
3.7.10
3.7.9
3.7.8
3.7.7
3.7.6
3.7.5
3.7.4
3.7.3
3.7.2
3.7.1
3.7.0
3.6.2
3.6.1
3.6.0
3.5.2
3.5.1
3.5.0
3.4.0
3.3.5
3.3.4
3.3.3
3.3.2
3.3.1
3.3.0
3.2.0
3.0.0
2.5.0
2.4.1
2.4.0
2.3.7
2.3.6
2.3.5
2.3.4
2.3.3
2.3.1
2.2.16
2.2.15
2.2.14
2.2.12
2.2.11
2.2.10
2.2.9
2.2.8
2.2.7
2.2.6
2.2.5
2.2.4
2.2.3
2.2.2
2.2.1
2.2.0
2.1.12
2.1.11
2.1.10
2.1.8
2.1.7
2.1.4
2.1.2
2.0.0
Apache Kafka Erlang client library
Current section
Files
Jump to
Current section
Files
include/brod.hrl
%%%
%%% Copyright (c) 2014-2016, Klarna AB
%%%
%%% Licensed under the Apache License, Version 2.0 (the "License");
%%% you may not use this file except in compliance with the License.
%%% You may obtain a copy of the License at
%%%
%%% http://www.apache.org/licenses/LICENSE-2.0
%%%
%%% Unless required by applicable law or agreed to in writing, software
%%% distributed under the License is distributed on an "AS IS" BASIS,
%%% WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
%%% See the License for the specific language governing permissions and
%%% limitations under the License.
%%%
-ifndef(__BROD_HRL).
-define(__BROD_HRL, true).
-type kafka_key() :: kpro:key().
-type kafka_value() :: kpro:value().
-type kafka_kv_list() :: kpro:kv_list().
-type kafka_topic() :: kpro:topic().
-type kafka_partition() :: kpro:partition().
-type kafka_offset() :: kpro:offset().
-type kafka_error_code() :: kpro:error_code().
-type kafka_group_id() :: binary().
-type kafka_group_member_id() :: binary().
-type kafka_group_generation_id() :: non_neg_integer().
-type kafka_compression() :: no_compression | gzip | snappy.
-type brod_client_id() :: atom().
-record(kafka_message,
{ offset :: kafka_offset()
, magic_byte :: integer()
, attributes :: integer()
, key :: binary()
, value :: binary()
, crc :: integer()
}).
-type kafka_message() :: kafka_message()
| incomplete_message. %% brod internal only
-record(kafka_message_set,
{ topic :: kafka_topic()
, partition :: kafka_partition()
, high_wm_offset :: integer() %% max offset of the partition
, messages :: [kafka_message()]
}).
-record(kafka_fetch_error,
{ topic :: kafka_topic()
, partition :: kafka_partition()
, error_code :: kafka_error_code()
, error_desc :: binary()
}).
-define(BROD_DEFAULT_CLIENT_ID, brod_default_client).
-record(brod_call_ref, { caller :: pid()
, callee :: pid()
, ref :: reference()
}).
-type brod_call_ref() :: #brod_call_ref{}.
-type brod_produce_result() :: brod_produce_req_buffered
| brod_produce_req_acked.
-record(brod_produce_reply, { call_ref :: brod_call_ref()
, result :: brod_produce_result()
}).
-type brod_produce_reply() :: #brod_produce_reply{}.
-type brod_client_config() :: proplists:proplist().
-type brod_producer_config() :: proplists:proplist().
-type brod_consumer_config() :: proplists:proplist().
-type brod_group_config() :: proplists:proplist().
-type brod_offset_commit_policy() :: commit_to_kafka_v2 % default
| consumer_managed.
-type brod_partition_assignment_strategy() :: roundrobin
| callback_implemented.
-record(kafka_group_member_metadata,
{ version :: non_neg_integer()
, topics :: [kafka_topic()]
, user_data :: binary()
}).
-type kafka_group_member() :: {kafka_group_member_id(),
#kafka_group_member_metadata{}}.
-type brod_partition_assignment() ::
{kafka_topic(), [kafka_partition()]}.
-record(brod_received_assignment,
{ topic :: kafka_topic()
, partition :: kafka_partition()
, begin_offset :: undefined | kafka_offset()
}).
-type brod_received_assignments() :: [#brod_received_assignment{}].
-define(BROD_CONSUMER_GROUP_PROTOCOL_VERSION, 0).
-type brod_partition_fun() :: fun(( Topic :: kafka_topic()
, PartitionsCnt :: integer()
, Key :: binary()
, Value :: binary()) ->
{ok, Partition :: integer()}).
-endif. % include brod.hrl
%%% Local Variables:
%%% erlang-indent-level: 2
%%% End: