Documentation
      ¶
    
    
  
    
  
    Index ¶
- type FederationClient
 - type FederationClientError
 - type FederationSenderInternalAPI
 - type PerformBroadcastEDURequest
 - type PerformBroadcastEDUResponse
 - type PerformDirectoryLookupRequest
 - type PerformDirectoryLookupResponse
 - type PerformInviteRequest
 - type PerformInviteResponse
 - type PerformJoinRequest
 - type PerformJoinResponse
 - type PerformLeaveRequest
 - type PerformLeaveResponse
 - type PerformServersAliveRequest
 - type PerformServersAliveResponse
 - type QueryJoinedHostServerNamesInRoomRequest
 - type QueryJoinedHostServerNamesInRoomResponse
 
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type FederationClient ¶
type FederationClient interface {
	gomatrixserverlib.BackfillClient
	gomatrixserverlib.FederatedStateClient
	GetUserDevices(ctx context.Context, s gomatrixserverlib.ServerName, userID string) (res gomatrixserverlib.RespUserDevices, err error)
	ClaimKeys(ctx context.Context, s gomatrixserverlib.ServerName, oneTimeKeys map[string]map[string]string) (res gomatrixserverlib.RespClaimKeys, err error)
	QueryKeys(ctx context.Context, s gomatrixserverlib.ServerName, keys map[string][]string) (res gomatrixserverlib.RespQueryKeys, err error)
	GetEvent(ctx context.Context, s gomatrixserverlib.ServerName, eventID string) (res gomatrixserverlib.Transaction, err error)
	GetServerKeys(ctx context.Context, matrixServer gomatrixserverlib.ServerName) (gomatrixserverlib.ServerKeys, error)
	LookupServerKeys(ctx context.Context, s gomatrixserverlib.ServerName, keyRequests map[gomatrixserverlib.PublicKeyLookupRequest]gomatrixserverlib.Timestamp) ([]gomatrixserverlib.ServerKeys, error)
}
    FederationClient is a subset of gomatrixserverlib.FederationClient functions which the fedsender implements as proxy calls, with built-in backoff/retries/etc. Errors returned from functions in this interface are of type FederationClientError
type FederationClientError ¶
FederationClientError is returned from FederationClient methods in the event of a problem.
func (*FederationClientError) Error ¶
func (e *FederationClientError) Error() string
type FederationSenderInternalAPI ¶
type FederationSenderInternalAPI interface {
	FederationClient
	// PerformDirectoryLookup looks up a remote room ID from a room alias.
	PerformDirectoryLookup(
		ctx context.Context,
		request *PerformDirectoryLookupRequest,
		response *PerformDirectoryLookupResponse,
	) error
	// Query the server names of the joined hosts in a room.
	// Unlike QueryJoinedHostsInRoom, this function returns a de-duplicated slice
	// containing only the server names (without information for membership events).
	// The response will include this server if they are joined to the room.
	QueryJoinedHostServerNamesInRoom(
		ctx context.Context,
		request *QueryJoinedHostServerNamesInRoomRequest,
		response *QueryJoinedHostServerNamesInRoomResponse,
	) error
	// Handle an instruction to make_join & send_join with a remote server.
	PerformJoin(
		ctx context.Context,
		request *PerformJoinRequest,
		response *PerformJoinResponse,
	)
	// Handle an instruction to make_leave & send_leave with a remote server.
	PerformLeave(
		ctx context.Context,
		request *PerformLeaveRequest,
		response *PerformLeaveResponse,
	) error
	// Handle sending an invite to a remote server.
	PerformInvite(
		ctx context.Context,
		request *PerformInviteRequest,
		response *PerformInviteResponse,
	) error
	// Notifies the federation sender that these servers may be online and to retry sending messages.
	PerformServersAlive(
		ctx context.Context,
		request *PerformServersAliveRequest,
		response *PerformServersAliveResponse,
	) error
	// Broadcasts an EDU to all servers in rooms we are joined to.
	PerformBroadcastEDU(
		ctx context.Context,
		request *PerformBroadcastEDURequest,
		response *PerformBroadcastEDUResponse,
	) error
}
    FederationSenderInternalAPI is used to query information from the federation sender.
type PerformBroadcastEDURequest ¶
type PerformBroadcastEDURequest struct {
}
    type PerformBroadcastEDUResponse ¶
type PerformBroadcastEDUResponse struct {
}
    type PerformDirectoryLookupRequest ¶
type PerformDirectoryLookupRequest struct {
	RoomAlias  string                       `json:"room_alias"`
	ServerName gomatrixserverlib.ServerName `json:"server_name"`
}
    type PerformDirectoryLookupResponse ¶
type PerformDirectoryLookupResponse struct {
	RoomID      string                         `json:"room_id"`
	ServerNames []gomatrixserverlib.ServerName `json:"server_names"`
}
    type PerformInviteRequest ¶
type PerformInviteRequest struct {
	RoomVersion     gomatrixserverlib.RoomVersion             `json:"room_version"`
	Event           *gomatrixserverlib.HeaderedEvent          `json:"event"`
	InviteRoomState []gomatrixserverlib.InviteV2StrippedState `json:"invite_room_state"`
}
    type PerformInviteResponse ¶
type PerformInviteResponse struct {
	Event *gomatrixserverlib.HeaderedEvent `json:"event"`
}
    type PerformJoinRequest ¶
type PerformJoinRequest struct {
	RoomID string `json:"room_id"`
	UserID string `json:"user_id"`
	// The sorted list of servers to try. Servers will be tried sequentially, after de-duplication.
	ServerNames types.ServerNames      `json:"server_names"`
	Content     map[string]interface{} `json:"content"`
}
    type PerformJoinResponse ¶
type PerformJoinResponse struct {
	JoinedVia gomatrixserverlib.ServerName
	LastError *gomatrix.HTTPError
}
    type PerformLeaveRequest ¶
type PerformLeaveRequest struct {
	RoomID      string            `json:"room_id"`
	UserID      string            `json:"user_id"`
	ServerNames types.ServerNames `json:"server_names"`
}
    type PerformLeaveResponse ¶
type PerformLeaveResponse struct {
}
    type PerformServersAliveRequest ¶
type PerformServersAliveRequest struct {
	Servers []gomatrixserverlib.ServerName
}
    type PerformServersAliveResponse ¶
type PerformServersAliveResponse struct {
}
    type QueryJoinedHostServerNamesInRoomRequest ¶
type QueryJoinedHostServerNamesInRoomRequest struct {
	RoomID string `json:"room_id"`
}
    QueryJoinedHostServerNamesInRoomRequest is a request to QueryJoinedHostServerNames
type QueryJoinedHostServerNamesInRoomResponse ¶
type QueryJoinedHostServerNamesInRoomResponse struct {
	ServerNames []gomatrixserverlib.ServerName `json:"server_names"`
}
    QueryJoinedHostServerNamesInRoomResponse is a response to QueryJoinedHostServerNames
 Click to show internal directories. 
   Click to hide internal directories.