MemorySpool extends AbstractTransport implements DelayedTransportInterface uses BlockSerializationTrait

Because TYPO3 doesn't offer a terminate signal or hook, and taking in account the risk that extensions do some redirects or even exit, we simply use the destructor of a singleton class which should be pretty much at the end of a request.

To have only one memory spool per request seems to be more appropriate anyway.

Internal

This class is handled internally in TransportFactory

Table of Contents

Interfaces

DelayedTransportInterface
Used to implement backwards-compatible spooling

Properties

$logger  : LoggerInterface|null
$queuedMessages  : array<string|int, SentMessage>
$retries  : int
Maximum number of retries when the real transport has failed.

Methods

__construct()  : mixed
Create a new MemorySpool
__destruct()  : mixed
Sends out the messages in the memory
__toString()  : string
__wakeup()  : mixed
Deny object deserialization.
flushQueue()  : int
Sends messages using the given transport instance
doSend()  : void
Stores a message in the queue.

Properties

$logger read-only

protected LoggerInterface|null $logger = null

$queuedMessages

protected array<string|int, SentMessage> $queuedMessages = []

$retries

Maximum number of retries when the real transport has failed.

protected int $retries = 3

Methods

__construct()

Create a new MemorySpool

public __construct([EventDispatcherInterface|null $dispatcher = null ][, LoggerInterface|null $logger = null ]) : mixed
Parameters
$dispatcher : EventDispatcherInterface|null = null
$logger : LoggerInterface|null = null

__destruct()

Sends out the messages in the memory

public __destruct() : mixed

__toString()

public __toString() : string
Return values
string

__wakeup()

Deny object deserialization.

public __wakeup() : mixed

flushQueue()

Sends messages using the given transport instance

public flushQueue(TransportInterface $transport) : int
Parameters
$transport : TransportInterface
Return values
int

the number of messages sent

doSend()

Stores a message in the queue.

protected doSend(SentMessage $message) : void
Parameters
$message : SentMessage
On this page

Search results