aboutsummaryrefslogtreecommitdiff
path: root/setup/mscs
diff options
context:
space:
mode:
authorkegsay <kegan@matrix.org>2023-05-02 15:03:16 +0100
committerGitHub <noreply@github.com>2023-05-02 15:03:16 +0100
commitf5b3144dc33ddcb2ab161323d422cab257d04b4c (patch)
tree07d3b03944d2529d96c29674a96c3e76a76ae3b9 /setup/mscs
parent696cbb70b8cc8d663f7bb7c7a5f25cd57ea6803e (diff)
Use PDU not *Event in HeaderedEvent (#3073)
Requires https://github.com/matrix-org/gomatrixserverlib/pull/376 This has numerous upsides: - Less type casting to `*Event` is required. - Making Dendrite work with `PDU` interfaces means we can swap out Event impls more easily. - Tests which represent weird event shapes are easier to write. Part of a series of refactors on GMSL.
Diffstat (limited to 'setup/mscs')
-rw-r--r--setup/mscs/msc2836/msc2836.go14
-rw-r--r--setup/mscs/msc2836/msc2836_test.go4
-rw-r--r--setup/mscs/msc2946/msc2946.go4
3 files changed, 11 insertions, 11 deletions
diff --git a/setup/mscs/msc2836/msc2836.go b/setup/mscs/msc2836/msc2836.go
index 877a4a60..21726c4c 100644
--- a/setup/mscs/msc2836/msc2836.go
+++ b/setup/mscs/msc2836/msc2836.go
@@ -89,8 +89,8 @@ type EventRelationshipResponse struct {
type MSC2836EventRelationshipsResponse struct {
fclient.MSC2836EventRelationshipsResponse
- ParsedEvents []*gomatrixserverlib.Event
- ParsedAuthChain []*gomatrixserverlib.Event
+ ParsedEvents []gomatrixserverlib.PDU
+ ParsedAuthChain []gomatrixserverlib.PDU
}
func toClientResponse(res *MSC2836EventRelationshipsResponse) *EventRelationshipResponse {
@@ -306,11 +306,11 @@ func (rc *reqCtx) process() (*MSC2836EventRelationshipsResponse, *util.JSONRespo
)
returnEvents = append(returnEvents, events...)
}
- res.ParsedEvents = make([]*gomatrixserverlib.Event, len(returnEvents))
+ res.ParsedEvents = make([]gomatrixserverlib.PDU, len(returnEvents))
for i, ev := range returnEvents {
// for each event, extract the children_count | hash and add it as unsigned data.
rc.addChildMetadata(ev)
- res.ParsedEvents[i] = ev.Event
+ res.ParsedEvents[i] = ev.PDU
}
res.Limited = remaining == 0 || walkLimited
return &res, nil
@@ -373,7 +373,7 @@ func (rc *reqCtx) fetchUnknownEvent(eventID, roomID string) *types.HeaderedEvent
rc.injectResponseToRoomserver(res)
for _, ev := range res.ParsedEvents {
if ev.EventID() == eventID {
- return &types.HeaderedEvent{Event: ev}
+ return &types.HeaderedEvent{PDU: ev}
}
}
}
@@ -603,7 +603,7 @@ func (rc *reqCtx) lookForEvent(eventID string) *types.HeaderedEvent {
rc.injectResponseToRoomserver(queryRes)
for _, ev := range queryRes.ParsedEvents {
if ev.EventID() == eventID && rc.req.RoomID == ev.RoomID() {
- return &types.HeaderedEvent{Event: ev}
+ return &types.HeaderedEvent{PDU: ev}
}
}
}
@@ -665,7 +665,7 @@ func (rc *reqCtx) injectResponseToRoomserver(res *MSC2836EventRelationshipsRespo
for _, outlier := range append(eventsInOrder, messageEvents...) {
ires = append(ires, roomserver.InputRoomEvent{
Kind: roomserver.KindOutlier,
- Event: &types.HeaderedEvent{Event: outlier.(*gomatrixserverlib.Event)},
+ Event: &types.HeaderedEvent{PDU: outlier},
})
}
// we've got the data by this point so use a background context
diff --git a/setup/mscs/msc2836/msc2836_test.go b/setup/mscs/msc2836/msc2836_test.go
index 78aff310..f235cfef 100644
--- a/setup/mscs/msc2836/msc2836_test.go
+++ b/setup/mscs/msc2836/msc2836_test.go
@@ -397,7 +397,7 @@ func newReq(t *testing.T, jsonBody map[string]interface{}) *msc2836.EventRelatio
func runServer(t *testing.T, router *mux.Router) func() {
t.Helper()
externalServ := &http.Server{
- Addr: string(":8009"),
+ Addr: string("127.0.0.1:8009"),
WriteTimeout: 60 * time.Second,
Handler: router,
}
@@ -602,6 +602,6 @@ func mustCreateEvent(t *testing.T, ev fledglingEvent) (result *types.HeaderedEve
if err != nil {
t.Fatalf("mustCreateEvent: failed to sign event: %s", err)
}
- h := &types.HeaderedEvent{Event: signedEvent}
+ h := &types.HeaderedEvent{PDU: signedEvent}
return h
}
diff --git a/setup/mscs/msc2946/msc2946.go b/setup/mscs/msc2946/msc2946.go
index 1795858b..b7540094 100644
--- a/setup/mscs/msc2946/msc2946.go
+++ b/setup/mscs/msc2946/msc2946.go
@@ -693,7 +693,7 @@ func (w *walker) childReferences(roomID string) ([]fclient.MSC2946StrippedEvent,
// else we'll incorrectly walk redacted events (as the link
// is in the state_key)
if content.Get("via").Exists() {
- strip := stripped(ev.Event)
+ strip := stripped(ev.PDU)
if strip == nil {
continue
}
@@ -723,7 +723,7 @@ func (s set) isSet(val string) bool {
return ok
}
-func stripped(ev *gomatrixserverlib.Event) *fclient.MSC2946StrippedEvent {
+func stripped(ev gomatrixserverlib.PDU) *fclient.MSC2946StrippedEvent {
if ev.StateKey() == nil {
return nil
}