internal

package
v0.0.0-...-6dd005e Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 18, 2024 License: Apache-2.0 Imports: 30 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type RoomserverInternalAPI

type RoomserverInternalAPI struct {
	*input.Inputer
	*query.Queryer
	*perform.Inviter
	*perform.Joiner
	*perform.Leaver
	*perform.Publisher
	*perform.Backfiller
	*perform.Forgetter
	*perform.Upgrader
	*perform.Admin
	*perform.Creator
	ProcessContext *process.ProcessContext
	DB             storage.Database
	Cfg            *config.Dendrite
	Cache          caching.RoomServerCaches
	ServerName     spec.ServerName
	KeyRing        gomatrixserverlib.JSONVerifier
	ServerACLs     *acls.ServerACLs

	NATSClient             *nats.Conn
	JetStream              nats.JetStreamContext
	Durable                string
	InputRoomEventTopic    string // JetStream topic for new input room events
	OutputProducer         *producers.RoomEventProducer
	PerspectiveServerNames []spec.ServerName
	// contains filtered or unexported fields
}

RoomserverInternalAPI is an implementation of api.RoomserverInternalAPI

func NewRoomserverAPI

func NewRoomserverAPI(
	processContext *process.ProcessContext, dendriteCfg *config.Dendrite, roomserverDB storage.Database,
	js nats.JetStreamContext, nc *nats.Conn, caches caching.RoomServerCaches, enableMetrics bool,
) *RoomserverInternalAPI

func (*RoomserverInternalAPI) AssignRoomNID

func (r *RoomserverInternalAPI) AssignRoomNID(ctx context.Context, roomID spec.RoomID, roomVersion gomatrixserverlib.RoomVersion) (roomNID types.RoomNID, err error)

func (*RoomserverInternalAPI) DefaultRoomVersion

func (r *RoomserverInternalAPI) DefaultRoomVersion() gomatrixserverlib.RoomVersion

func (*RoomserverInternalAPI) GetAliasesForRoomID

func (r *RoomserverInternalAPI) GetAliasesForRoomID(
	ctx context.Context,
	request *api.GetAliasesForRoomIDRequest,
	response *api.GetAliasesForRoomIDResponse,
) error

GetAliasesForRoomID implements alias.RoomserverInternalAPI

func (*RoomserverInternalAPI) GetOrCreateUserRoomPrivateKey

func (r *RoomserverInternalAPI) GetOrCreateUserRoomPrivateKey(ctx context.Context, userID spec.UserID, roomID spec.RoomID) (ed25519.PrivateKey, error)

GetOrCreateUserRoomPrivateKey gets the user room key for the specified user. If no key exists yet, a new one is created.

func (*RoomserverInternalAPI) GetRoomIDForAlias

func (r *RoomserverInternalAPI) GetRoomIDForAlias(
	ctx context.Context,
	request *api.GetRoomIDForAliasRequest,
	response *api.GetRoomIDForAliasResponse,
) error

GetRoomIDForAlias implements alias.RoomserverInternalAPI

func (*RoomserverInternalAPI) HandleInvite

func (r *RoomserverInternalAPI) HandleInvite(
	ctx context.Context, inviteEvent *types.HeaderedEvent,
) error

func (*RoomserverInternalAPI) IsKnownRoom

func (r *RoomserverInternalAPI) IsKnownRoom(ctx context.Context, roomID spec.RoomID) (bool, error)

func (*RoomserverInternalAPI) PerformCreateRoom

func (r *RoomserverInternalAPI) PerformCreateRoom(
	ctx context.Context, userID spec.UserID, roomID spec.RoomID, createRequest *api.PerformCreateRoomRequest,
) (string, *util.JSONResponse)

func (*RoomserverInternalAPI) PerformForget

func (*RoomserverInternalAPI) PerformInvite

func (r *RoomserverInternalAPI) PerformInvite(
	ctx context.Context,
	req *api.PerformInviteRequest,
) error

func (*RoomserverInternalAPI) PerformLeave

func (*RoomserverInternalAPI) RemoveRoomAlias

func (r *RoomserverInternalAPI) RemoveRoomAlias(ctx context.Context, senderID spec.SenderID, alias string) (aliasFound bool, aliasRemoved bool, err error)

nolint:gocyclo RemoveRoomAlias implements alias.RoomserverInternalAPI nolint: gocyclo

func (*RoomserverInternalAPI) SetFederationAPI

func (r *RoomserverInternalAPI) SetFederationAPI(fsAPI fsAPI.RoomserverFederationAPI, keyRing *gomatrixserverlib.KeyRing)

SetFederationInputAPI passes in a federation input API reference so that we can avoid the chicken-and-egg problem of both the roomserver input API and the federation input API being interdependent.

func (*RoomserverInternalAPI) SetRoomAlias

func (r *RoomserverInternalAPI) SetRoomAlias(
	ctx context.Context,
	senderID spec.SenderID,
	roomID spec.RoomID,
	alias string,
) (aliasAlreadyUsed bool, err error)

SetRoomAlias implements alias.RoomserverInternalAPI

func (*RoomserverInternalAPI) SetUserAPI

func (r *RoomserverInternalAPI) SetUserAPI(userAPI userapi.RoomserverUserAPI)

func (*RoomserverInternalAPI) SigningIdentityFor

func (r *RoomserverInternalAPI) SigningIdentityFor(ctx context.Context, roomID spec.RoomID, senderID spec.UserID) (fclient.SigningIdentity, error)

func (*RoomserverInternalAPI) StateQuerier

func (*RoomserverInternalAPI) StoreUserRoomPublicKey

func (r *RoomserverInternalAPI) StoreUserRoomPublicKey(ctx context.Context, senderID spec.SenderID, userID spec.UserID, roomID spec.RoomID) error

Directories

Path Synopsis
Package input contains the code processes new room events
Package input contains the code processes new room events

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL