mirror of
https://github.com/strukturag/nextcloud-spreed-signaling
synced 2024-06-10 09:52:12 +02:00
Use publisher/subscriber objects as map keys.
This commit is contained in:
parent
18c1874333
commit
7681e26fbb
|
@ -48,11 +48,11 @@ type ProxySession struct {
|
||||||
|
|
||||||
publishersLock sync.Mutex
|
publishersLock sync.Mutex
|
||||||
publishers map[string]signaling.McuPublisher
|
publishers map[string]signaling.McuPublisher
|
||||||
publisherIds map[string]string
|
publisherIds map[signaling.McuPublisher]string
|
||||||
|
|
||||||
subscribersLock sync.Mutex
|
subscribersLock sync.Mutex
|
||||||
subscribers map[string]signaling.McuSubscriber
|
subscribers map[string]signaling.McuSubscriber
|
||||||
subscriberIds map[string]string
|
subscriberIds map[signaling.McuSubscriber]string
|
||||||
}
|
}
|
||||||
|
|
||||||
func NewProxySession(proxy *ProxyServer, sid uint64, id string) *ProxySession {
|
func NewProxySession(proxy *ProxyServer, sid uint64, id string) *ProxySession {
|
||||||
|
@ -63,10 +63,10 @@ func NewProxySession(proxy *ProxyServer, sid uint64, id string) *ProxySession {
|
||||||
lastUsed: time.Now().UnixNano(),
|
lastUsed: time.Now().UnixNano(),
|
||||||
|
|
||||||
publishers: make(map[string]signaling.McuPublisher),
|
publishers: make(map[string]signaling.McuPublisher),
|
||||||
publisherIds: make(map[string]string),
|
publisherIds: make(map[signaling.McuPublisher]string),
|
||||||
|
|
||||||
subscribers: make(map[string]signaling.McuSubscriber),
|
subscribers: make(map[string]signaling.McuSubscriber),
|
||||||
subscriberIds: make(map[string]string),
|
subscriberIds: make(map[signaling.McuSubscriber]string),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -200,20 +200,20 @@ func (s *ProxySession) StorePublisher(ctx context.Context, id string, publisher
|
||||||
defer s.publishersLock.Unlock()
|
defer s.publishersLock.Unlock()
|
||||||
|
|
||||||
s.publishers[id] = publisher
|
s.publishers[id] = publisher
|
||||||
s.publisherIds[publisher.Id()] = id
|
s.publisherIds[publisher] = id
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s *ProxySession) DeletePublisher(publisher signaling.McuPublisher) string {
|
func (s *ProxySession) DeletePublisher(publisher signaling.McuPublisher) string {
|
||||||
s.publishersLock.Lock()
|
s.publishersLock.Lock()
|
||||||
defer s.publishersLock.Unlock()
|
defer s.publishersLock.Unlock()
|
||||||
|
|
||||||
id, found := s.publisherIds[publisher.Id()]
|
id, found := s.publisherIds[publisher]
|
||||||
if !found {
|
if !found {
|
||||||
return ""
|
return ""
|
||||||
}
|
}
|
||||||
|
|
||||||
delete(s.publishers, id)
|
delete(s.publishers, id)
|
||||||
delete(s.publisherIds, publisher.Id())
|
delete(s.publisherIds, publisher)
|
||||||
return id
|
return id
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -222,20 +222,20 @@ func (s *ProxySession) StoreSubscriber(ctx context.Context, id string, subscribe
|
||||||
defer s.subscribersLock.Unlock()
|
defer s.subscribersLock.Unlock()
|
||||||
|
|
||||||
s.subscribers[id] = subscriber
|
s.subscribers[id] = subscriber
|
||||||
s.subscriberIds[subscriber.Id()] = id
|
s.subscriberIds[subscriber] = id
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s *ProxySession) DeleteSubscriber(subscriber signaling.McuSubscriber) string {
|
func (s *ProxySession) DeleteSubscriber(subscriber signaling.McuSubscriber) string {
|
||||||
s.subscribersLock.Lock()
|
s.subscribersLock.Lock()
|
||||||
defer s.subscribersLock.Unlock()
|
defer s.subscribersLock.Unlock()
|
||||||
|
|
||||||
id, found := s.subscriberIds[subscriber.Id()]
|
id, found := s.subscriberIds[subscriber]
|
||||||
if !found {
|
if !found {
|
||||||
return ""
|
return ""
|
||||||
}
|
}
|
||||||
|
|
||||||
delete(s.subscribers, id)
|
delete(s.subscribers, id)
|
||||||
delete(s.subscriberIds, subscriber.Id())
|
delete(s.subscriberIds, subscriber)
|
||||||
return id
|
return id
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -249,7 +249,7 @@ func (s *ProxySession) clearPublishers() {
|
||||||
}
|
}
|
||||||
}(s.publishers)
|
}(s.publishers)
|
||||||
s.publishers = make(map[string]signaling.McuPublisher)
|
s.publishers = make(map[string]signaling.McuPublisher)
|
||||||
s.publisherIds = make(map[string]string)
|
s.publisherIds = make(map[signaling.McuPublisher]string)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s *ProxySession) clearSubscribers() {
|
func (s *ProxySession) clearSubscribers() {
|
||||||
|
@ -262,7 +262,7 @@ func (s *ProxySession) clearSubscribers() {
|
||||||
}
|
}
|
||||||
}(s.subscribers)
|
}(s.subscribers)
|
||||||
s.subscribers = make(map[string]signaling.McuSubscriber)
|
s.subscribers = make(map[string]signaling.McuSubscriber)
|
||||||
s.subscriberIds = make(map[string]string)
|
s.subscriberIds = make(map[signaling.McuSubscriber]string)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s *ProxySession) NotifyDisconnected() {
|
func (s *ProxySession) NotifyDisconnected() {
|
||||||
|
|
Loading…
Reference in a new issue