From 6173a350a1139479a2ece862632469690bb9c652 Mon Sep 17 00:00:00 2001 From: Joachim Bauch Date: Tue, 12 Jul 2022 11:11:52 +0200 Subject: [PATCH] Add method to get virtual sessions of a client session. --- clientsession.go | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/clientsession.go b/clientsession.go index ee302a1..5fa381d 100644 --- a/clientsession.go +++ b/clientsession.go @@ -1316,3 +1316,14 @@ func (s *ClientSession) RemoveVirtualSession(session *VirtualSession) { delete(s.virtualSessions, session) s.mu.Unlock() } + +func (s *ClientSession) GetVirtualSessions() []*VirtualSession { + s.mu.Lock() + defer s.mu.Unlock() + + result := make([]*VirtualSession, 0, len(s.virtualSessions)) + for session := range s.virtualSessions { + result = append(result, session) + } + return result +}