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
classTNC\EventDispatcher\EndPoints\EventBusEndPoint
dependencies EventBus
arguments
  • Receiver
classTNC\EventDispatcher\Receivers\EventBusReceiver
dependencies EventBus
arguments

Redis

  • EndPoint
classTNC\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