Current section

Files

Jump to
erlkaf include erlkaf.hrl
Raw

include/erlkaf.hrl

% default partitioner
-define(DEFULT_PARTITIONER, -1).
% types
-type client_id() :: atom().
-type reason() :: any().
-type state() :: any().
-type key() :: undefined | binary().
-type partition() :: ?DEFULT_PARTITIONER | integer().
-type partition_assignment_strategy() :: range |roundrobin.
-type compression_codec() :: none | gzip | snappy | lz4 | inherit.
-type offset_reset() :: smallest | earliest | beginning | largest | latest.
-type ip_family() :: any| v4| v6.
-type security_protocol() :: plaintext | ssl | sasl_plaintext | sasl_ssl.
-type overflow_strategy() :: local_disk_queue | block_calling_process | drop_records.
-type partitioner() :: random|consistent|consistent_random|murmur2|murmur2_random.
-type headers() :: undefined | proplists:proplist() | maps:map().
-type topic_option() ::
{request_required_acks, integer()} |
{request_timeout_ms, integer()} |
{message_timeout_ms, integer()} |
{partitioner, partitioner()} |
{compression_codec, compression_codec()} |
{compression_level, integer()} |
{auto_commit_interval_ms, integer()} |
{auto_offset_reset, offset_reset()} |
{offset_store_path, binary()} |
{offset_store_sync_interval_ms, integer()} |
{consume_callback_max_messages, non_neg_integer()} |
{poll_idle_ms, non_neg_integer()} |
{dispatch_mode, one_by_one | {batch, non_neg_integer()}}.
-type client_option() ::
{builtin_features, binary()} |
{client_id, binary()} |
{bootstrap_servers, binary()} |
{message_max_bytes, integer()} |
{message_copy_max_bytes, integer()} |
{receive_message_max_bytes, integer()} |
{max_in_flight, integer()} |
{metadata_request_timeout_ms, integer()} |
{topic_metadata_refresh_interval_ms, integer()} |
{metadata_max_age_ms, integer()} |
{topic_metadata_refresh_fast_interval_ms, integer()} |
{topic_metadata_refresh_sparse, boolean()} |
{topic_metadata_propagation_max_ms, non_neg_integer()} |
{topic_blacklist, binary()} |
{debug, binary()} |
{socket_timeout_ms, integer()} |
{socket_send_buffer_bytes, integer()} |
{socket_receive_buffer_bytes, integer()} |
{socket_keepalive_enable, boolean()} |
{socket_nagle_disable, boolean()} |
{socket_max_fails, integer()} |
{broker_address_ttl, integer()} |
{broker_address_family, ip_family()} |
{reconnect_backoff_ms, integer()} |
{reconnect_backoff_max_ms, integer()} |
{statistics_interval_ms, integer()} |
{enabled_events, non_neg_integer()} |
{stats_callback, any()} |
{log_level, integer()} |
{log_queue, boolean()} |
{log_thread_name, binary()} |
{enable_random_seed, boolean()} |
{log_connection_close, boolean()} |
{api_version_request, boolean()} |
{api_version_request_timeout_ms, non_neg_integer()} |
{api_version_fallback_ms, integer()} |
{broker_version_fallback, boolean()} |
{security_protocol, security_protocol()} |
{ssl_cipher_suites, binary()} |
{ssl_curves_list, binary()} |
{ssl_sigalgs_list, binary()} |
{ssl_key_location, binary()} |
{ssl_key_password, binary()} |
{ssl_key_pem, binary()} |
{ssl_certificate_location, binary()} |
{ssl_certificate_pem, binary()} |
{ssl_ca_location, binary()} |
{ssl_crl_location, binary()} |
{ssl_keystore_location, binary()} |
{ssl_keystore_password, binary()} |
{enable_ssl_certificate_verification, boolean()} |
{ssl_endpoint_identification_algorithm, binary()} |
{sasl_mechanisms, binary()} |
{sasl_kerberos_service_name, binary()} |
{sasl_kerberos_principal, binary()} |
{sasl_kerberos_kinit_cmd, binary()} |
{sasl_kerberos_keytab, binary()} |
{sasl_kerberos_min_time_before_relogin, integer()} |
{sasl_username, binary()} |
{sasl_password, binary()} |
{sasl_oauthbearer_config, binary()} |
{enable_sasl_oauthbearer_unsecure_jwt, boolean()} |
{plugin_library_paths, binary()} |
{group_instance_id, binary()} |
{partition_assignment_strategy, partition_assignment_strategy()} |
{session_timeout_ms, integer()} |
{heartbeat_interval_ms, integer()} |
{group_protocol_type, binary()} |
{coordinator_query_interval_ms, integer()} |
{max_poll_interval_ms, integer()} |
{auto_commit_interval_ms, integer()} |
{queued_min_messages, integer()} |
{queued_max_messages_kbytes, integer()} |
{fetch_wait_max_ms, integer()} |
{fetch_message_max_bytes, integer()} |
{fetch_max_bytes, integer()} |
{fetch_min_bytes, integer()} |
{fetch_error_backoff_ms, integer()} |
{isolation_level, binary()} |
{check_crcs, boolean()} |
{allow_auto_create_topics, boolean()} |
{client_rack, binary()} |
{transactional_id, binary()} |
{transaction_timeout_ms, non_neg_integer()} |
{enable_idempotence, boolean()} |
{enable_gapless_guarantee, boolean()} |
{queue_buffering_max_messages, integer()} |
{queue_buffering_max_kbytes, integer()} |
{queue_buffering_max_ms, integer()} |
{message_send_max_retries, integer()} |
{retry_backoff_ms, integer()} |
{queue_buffering_backpressure_threshold, non_neg_integer()} |
{queue_buffering_overflow_strategy, overflow_strategy()} |
{compression_codec, compression_codec()} |
{batch_num_messages, integer()} |
{batch_size, non_neg_integer()} |
{delivery_report_only_error, boolean()} |
{delivery_report_callback, any()} |
{sticky_partitioning_linger_ms, non_neg_integer()}.
% records
-record(erlkaf_msg, {
topic :: binary(),
partition ::non_neg_integer(),
offset ::integer(),
key :: key(),
value ::binary(),
headers :: headers()
}).