2020-05-01 11:48:17 +02:00
|
|
|
package internal
|
|
|
|
|
|
|
|
import (
|
|
|
|
"sync"
|
|
|
|
|
|
|
|
"github.com/Shopify/sarama"
|
|
|
|
fsAPI "github.com/matrix-org/dendrite/federationsender/api"
|
2020-05-21 15:40:13 +02:00
|
|
|
"github.com/matrix-org/dendrite/internal/caching"
|
|
|
|
"github.com/matrix-org/dendrite/internal/config"
|
2020-05-01 11:48:17 +02:00
|
|
|
"github.com/matrix-org/dendrite/roomserver/storage"
|
|
|
|
"github.com/matrix-org/gomatrixserverlib"
|
|
|
|
)
|
|
|
|
|
|
|
|
// RoomserverInternalAPI is an implementation of api.RoomserverInternalAPI
|
|
|
|
type RoomserverInternalAPI struct {
|
|
|
|
DB storage.Database
|
2020-08-10 15:18:04 +02:00
|
|
|
Cfg *config.RoomServer
|
2020-05-01 11:48:17 +02:00
|
|
|
Producer sarama.SyncProducer
|
2020-08-25 13:32:29 +02:00
|
|
|
Cache caching.RoomServerCaches
|
2020-05-01 11:48:17 +02:00
|
|
|
ServerName gomatrixserverlib.ServerName
|
|
|
|
KeyRing gomatrixserverlib.JSONVerifier
|
|
|
|
FedClient *gomatrixserverlib.FederationClient
|
2020-08-20 17:24:33 +02:00
|
|
|
OutputRoomEventTopic string // Kafka topic for new output room events
|
|
|
|
mutexes sync.Map // room ID -> *sync.Mutex, protects calls to processRoomEvent
|
2020-05-01 11:48:17 +02:00
|
|
|
fsAPI fsAPI.FederationSenderInternalAPI
|
|
|
|
}
|