View Source API Reference lib_oss v0.1.0
Modules
RocketMQ Broker Client
his module provides an implementation of the ExRocketmq.Compressor
behaviour using the zlib library.
This module provides compression and decompression functionality for messages sent to and received from RocketMQ.
RocketMQ consumer
The balance strategy behaviour of consumer
This module implements the balance strategy for RocketMQ consumers.
BuffManager is responsible for managing buffers for RocketMQ consumers.
The processor is called when messages are received from the broker.
General exception with an optional string, map, or Keyword list stored in exception details
The broker cluster info model of rocketmq %{ "brokerAddrTable" => %{
The broker data model of rocketmq
The check transaction state header model
consumer send message back model
The end transaction header model
get max offset model
heartbeat data send to broker
lock mq req
lock mq resp
The model of message sent by producer or consumed by consumer
extended message model
The mq info model of producer
consumer message selector
request/response header model for pull message
query consumer offset model
The queue data model of rocketmq %{ "brokerName" => "broker-0", "perm" => 6, "readQueueNums" => 2, "topicSynFlag" => 0, "writeQueueNums" => 2 }
search offset model
request/response header model for send message
subscription data model
The topic route info model of rocketmq
trace data model
trace item data model
update consumer offset model
The namesrvs layer of the rocketmq: how client communicates with the namesrvs. Most time, you should start nameserver under the supervision tree of your application.
Rocketmq offset store, manage offset for consumer
This module provides functions for concurrent message processing.
This module provides a GenServer implementation of a RocketMQ producer.
Provides a behaviour for selecting MessageQueues in the ExRocketmq Producer.
Implements random MessageQueue selection for the ExRocketmq Producer.
Implements hash-based MessageQueue selection for the ExRocketmq Producer.
Implements round-robin MessageQueue selection for the ExRocketmq Producer.
The implementation of transactional messages in RocketMQ is based on a three-step process
Consume return type
sysflag constants
RocketMQ properties
The pull status constants
The request code constants
The response code constants
The send status constants
Similar to the normal puller, but it will first try to acquire a lock on the queue
This module contains the implementation of the normal puller for RocketMQ. It handles pulling messages from the broker and processing them.
The remote layer of the rocketmq: how client communicates with the nameserver or broker. Remote support 3 functions
behavior of ext_fields
The communication package of RocketMQ is divided into four parts
encode/decode the packet to be sent or received
encode/decode the packet to be sent or received
The future-wait store of the remote, opaque => request pid This module is a wrapper of ets and genserver, ets is responsible for storing the request, and GenServer is responsible for cleaning up the expired request
{mq, :pull} => {locked, last_lock_timestamp, last_pull_timestamp} {mq, :consume} => last_consumed_timestamp
Trace data emiter
The transport layer of the rocketmq protocol, default implementation is ExRocketmq.Transport.TCP
Implement the transport layer of the rocketmq protocol via tcp
all kinds of typespecs
bit tool for bit operation
bool util
A simple buffer queue implementation using ETS tables.
generate client id
a module to define constants
Debug tools
Hashes terms using the FNV-1a 32-bit algorithm.
Hash util
network tools
a simple wrapper of fifo-queue with agent, so you don't have to keep queue in Genserver state, just a agent pid
random kits
Utility module for generating unique IDs for RocketMQ messages or requests.