Packages

kafka_ex_tc

0.12.1-21
0.13.0 0.12.1 0.12.1-51-1 0.12.1-50-3 0.12.1-50-2 0.12.1-50-1 0.12.1-49-2 0.12.1-49-1 0.12.1-49-0 0.12.1-48-2 0.12.1-48-1 0.12.1-47-1 0.12.1-46-2 0.12.1-45-2 0.12.1-45-1 0.12.1-44-1 0.12.1-43-1 0.12.1-42-8 0.12.1-42-6 0.12.1-42-5 0.12.1-42-4 0.12.1-42-1 0.12.1-41-2 0.12.1-41-1 0.12.1-40-9 0.12.1-40-8 0.12.1-40-7 0.12.1-40-6 0.12.1-40-5 0.12.1-40-4 0.12.1-40-3 0.12.1-40-2 0.12.1-40-10 0.12.1-40-1 0.12.1-39-2 0.12.1-39-1 0.12.1-36-3 0.12.1-36-2 0.12.1-36-1 0.12.1-34-b 0.12.1-34-a 0.12.1-33-1 0.12.1-32-a1 0.12.1-29-s-3 0.12.1-29-s-2 0.12.1-29-s-1 0.12.1-28-rumble-1 0.12.1-27-2 0.12.1-27-1 0.12.1-26-rumble-2 0.12.1-26-rumble-1 0.12.1-26-dev-1 0.12.1-26-dev.1 0.12.1-26-3 0.12.1-26-2 0.12.1-26-1 0.12.1-25-s-8 0.12.1-25-s-7 0.12.1-25-s-6 0.12.1-25-s-5 0.12.1-25-s-4 0.12.1-25-s-3 0.12.1-25-s-2 0.12.1-25-s-1 0.12.1-25-dev-22 0.12.1-25-dev 0.12.1-24-2 0.12.1-24-1 0.12.1-22-poc-b-7 0.12.1-20-poc-b-6 0.12.1-20-poc-b-5 0.12.1-20-poc-b-4 0.12.1-20-poc-b-3 0.12.1-19-poc-b-3 0.12.1-19-poc-b-2 0.12.1-19-poc-b-1 0.12.1-19-poc-7 0.12.1-19-poc-6 0.12.1-19-poc-4 0.12.1-19-poc-3 0.12.1-19-poc-2 0.12.1-19-poc-1 0.12.1-19-poc 0.12.1-11-debug-1 0.12.1-11-debug 0.12.1-39 0.12.1-38.a 0.12.1-38 0.12.1-37.c 0.12.1-37.b 0.12.1-37.a 0.12.1-37.1 0.12.1-37 0.12.1-35.b 0.12.1-35.a 0.12.1-34 0.12.1-33 0.12.1-32 0.12.1-31 0.12.1-30 0.12.1-29 0.12.1-28 0.12.1-27 0.12.1-26 0.12.1-25 0.12.1-24 0.12.1-23 0.12.1-22.1 0.12.1-22 0.12.1-21 0.12.1-20 0.12.1-19 0.12.1-18 0.12.1-17 0.12.1-16 0.12.1-15 0.12.1-14 0.12.1-13 0.12.1-12 0.12.1-11 0.12.1-10 0.12.1-9 0.12.1-8 0.12.1-7 0.12.1-6 0.12.1-5 0.12.1-4 0.12.1-3 0.12.1-2 0.12.1-1

Kafka client for Elixir/Erlang.

Current section

Files

Jump to
kafka_ex_tc lib kafka_ex protocol.ex
Raw

lib/kafka_ex/protocol.ex

defmodule KafkaEx.Protocol do
@moduledoc false
@message_type_to_api_key %{
produce: 0,
fetch: 1,
offset: 2,
metadata: 3,
offset_commit: 8,
offset_fetch: 9,
consumer_metadata: 10,
join_group: 11,
heartbeat: 12,
leave_group: 13,
sync_group: 14,
api_versions: 18,
create_topics: 19,
delete_topics: 20
}
# DescribeConfigs 32
# AlterConfigs 33 Valid resource types are "Topic" and "Broker".
@default_api_version 0
@spec api_key(atom) :: integer | nil
def api_key(type) do
Map.get(@message_type_to_api_key, type, nil)
end
def create_request(
type,
correlation_id,
client_id,
api_version \\ @default_api_version
) do
<<api_key(type)::16, api_version::16, correlation_id::32,
byte_size(client_id)::16, client_id::binary>>
end
@error_map %{
0 => :no_error,
1 => :offset_out_of_range,
2 => :invalid_message,
3 => :unknown_topic_or_partition,
4 => :invalid_message_size,
5 => :leader_not_available,
6 => :not_leader_for_partition,
7 => :request_timed_out,
8 => :broker_not_available,
9 => :replica_not_available,
10 => :message_size_too_large,
11 => :stale_controller_epoch,
12 => :offset_metadata_too_large,
14 => :offset_loads_in_progress,
15 => :consumer_coordinator_not_available,
16 => :not_coordinator_for_consumer,
17 => :invalid_topic,
18 => :record_list_too_large,
19 => :not_enough_replicas,
20 => :not_enough_replicas_after_append,
21 => :invalid_required_acks,
22 => :illegal_generation,
23 => :inconsistent_group_protocol,
24 => :invalid_group_id,
25 => :unknown_member_id,
26 => :invalid_session_timeout,
27 => :rebalance_in_progress,
28 => :invalid_commit_offset,
29 => :topic_authorization_failed,
30 => :group_authorization_failed,
31 => :cluster_authorization_failed,
32 => :invalid_timestamp,
33 => :unsupported_sasl_mechanism,
34 => :illegal_sasl_state,
35 => :unsupported_version,
36 => :topic_already_exists,
37 => :invalid_partitions,
38 => :invalid_replication_factor,
39 => :invalid_replica_assignment,
40 => :invalid_config,
41 => :not_controller,
42 => :invalid_request,
43 => :unsupported_for_message_format
}
@spec error(integer) :: atom | integer
def error(err_no) do
case err_no do
-1 -> :unknown_error
_ -> @error_map[err_no] || err_no
end
end
end