NAME
Kafka::Internals - Constants and functions used internally.
VERSION
This documentation refers to Kafka::Internals
version 1.08 .
SYNOPSIS
use 5.010;
use strict;
use warnings;
use Kafka::Internals qw(
$MAX_SOCKET_REQUEST_BYTES
);
my $bin_stream_size = $MAX_SOCKET_REQUEST_BYTES;
DESCRIPTION
This module is private and should not be used directly.
In order to achieve better performance, functions of this module do not perform arguments validation.
EXPORT
The following constants are available for export
$APIKEY_PRODUCE
The numeric code that the ApiKey
in the request take for the ProduceRequest
request type.
$APIKEY_FETCH
The numeric code that the ApiKey
in the request take for the FetchRequest
request type.
$APIKEY_OFFSET
The numeric code that the ApiKey
in the request take for the OffsetRequest
request type.
$APIKEY_METADATA
The numeric code that the ApiKey
in the request take for the MetadataRequest
request type.
$APIKEY_OFFSETCOMMIT
The numeric code that the ApiKey in the request take for the OffsetCommitRequest
request type.
$APIKEY_OFFSETFETCH
The numeric code that the ApiKey in the request take for the OffsetFetchRequest
request type.
$APIKEY_FINDCOORDINATOR
The numeric code that the ApiKey
in the request take for the FindCoordinator
request type.
$APIKEY_SASLHANDSHAKE
The numeric code that the ApiKey
in the request take for the SaslHandshake
request type.
$APIKEY_APIVERSIONS
The numeric code that the ApiKey
in the request take for the ApiVersions
request type.
$MAX_SOCKET_REQUEST_BYTES
The maximum number of bytes in a socket request.
The maximum size of a request that the socket server will accept. Default limit (as configured in server.properties) is 104857600.
$PRODUCER_ANY_OFFSET
According to Apache Kafka documentation: 'When the producer is sending messages it doesn't actually know the offset and can fill in any value here it likes.'
$MAX_CORRELATIONID
Largest positive integer on 32-bit machines.
$MAX_INT32
Largest positive integer on 32-bit machines.
$MAX_INT16
Largest positive int16 value.
METHODS
The following methods are defined in the Kafka::Internals
:
debug_level( $flags )
Gets or sets debug level for a particular Kafka module, based on environment variable PERL_KAFKA_DEBUG
or flags.
$flags - (string) argument that can be used to pass coma delimited module names (omit Kafka::
).
Returns $DEBUG
level for the module from which debug_level
was called.
format_reference
say format_reference( $object );
Dumps reference using preconfigured Data::Dumper. Produces less verbose output than default Data::Dumper settings.
format_message
$string = format_message( 'Object %d loaded. Status: %s', $id, $message );
Returns string formatted using printf-style syntax.
If there are more than one argument and the first argument contains %...
conversions, arguments are converted to a string message using sprintf()
. In this case, undefined values are printed as <undef>
and references are converted to strings using "format_reference".
SEE ALSO
The basic operation of the Kafka package modules:
Kafka - constants and messages used by the Kafka package modules.
Kafka::Connection - interface to connect to a Kafka cluster.
Kafka::Producer - interface for producing client.
Kafka::Consumer - interface for consuming client.
Kafka::Message - interface to access Kafka message properties.
Kafka::Int64 - functions to work with 64 bit elements of the protocol on 32 bit systems.
Kafka::Protocol - functions to process messages in the Apache Kafka's Protocol.
Kafka::IO - low-level interface for communication with Kafka server.
Kafka::Exceptions - module designated to handle Kafka exceptions.
Kafka::Internals - internal constants and functions used by several package modules.
A wealth of detail about the Apache Kafka and the Kafka Protocol:
Main page at http://kafka.apache.org/
Kafka Protocol at https://cwiki.apache.org/confluence/display/KAFKA/A+Guide+To+The+Kafka+Protocol
SOURCE CODE
Kafka package is hosted on GitHub: https://github.com/TrackingSoft/Kafka
AUTHOR
Sergey Gladkov
Please use GitHub project link above to report problems or contact authors.
CONTRIBUTORS
Alexander Solovey
Jeremy Jordan
Sergiy Zuban
Vlad Marchenko
COPYRIGHT AND LICENSE
Copyright (C) 2012-2017 by TrackingSoft LLC.
This package is free software; you can redistribute it and/or modify it under the same terms as Perl itself. See perlartistic at http://dev.perl.org/licenses/artistic.html.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.