структур У меня есть карта структур следующим образом:Реализация множества структур в пределах карты
type SocketID string
type Socket struct {
socket //...
id string
}
type Channel struct {
sync.Mutex
sockets map[SocketID]Socket
}
Я хочу, чтобы иметь возможность добавлять подканалы к нему, где каждому Socket
принадлежит одному подканалу. Я попытался изменить-структуру канала для этого:
type SubchannelID string
type Channel struct {
sync.Mutex
sockets map[SocketID]Socket
subchannels map[SubchannelID]map[SocketID]Socket
}
Но проблема у меня с этим вывернув Socket
из Channel
становится O (N^2) операции, и каждое гнездо дублируется между sockets
и subchannels
карты. Как бы я оптимизировал это, сохраняя выделенные каналы и подканалы от сокетов?