Use gomatrixserverlib.Transaction instead of local type
MODIFY
federationapi/routing/backfill.go
federationapi/routing/backfill.go
@@ -17,11 +17,11 @@ package routing
import (
"net/http"
"strconv"
+ "time"
"github.com/matrix-org/dendrite/clientapi/httputil"
"github.com/matrix-org/dendrite/clientapi/jsonerror"
"github.com/matrix-org/dendrite/common/config"
- "github.com/matrix-org/dendrite/federationapi/types"
"github.com/matrix-org/dendrite/roomserver/api"
"github.com/matrix-org/gomatrixserverlib"
"github.com/matrix-org/util"
@@ -90,9 +90,11 @@ func Backfill(
}
}
- txn := types.NewTransaction()
- txn.Origin = cfg.Matrix.ServerName
- txn.PDUs = evs
+ txn := gomatrixserverlib.Transaction{
+ Origin: cfg.Matrix.ServerName,
+ PDUs: evs,
+ OriginServerTS: gomatrixserverlib.AsTimestamp(time.Now()),
+ }
// Send the events to the client.
return util.JSONResponse{

DELETE
federationapi/types/types.go
-// Copyright 2018 New Vector Ltd
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-package types
-
-import (
- "time"
-
- "github.com/matrix-org/gomatrixserverlib"
-)
-
-// Transaction is the representation of a transaction from the federation API
-// See https://matrix.org/docs/spec/server_server/unstable.html for more info.
-type Transaction struct {
- // The server_name of the homeserver sending this transaction.
- Origin gomatrixserverlib.ServerName `json:"origin"`
- // POSIX timestamp in milliseconds on originating homeserver when this
- // transaction started.
- OriginServerTS int64 `json:"origin_server_ts"`
- // List of persistent updates to rooms.
- PDUs []gomatrixserverlib.Event `json:"pdus"`
-}
-
-// NewTransaction sets the timestamp of a new transaction instance and then
-// returns the said instance.
-func NewTransaction() Transaction {
- // Retrieve the current timestamp in nanoseconds and make it a milliseconds
- // one.
- ts := time.Now().UnixNano() / int64(time.Millisecond)
-
- return Transaction{OriginServerTS: ts}
-}

Use gomatrixserverlib.Transaction instead of local type (#590) (#811)