 Documentation
      ¶
      Documentation
      ¶
    
    
  
    
  
    Index ¶
- type Admin
- func (r *Admin) PerformAdminDeleteEventReport(ctx context.Context, reportID uint64) error
- func (r *Admin) PerformAdminDownloadState(ctx context.Context, roomID, userID string, serverName spec.ServerName) error
- func (r *Admin) PerformAdminEvacuateRoom(ctx context.Context, roomID string) (affected []string, err error)
- func (r *Admin) PerformAdminEvacuateUser(ctx context.Context, userID string) (affected []string, err error)
- func (r *Admin) PerformAdminPurgeRoom(ctx context.Context, roomID string) error
 
- type Backfiller
- type Creator
- type Forgetter
- type InboundPeeker
- type Inviter
- func (r *Inviter) IsKnownRoom(ctx context.Context, roomID spec.RoomID) (bool, error)
- func (r *Inviter) PerformInvite(ctx context.Context, req *api.PerformInviteRequest) error
- func (r *Inviter) ProcessInviteMembership(ctx context.Context, inviteEvent *types.HeaderedEvent) ([]api.OutputEvent, error)
- func (r *Inviter) StateQuerier() gomatrixserverlib.StateQuerier
 
- type Joiner
- type Leaver
- type Peeker
- type Publisher
- type QueryState
- type Unpeeker
- type Upgrader
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Admin ¶
type Admin struct {
	DB      storage.Database
	Cfg     *config.RoomServer
	Queryer *query.Queryer
	Inputer *input.Inputer
	Leaver  *Leaver
}
    func (*Admin) PerformAdminDeleteEventReport ¶
func (*Admin) PerformAdminDownloadState ¶
func (*Admin) PerformAdminEvacuateRoom ¶
func (r *Admin) PerformAdminEvacuateRoom( ctx context.Context, roomID string, ) (affected []string, err error)
PerformAdminEvacuateRoom will remove all local users from the given room.
type Backfiller ¶
type Backfiller struct {
	IsLocalServerName func(spec.ServerName) bool
	DB                storage.Database
	FSAPI             federationAPI.RoomserverFederationAPI
	KeyRing           gomatrixserverlib.JSONVerifier
	Querier           api.QuerySenderIDAPI
	// The servers which should be preferred above other servers when backfilling
	PreferServers []spec.ServerName
}
    func (*Backfiller) PerformBackfill ¶
func (r *Backfiller) PerformBackfill( ctx context.Context, request *api.PerformBackfillRequest, response *api.PerformBackfillResponse, ) error
PerformBackfill implements api.RoomServerQueryAPI
type Creator ¶
type Creator struct {
	DB    storage.Database
	Cfg   *config.RoomServer
	RSAPI api.RoomserverInternalAPI
}
    func (*Creator) PerformCreateRoom ¶
func (c *Creator) PerformCreateRoom(ctx context.Context, userID spec.UserID, roomID spec.RoomID, createRequest *api.PerformCreateRoomRequest) (string, *util.JSONResponse)
PerformCreateRoom handles all the steps necessary to create a new room. nolint: gocyclo
type Forgetter ¶
func (*Forgetter) PerformForget ¶
func (f *Forgetter) PerformForget( ctx context.Context, request *api.PerformForgetRequest, response *api.PerformForgetResponse, ) error
PerformForget implements api.RoomServerQueryAPI
type InboundPeeker ¶
type InboundPeeker struct {
	DB      storage.RoomDatabase
	Inputer *input.Inputer
}
    func (*InboundPeeker) PerformInboundPeek ¶
