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.
This commit is contained in:
kegsay 2023-05-02 15:03:16 +01:00 committed by GitHub
parent 696cbb70b8
commit f5b3144dc3
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
64 changed files with 296 additions and 284 deletions

View file

@ -77,7 +77,7 @@ func BuildEvent(
return nil, err
}
return &types.HeaderedEvent{Event: event}, nil
return &types.HeaderedEvent{PDU: event}, nil
}
// queryRequiredEventsForBuilder queries the roomserver for auth/prev events needed for this builder.
@ -124,7 +124,7 @@ func addPrevEventsToEvent(
authEvents := gomatrixserverlib.NewAuthEvents(nil)
for i := range queryRes.StateEvents {
err = authEvents.AddEvent(queryRes.StateEvents[i].Event)
err = authEvents.AddEvent(queryRes.StateEvents[i].PDU)
if err != nil {
return fmt.Errorf("authEvents.AddEvent: %w", err)
}
@ -175,7 +175,7 @@ func truncateAuthAndPrevEvents(auth, prev []gomatrixserverlib.EventReference) (
// RedactEvent redacts the given event and sets the unsigned field appropriately. This should be used by
// downstream components to the roomserver when an OutputTypeRedactedEvent occurs.
func RedactEvent(redactionEvent, redactedEvent *gomatrixserverlib.Event) error {
func RedactEvent(redactionEvent, redactedEvent gomatrixserverlib.PDU) error {
// sanity check
if redactionEvent.Type() != spec.MRoomRedaction {
return fmt.Errorf("RedactEvent: redactionEvent isn't a redaction event, is '%s'", redactionEvent.Type())

View file

@ -184,7 +184,7 @@ func (t *TxnReq) ProcessTransaction(ctx context.Context) (*fclient.RespSend, *ut
t.rsAPI,
api.KindNew,
[]*rstypes.HeaderedEvent{
{Event: event},
{PDU: event},
},
t.Destination,
t.Origin,

View file

@ -636,7 +636,7 @@ func init() {
if err != nil {
panic("cannot load test data: " + err.Error())
}
h := &rstypes.HeaderedEvent{Event: e}
h := &rstypes.HeaderedEvent{PDU: e}
testEvents = append(testEvents, h)
if e.StateKey() != nil {
testStateEvents[gomatrixserverlib.StateKeyTuple{