package types

import "p78git.ddns.net/svi/gobus/pkg/alias"

// IDictTopic -- потокобезопасный словарь топиков
type IDictTopic interface {
	// Add -- добавляет топик в словрь
	Add(alias.TopicName)
	// Get -- возвращает топик по имени
	Get(alias.TopicName) ITopic
	// Len -- возвращает количество топиков
	Len() int
	// Size -- возвращает размер всех топиков
	Size() int
	// Subscribe -- подписывает клиента на топики по шаблону
	Subscribe(IClientProxy)
	// Unsubscribe -- отписывает клиента от топиков
	Unsubscribe(IClientProxy)
}