func (r *InboundPeeker) PerformInboundPeek( ctx context.Context, request *api.PerformInboundPeekRequest, response *api.PerformInboundPeekResponse, ) error
PerformInboundPeek handles peeking into matrix rooms, including over federation by talking to the federationapi. called when a remote server initiates a /peek over federation.
It should atomically figure out the current state of the room (for the response to /peek) while adding the new inbound peek to the kafka stream so the fed sender can start sending peeked events without a race between the state snapshot and the stream of peeked events.
type Inviter ¶
type Inviter struct {
	DB      storage.Database
	Cfg     *config.RoomServer
	FSAPI   federationAPI.RoomserverFederationAPI
	RSAPI   api.RoomserverInternalAPI
	Inputer *input.Inputer
}
    func (*Inviter) IsKnownRoom ¶
func (*Inviter) PerformInvite ¶
nolint:gocyclo
func (*Inviter) ProcessInviteMembership ¶
func (r *Inviter) ProcessInviteMembership( ctx context.Context, inviteEvent *types.HeaderedEvent, ) ([]api.OutputEvent, error)
func (*Inviter) StateQuerier ¶
func (r *Inviter) StateQuerier() gomatrixserverlib.StateQuerier
type Joiner ¶
type Joiner struct {
	Cfg   *config.RoomServer
	FSAPI fsAPI.RoomserverFederationAPI
	RSAPI rsAPI.RoomserverInternalAPI
	DB    storage.Database
	Inputer *input.Inputer
	Queryer *query.Queryer
}
    func (*Joiner) PerformJoin ¶
func (r *Joiner) PerformJoin( ctx context.Context, req *rsAPI.PerformJoinRequest, ) (roomID string, joinedVia spec.ServerName, err error)
PerformJoin handles joining matrix rooms, including over federation by talking to the federationapi.
type Leaver ¶
type Leaver struct {
	Cfg     *config.RoomServer
	DB      storage.Database
	FSAPI   fsAPI.RoomserverFederationAPI
	RSAPI   rsAPI.RoomserverInternalAPI
	UserAPI userapi.RoomserverUserAPI
	Inputer *input.Inputer
}
    func (*Leaver) PerformLeave ¶
func (r *Leaver) PerformLeave( ctx context.Context, req *api.PerformLeaveRequest, res *api.PerformLeaveResponse, ) ([]api.OutputEvent, error)
WriteOutputEvents implements OutputRoomEventWriter
type Peeker ¶
type Peeker struct {
	ServerName spec.ServerName
	Cfg        *config.RoomServer
	FSAPI      fsAPI.RoomserverFederationAPI
	DB         storage.Database
	Inputer *input.Inputer
}
    func (*Peeker) PerformPeek ¶
func (r *Peeker) PerformPeek( ctx context.Context, req *api.PerformPeekRequest, ) (roomID string, err error)
PerformPeek handles peeking into matrix rooms, including over federation by talking to the federationapi.
type Publisher ¶
func (*Publisher) PerformPublish ¶
PerformPublish publishes or unpublishes a room from the room directory. Returns a database error, if any.
type QueryState ¶
func (*QueryState) GetAuthEvents ¶
func (q *QueryState) GetAuthEvents(ctx context.Context, event gomatrixserverlib.PDU) (gomatrixserverlib.AuthEventProvider, error)
func (*QueryState) GetState ¶
func (q *QueryState) GetState(ctx context.Context, roomID spec.RoomID, stateWanted []gomatrixserverlib.StateKeyTuple) ([]gomatrixserverlib.PDU, error)
type Unpeeker ¶
type Unpeeker struct {
	ServerName spec.ServerName
	Cfg        *config.RoomServer
	FSAPI      fsAPI.RoomserverFederationAPI
	Inputer    *input.Inputer
}
    type Upgrader ¶
type Upgrader struct {
	Cfg    *config.RoomServer
	URSAPI api.RoomserverInternalAPI
}
    func (*Upgrader) PerformRoomUpgrade ¶
func (r *Upgrader) PerformRoomUpgrade( ctx context.Context, roomID string, userID spec.UserID, roomVersion gomatrixserverlib.RoomVersion, ) (newRoomID string, err error)
PerformRoomUpgrade upgrades a room from one version to another