Proxy¶
This producer is a compatible with the Proxy consumer plugin. Responses to messages sent to the given address are sent back to the original consumer of it is a compatible message source. As with consumer.proxy the returned messages are partitioned by common message length algorithms.
Parameters¶
Enable (default: true)
Switches this plugin on or off.
Address
This value stores the identifier to connect to. This can either be any ip address and port like “localhost:5880” or a file like “unix:///var/gollum.Proxy”. By default this parameter is set to “:5880”.
ConnectionBufferSizeKB (default: 1024, unit: mb)
This value sets the connection buffer size in KB. This also defines the size of the buffer used by the message parser. By default this parameter is set to “1024”.
TimeoutSec (default: 1, unit: sec)
This value defines the maximum time in seconds a client is allowed to take for a response. By default this parameter is set to “1”.
Partitioner
This value defines the algorithm used to read messages from the stream. The messages will be sent as a whole, no cropping or removal will take place. By default this parameter is set to “delimiter”.
delimiter
separates messages by looking for a delimiter string. The delimiter is included into the left hand message.ascii
reads an ASCII encoded number at a given offset until a given delimiter is found.binary
reads a binary number at a given offset and sizebinary_le
is an alias for “binary”binary_be
is the same as “binary” but uses big endian encodingfixed
assumes fixed size messages
Delimiter
This value defines the delimiter used by the text and delimiter partitioner. By default this parameter is set to “n”.
Offset
This value defines the offset used by the binary and text partitioner. This setting is ignored by the fixed partitioner. By default this parameter is set to “0”.
Size
This value defines the size in bytes used by the binary or fixed partitioner. For binary this can be set to 1,2,4 or 8, for fixed this defines the size of a message. BY default this parameter is set to “4” for binary or “1” for fixed partitioner.
Parameters (from core.BufferedProducer)¶
Channel
This value defines the capacity of the message buffer. By default this parameter is set to “8192”.
ChannelTimeoutMs (default: 0, unit: ms)
This value defines a timeout for each message before the message will discarded. To disable the timeout, set this parameter to 0. By default this parameter is set to “0”.
Parameters (from core.SimpleProducer)¶
Streams
Defines a list of streams the producer will receive from. This parameter is mandatory. Specifying “*” causes the producer to receive messages from all streams except internal internal ones (e.g. _GOLLUM_). By default this parameter is set to an empty list.
FallbackStream
Defines a stream to route messages to if delivery fails. The message is reset to its original state before being routed, i.e. all modifications done to the message after leaving the consumer are removed. Setting this paramater to “” will cause messages to be discared when delivery fails.
ShutdownTimeoutMs (default: 1000, unit: ms)
Defines the maximum time in milliseconds a producer is allowed to take to shut down. After this timeout the producer is always considered to have shut down. Decreasing this value may lead to lost messages during shutdown. Raising it may increase shutdown time.
Modulators
Defines a list of modulators to be applied to a message when it arrives at this producer. If a modulator changes the stream of a message the message is NOT routed to this stream anymore. By default this parameter is set to an empty list.
Examples¶
This example will send 64bit length encoded data on TCP port 5880.
proxyOut:
Type: producer.Proxy
Address: ":5880"
Partitioner: binary
Size: 8