Skip to content

Latest commit

 

History

History

pubsub

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 

pubsub

В этой задаче нужно написать простую шину событий работающую по принципу pub/sub.

В файле pubsub.go заданы интерфейсы PubSub/Subscription с подробным описанием всех методов.

Требования к системе:

  • На один топик может подписываться (и отписываться) множество подписчиков.
  • FIFO для сообщений, вы не должны терять их порядок.
  • Один медленный подписчик не должен тормозить остальных.
  • Метод Close должен уважать переданный контекст, так если он отменен - выходим сразу, бегущие хендлеры оставляем бежать.
  • Если будут использоваться горутины - они не должны течь :)

Нужно написать реализацию и конструктор (см. my_pubsub.go):

func NewPubSub() PubSub