Documentation

TransportInterface extends ReceiverInterface, SenderInterface

Tags
author

Nicolas Grekas p@tchwork.com

Table of Contents

Methods

ack()  : void
Acknowledges that the passed message was handled.
get()  : array<string|int, Envelope>
Receives some messages.
reject()  : void
Called when handling the message failed and it should not be retried.
send()  : Envelope
Sends the given envelope.

Methods

get()

Receives some messages.

public get() : array<string|int, Envelope>

While this method could return an unlimited number of messages, the intention is that it returns only one, or a "small number" of messages each time. This gives the user more flexibility: they can finish processing the one (or "small number") of messages from this receiver and move on to check other receivers for messages. If this method returns too many messages, it could cause a blocking effect where handling the messages received from one call to get() takes a long time, blocking other receivers from being called.

If applicable, the Envelope should contain a TransportMessageIdStamp.

If a received message cannot be decoded, the message should not be retried again (e.g. if there's a queue, it should be removed) and a MessageDecodingFailedException should be thrown.

Tags
throws
TransportException

If there is an issue communicating with the transport

Return values
array<string|int, Envelope>

send()

Sends the given envelope.

public send(Envelope $envelope) : Envelope

The sender can read different stamps for transport configuration, like delivery delay.

If applicable, the returned Envelope should contain a TransportMessageIdStamp.

Parameters
$envelope : Envelope
Return values
Envelope

        
On this page

Search results