Summary
EndPoint intends to be the place which holds/stores Events for a while, Usually it's a Queue Implementation, for example: RabbitMQ EndPoint, Redis EndPoint, Kafka EndPoint. In our company, we use our own EventBus as a EndPoint.
Receiver is the reverse of EndPoint, It pulls Events from corresponding EndPoint and send it back to Dispatcher again. So it really depends what EndPoint is, there are also corresponding Receivers like: RabbitMQ Receover, Redis Receover, Kafka Receover, EventBus Receiver, ...
EndPoint and Receiver is simple:
Any class implements TNC\EventDispatcher\Interfaces\EndPoint interface could be a EndPoint,
Any class implements TNC\EventDispatcher\Interfaces\Receiver could be a Receiver.
Implementations
EventBus
- EndPoint
class | TNC\EventDispatcher\EndPoints\EventBusEndPoint |
---|---|
dependencies | EventBus |
arguments |
- Receiver
class | TNC\EventDispatcher\Receivers\EventBusReceiver |
---|---|
dependencies | EventBus |
arguments |
Redis
- EndPoint
class | TNC\EventDispatcher\EndPoints\Redis\PHPRedisEndPoint |
---|---|
dependencies |
Redis PHPRedis |
arguments |
- Receiver
Not implemented yet
RabbitMQ
- EndPoint
Not implemented yet
- Receiver
Not implemented yet
Kafka
- EndPoint
Not implemented yet
- Receiver
Not implemented yet