aboutsummaryrefslogtreecommitdiff
path: root/roomserver/api
diff options
context:
space:
mode:
authorNeil Alexander <neilalexander@users.noreply.github.com>2020-11-16 15:44:53 +0000
committerGitHub <noreply@github.com>2020-11-16 15:44:53 +0000
commit20a01bceb2869c810932eac217d96dc221953685 (patch)
tree639cd8656282ae231a46531f063d7d010320a582 /roomserver/api
parentd8b526b603683879c012972707cdce44fff3c802 (diff)
Pass pointers to events — reloaded (#1583)
* Pass events as pointers * Fix lint errors * Update gomatrixserverlib * Update gomatrixserverlib * Update to matrix-org/gomatrixserverlib#240
Diffstat (limited to 'roomserver/api')
-rw-r--r--roomserver/api/input.go2
-rw-r--r--roomserver/api/output.go12
-rw-r--r--roomserver/api/perform.go4
-rw-r--r--roomserver/api/query.go12
-rw-r--r--roomserver/api/wrapper.go8
5 files changed, 19 insertions, 19 deletions
diff --git a/roomserver/api/input.go b/roomserver/api/input.go
index e1a8afa0..8e6e4ac7 100644
--- a/roomserver/api/input.go
+++ b/roomserver/api/input.go
@@ -53,7 +53,7 @@ type InputRoomEvent struct {
// This controls how the event is processed.
Kind Kind `json:"kind"`
// The event JSON for the event to add.
- Event gomatrixserverlib.HeaderedEvent `json:"event"`
+ Event *gomatrixserverlib.HeaderedEvent `json:"event"`
// List of state event IDs that authenticate this event.
// These are likely derived from the "auth_events" JSON key of the event.
// But can be different because the "auth_events" key can be incomplete or wrong.
diff --git a/roomserver/api/output.go b/roomserver/api/output.go
index 9cb814a4..fb512a93 100644
--- a/roomserver/api/output.go
+++ b/roomserver/api/output.go
@@ -94,7 +94,7 @@ const (
// prev_events.
type OutputNewRoomEvent struct {
// The Event.
- Event gomatrixserverlib.HeaderedEvent `json:"event"`
+ Event *gomatrixserverlib.HeaderedEvent `json:"event"`
// Does the event completely rewrite the room state? If so, then AddsStateEventIDs
// will contain the entire room state.
RewritesState bool `json:"rewrites_state"`
@@ -111,7 +111,7 @@ type OutputNewRoomEvent struct {
// may decide a bunch of state events on one branch are now valid, so they will be
// present in this list. This is useful when trying to maintain the current state of a room
// as to do so you need to include both these events and `Event`.
- AddStateEvents []gomatrixserverlib.HeaderedEvent `json:"adds_state_events"`
+ AddStateEvents []*gomatrixserverlib.HeaderedEvent `json:"adds_state_events"`
// The state event IDs that were removed from the state of the room by this event.
RemovesStateEventIDs []string `json:"removes_state_event_ids"`
@@ -168,7 +168,7 @@ type OutputNewRoomEvent struct {
// the original event to save space, so you cannot use that slice alone.
// Instead, use this function which will add the original event if it is present
// in `AddsStateEventIDs`.
-func (ore *OutputNewRoomEvent) AddsState() []gomatrixserverlib.HeaderedEvent {
+func (ore *OutputNewRoomEvent) AddsState() []*gomatrixserverlib.HeaderedEvent {
includeOutputEvent := false
for _, id := range ore.AddsStateEventIDs {
if id == ore.Event.EventID() {
@@ -193,7 +193,7 @@ func (ore *OutputNewRoomEvent) AddsState() []gomatrixserverlib.HeaderedEvent {
// should build their current room state up from OutputNewRoomEvents only.
type OutputOldRoomEvent struct {
// The Event.
- Event gomatrixserverlib.HeaderedEvent `json:"event"`
+ Event *gomatrixserverlib.HeaderedEvent `json:"event"`
}
// An OutputNewInviteEvent is written whenever an invite becomes active.
@@ -203,7 +203,7 @@ type OutputNewInviteEvent struct {
// The room version of the invited room.
RoomVersion gomatrixserverlib.RoomVersion `json:"room_version"`
// The "m.room.member" invite event.
- Event gomatrixserverlib.HeaderedEvent `json:"event"`
+ Event *gomatrixserverlib.HeaderedEvent `json:"event"`
}
// An OutputRetireInviteEvent is written whenever an existing invite is no longer
@@ -230,7 +230,7 @@ type OutputRedactedEvent struct {
// The event ID that was redacted
RedactedEventID string
// The value of `unsigned.redacted_because` - the redaction event itself
- RedactedBecause gomatrixserverlib.HeaderedEvent
+ RedactedBecause *gomatrixserverlib.HeaderedEvent
}
// An OutputNewPeek is written whenever a user starts peeking into a room
diff --git a/roomserver/api/perform.go b/roomserver/api/perform.go
index eda53c3e..29dbd25c 100644
--- a/roomserver/api/perform.go
+++ b/roomserver/api/perform.go
@@ -98,7 +98,7 @@ type PerformLeaveResponse struct {
type PerformInviteRequest struct {
RoomVersion gomatrixserverlib.RoomVersion `json:"room_version"`
- Event gomatrixserverlib.HeaderedEvent `json:"event"`
+ Event *gomatrixserverlib.HeaderedEvent `json:"event"`
InviteRoomState []gomatrixserverlib.InviteV2StrippedState `json:"invite_room_state"`
SendAsServer string `json:"send_as_server"`
TransactionID *TransactionID `json:"transaction_id"`
@@ -147,7 +147,7 @@ func (r *PerformBackfillRequest) PrevEventIDs() []string {
// PerformBackfillResponse is a response to PerformBackfill.
type PerformBackfillResponse struct {
// Missing events, arbritrary order.
- Events []gomatrixserverlib.HeaderedEvent `json:"events"`
+ Events []*gomatrixserverlib.HeaderedEvent `json:"events"`
}
type PerformPublishRequest struct {
diff --git a/roomserver/api/query.go b/roomserver/api/query.go
index bdfbf6fb..55922b7f 100644
--- a/roomserver/api/query.go
+++ b/roomserver/api/query.go
@@ -50,7 +50,7 @@ type QueryLatestEventsAndStateResponse struct {
// This list will be in an arbitrary order.
// These are used to set the auth_events when sending an event.
// These are used to check whether the event is allowed.
- StateEvents []gomatrixserverlib.HeaderedEvent `json:"state_events"`
+ StateEvents []*gomatrixserverlib.HeaderedEvent `json:"state_events"`
// The depth of the latest events.
// This is one greater than the maximum depth of the latest events.
// This is used to set the depth when sending an event.
@@ -80,7 +80,7 @@ type QueryStateAfterEventsResponse struct {
PrevEventsExist bool `json:"prev_events_exist"`
// The state events requested.
// This list will be in an arbitrary order.
- StateEvents []gomatrixserverlib.HeaderedEvent `json:"state_events"`
+ StateEvents []*gomatrixserverlib.HeaderedEvent `json:"state_events"`
}
type QueryMissingAuthPrevEventsRequest struct {
@@ -119,7 +119,7 @@ type QueryEventsByIDResponse struct {
// fails to read it from the database then it will fail
// the entire request.
// This list will be in an arbitrary order.
- Events []gomatrixserverlib.HeaderedEvent `json:"events"`
+ Events []*gomatrixserverlib.HeaderedEvent `json:"events"`
}
// QueryMembershipForUserRequest is a request to QueryMembership
@@ -213,7 +213,7 @@ type QueryMissingEventsRequest struct {
// QueryMissingEventsResponse is a response to QueryMissingEvents
type QueryMissingEventsResponse struct {
// Missing events, arbritrary order.
- Events []gomatrixserverlib.HeaderedEvent `json:"events"`
+ Events []*gomatrixserverlib.HeaderedEvent `json:"events"`
}
// QueryStateAndAuthChainRequest is a request to QueryStateAndAuthChain
@@ -242,8 +242,8 @@ type QueryStateAndAuthChainResponse struct {
PrevEventsExist bool `json:"prev_events_exist"`
// The state and auth chain events that were requested.
// The lists will be in an arbitrary order.
- StateEvents []gomatrixserverlib.HeaderedEvent `json:"state_events"`
- AuthChainEvents []gomatrixserverlib.HeaderedEvent `json:"auth_chain_events"`
+ StateEvents []*gomatrixserverlib.HeaderedEvent `json:"state_events"`
+ AuthChainEvents []*gomatrixserverlib.HeaderedEvent `json:"auth_chain_events"`
}
// QueryRoomVersionCapabilitiesRequest asks for the default room version
diff --git a/roomserver/api/wrapper.go b/roomserver/api/wrapper.go
index 9e821910..7779dbde 100644
--- a/roomserver/api/wrapper.go
+++ b/roomserver/api/wrapper.go
@@ -25,7 +25,7 @@ import (
// SendEvents to the roomserver The events are written with KindNew.
func SendEvents(
ctx context.Context, rsAPI RoomserverInternalAPI,
- kind Kind, events []gomatrixserverlib.HeaderedEvent,
+ kind Kind, events []*gomatrixserverlib.HeaderedEvent,
sendAsServer gomatrixserverlib.ServerName, txnID *TransactionID,
) error {
ires := make([]InputRoomEvent, len(events))
@@ -46,7 +46,7 @@ func SendEvents(
// marked as `true` in haveEventIDs
func SendEventWithState(
ctx context.Context, rsAPI RoomserverInternalAPI, kind Kind,
- state *gomatrixserverlib.RespState, event gomatrixserverlib.HeaderedEvent,
+ state *gomatrixserverlib.RespState, event *gomatrixserverlib.HeaderedEvent,
haveEventIDs map[string]bool,
) error {
outliers, err := state.Events()
@@ -97,7 +97,7 @@ func SendInputRoomEvents(
// If we are in the room then the event should be sent using the SendEvents method.
func SendInvite(
ctx context.Context,
- rsAPI RoomserverInternalAPI, inviteEvent gomatrixserverlib.HeaderedEvent,
+ rsAPI RoomserverInternalAPI, inviteEvent *gomatrixserverlib.HeaderedEvent,
inviteRoomState []gomatrixserverlib.InviteV2StrippedState,
sendAsServer gomatrixserverlib.ServerName, txnID *TransactionID,
) error {
@@ -134,7 +134,7 @@ func GetEvent(ctx context.Context, rsAPI RoomserverInternalAPI, eventID string)
if len(res.Events) != 1 {
return nil
}
- return &res.Events[0]
+ return res.Events[0]
}
// GetStateEvent returns the current state event in the room or nil.