mirror of
https://github.com/strukturag/nextcloud-spreed-signaling
synced 2026-03-14 14:35:44 +01:00
Merge pull request #1133 from strukturag/unnecessary-pointer
No need to use list of pointers, use objects directly.
This commit is contained in:
commit
a13ca9c9dd
6 changed files with 34 additions and 52 deletions
|
|
@ -724,6 +724,9 @@ type MessageClientMessage struct {
|
|||
}
|
||||
|
||||
type MessageClientMessageData struct {
|
||||
json.Marshaler
|
||||
json.Unmarshaler
|
||||
|
||||
Type string `json:"type"`
|
||||
Sid string `json:"sid"`
|
||||
RoomType string `json:"roomType"`
|
||||
|
|
@ -1196,11 +1199,11 @@ type EventServerMessage struct {
|
|||
Type string `json:"type"`
|
||||
|
||||
// Used for target "room"
|
||||
Join []*EventServerMessageSessionEntry `json:"join,omitempty"`
|
||||
Leave []PublicSessionId `json:"leave,omitempty"`
|
||||
Change []*EventServerMessageSessionEntry `json:"change,omitempty"`
|
||||
SwitchTo *EventServerMessageSwitchTo `json:"switchto,omitempty"`
|
||||
Resumed *bool `json:"resumed,omitempty"`
|
||||
Join []EventServerMessageSessionEntry `json:"join,omitempty"`
|
||||
Leave []PublicSessionId `json:"leave,omitempty"`
|
||||
Change []EventServerMessageSessionEntry `json:"change,omitempty"`
|
||||
SwitchTo *EventServerMessageSwitchTo `json:"switchto,omitempty"`
|
||||
Resumed *bool `json:"resumed,omitempty"`
|
||||
|
||||
// Used for target "roomlist" / "participants"
|
||||
Invite *RoomEventServerMessage `json:"invite,omitempty"`
|
||||
|
|
@ -1229,8 +1232,8 @@ type EventServerMessageSessionEntry struct {
|
|||
Federated bool `json:"federated,omitempty"`
|
||||
}
|
||||
|
||||
func (e *EventServerMessageSessionEntry) Clone() *EventServerMessageSessionEntry {
|
||||
return &EventServerMessageSessionEntry{
|
||||
func (e EventServerMessageSessionEntry) Clone() EventServerMessageSessionEntry {
|
||||
return EventServerMessageSessionEntry{
|
||||
SessionId: e.SessionId,
|
||||
UserId: e.UserId,
|
||||
Features: e.Features,
|
||||
|
|
|
|||
|
|
@ -4425,27 +4425,19 @@ func easyjson29f189fbDecodeGithubComStrukturagNextcloudSpreedSignaling36(in *jle
|
|||
in.Delim('[')
|
||||
if out.Join == nil {
|
||||
if !in.IsDelim(']') {
|
||||
out.Join = make([]*EventServerMessageSessionEntry, 0, 8)
|
||||
out.Join = make([]EventServerMessageSessionEntry, 0, 0)
|
||||
} else {
|
||||
out.Join = []*EventServerMessageSessionEntry{}
|
||||
out.Join = []EventServerMessageSessionEntry{}
|
||||
}
|
||||
} else {
|
||||
out.Join = (out.Join)[:0]
|
||||
}
|
||||
for !in.IsDelim(']') {
|
||||
var v34 *EventServerMessageSessionEntry
|
||||
var v34 EventServerMessageSessionEntry
|
||||
if in.IsNull() {
|
||||
in.Skip()
|
||||
v34 = nil
|
||||
} else {
|
||||
if v34 == nil {
|
||||
v34 = new(EventServerMessageSessionEntry)
|
||||
}
|
||||
if in.IsNull() {
|
||||
in.Skip()
|
||||
} else {
|
||||
(*v34).UnmarshalEasyJSON(in)
|
||||
}
|
||||
(v34).UnmarshalEasyJSON(in)
|
||||
}
|
||||
out.Join = append(out.Join, v34)
|
||||
in.WantComma()
|
||||
|
|
@ -4487,27 +4479,19 @@ func easyjson29f189fbDecodeGithubComStrukturagNextcloudSpreedSignaling36(in *jle
|
|||
in.Delim('[')
|
||||
if out.Change == nil {
|
||||
if !in.IsDelim(']') {
|
||||
out.Change = make([]*EventServerMessageSessionEntry, 0, 8)
|
||||
out.Change = make([]EventServerMessageSessionEntry, 0, 0)
|
||||
} else {
|
||||
out.Change = []*EventServerMessageSessionEntry{}
|
||||
out.Change = []EventServerMessageSessionEntry{}
|
||||
}
|
||||
} else {
|
||||
out.Change = (out.Change)[:0]
|
||||
}
|
||||
for !in.IsDelim(']') {
|
||||
var v36 *EventServerMessageSessionEntry
|
||||
var v36 EventServerMessageSessionEntry
|
||||
if in.IsNull() {
|
||||
in.Skip()
|
||||
v36 = nil
|
||||
} else {
|
||||
if v36 == nil {
|
||||
v36 = new(EventServerMessageSessionEntry)
|
||||
}
|
||||
if in.IsNull() {
|
||||
in.Skip()
|
||||
} else {
|
||||
(*v36).UnmarshalEasyJSON(in)
|
||||
}
|
||||
(v36).UnmarshalEasyJSON(in)
|
||||
}
|
||||
out.Change = append(out.Change, v36)
|
||||
in.WantComma()
|
||||
|
|
@ -4645,11 +4629,7 @@ func easyjson29f189fbEncodeGithubComStrukturagNextcloudSpreedSignaling36(out *jw
|
|||
if v37 > 0 {
|
||||
out.RawByte(',')
|
||||
}
|
||||
if v38 == nil {
|
||||
out.RawString("null")
|
||||
} else {
|
||||
(*v38).MarshalEasyJSON(out)
|
||||
}
|
||||
(v38).MarshalEasyJSON(out)
|
||||
}
|
||||
out.RawByte(']')
|
||||
}
|
||||
|
|
@ -4677,11 +4657,7 @@ func easyjson29f189fbEncodeGithubComStrukturagNextcloudSpreedSignaling36(out *jw
|
|||
if v41 > 0 {
|
||||
out.RawByte(',')
|
||||
}
|
||||
if v42 == nil {
|
||||
out.RawString("null")
|
||||
} else {
|
||||
(*v42).MarshalEasyJSON(out)
|
||||
}
|
||||
(v42).MarshalEasyJSON(out)
|
||||
}
|
||||
out.RawByte(']')
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1178,8 +1178,8 @@ func (s *ClientSession) storePendingMessage(message *ServerMessage) {
|
|||
}
|
||||
}
|
||||
|
||||
func filterDisplayNames(events []*EventServerMessageSessionEntry) []*EventServerMessageSessionEntry {
|
||||
result := make([]*EventServerMessageSessionEntry, 0, len(events))
|
||||
func filterDisplayNames(events []EventServerMessageSessionEntry) []EventServerMessageSessionEntry {
|
||||
result := make([]EventServerMessageSessionEntry, 0, len(events))
|
||||
for _, event := range events {
|
||||
if len(event.User) == 0 {
|
||||
result = append(result, event)
|
||||
|
|
@ -1219,14 +1219,14 @@ func filterDisplayNames(events []*EventServerMessageSessionEntry) []*EventServer
|
|||
return result
|
||||
}
|
||||
|
||||
func (s *ClientSession) filterDuplicateJoin(entries []*EventServerMessageSessionEntry) []*EventServerMessageSessionEntry {
|
||||
func (s *ClientSession) filterDuplicateJoin(entries []EventServerMessageSessionEntry) []EventServerMessageSessionEntry {
|
||||
s.seenJoinedLock.Lock()
|
||||
defer s.seenJoinedLock.Unlock()
|
||||
|
||||
// Due to the asynchronous events, a session might received a "Joined" event
|
||||
// for the same (other) session twice, so filter these out on a per-session
|
||||
// level.
|
||||
result := make([]*EventServerMessageSessionEntry, 0, len(entries))
|
||||
result := make([]EventServerMessageSessionEntry, 0, len(entries))
|
||||
for _, e := range entries {
|
||||
if s.seenJoinedEvents[e.SessionId] {
|
||||
s.logger.Printf("Session %s got duplicate joined event for %s, ignoring", s.publicId, e.SessionId)
|
||||
|
|
|
|||
|
|
@ -803,9 +803,10 @@ func (c *FederationClient) processMessage(msg *ServerMessage) {
|
|||
switch msg.Event.Type {
|
||||
case "join":
|
||||
if remoteSessionId != "" {
|
||||
for _, j := range msg.Event.Join {
|
||||
for idx, j := range msg.Event.Join {
|
||||
if j.SessionId == remoteSessionId {
|
||||
j.SessionId = localSessionId
|
||||
msg.Event.Join[idx] = j
|
||||
break
|
||||
}
|
||||
}
|
||||
|
|
|
|||
6
room.go
6
room.go
|
|
@ -383,9 +383,9 @@ func (r *Room) notifySessionJoined(sessionId PublicSessionId) {
|
|||
session = nil
|
||||
}
|
||||
|
||||
events := make([]*EventServerMessageSessionEntry, 0, len(sessions))
|
||||
events := make([]EventServerMessageSessionEntry, 0, len(sessions))
|
||||
for _, s := range sessions {
|
||||
entry := &EventServerMessageSessionEntry{
|
||||
entry := EventServerMessageSessionEntry{
|
||||
SessionId: s.PublicId(),
|
||||
UserId: s.UserId(),
|
||||
User: s.UserData(),
|
||||
|
|
@ -561,7 +561,7 @@ func (r *Room) PublishSessionJoined(session Session, sessionData *RoomSessionDat
|
|||
Event: &EventServerMessage{
|
||||
Target: "room",
|
||||
Type: "join",
|
||||
Join: []*EventServerMessageSessionEntry{
|
||||
Join: []EventServerMessageSessionEntry{
|
||||
{
|
||||
SessionId: sessionId,
|
||||
UserId: userid,
|
||||
|
|
|
|||
|
|
@ -847,8 +847,8 @@ func (c *TestClient) checkMessageJoinedSession(message *ServerMessage, sessionId
|
|||
return !failed
|
||||
}
|
||||
|
||||
func (c *TestClient) RunUntilJoinedAndReturn(ctx context.Context, hello ...*HelloServerMessage) ([]*EventServerMessageSessionEntry, []*ServerMessage, bool) {
|
||||
received := make([]*EventServerMessageSessionEntry, len(hello))
|
||||
func (c *TestClient) RunUntilJoinedAndReturn(ctx context.Context, hello ...*HelloServerMessage) ([]EventServerMessageSessionEntry, []*ServerMessage, bool) {
|
||||
received := make([]EventServerMessageSessionEntry, len(hello))
|
||||
var ignored []*ServerMessage
|
||||
hellos := make(map[*HelloServerMessage]int, len(hello))
|
||||
for idx, h := range hello {
|
||||
|
|
@ -886,7 +886,9 @@ func (c *TestClient) RunUntilJoinedAndReturn(ctx context.Context, hello ...*Hell
|
|||
}
|
||||
}
|
||||
}
|
||||
c.assert.True(found, "expected one of the passed hello sessions, got %+v", message.Event.Join)
|
||||
if !c.assert.True(found, "expected one of the passed hello sessions, got %+v", message.Event.Join) {
|
||||
break
|
||||
}
|
||||
}
|
||||
}
|
||||
return received, ignored, true
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue