aboutsummaryrefslogtreecommitdiff
path: root/federationsender/api/api.go
diff options
context:
space:
mode:
Diffstat (limited to 'federationsender/api/api.go')
-rw-r--r--federationsender/api/api.go16
1 files changed, 16 insertions, 0 deletions
diff --git a/federationsender/api/api.go b/federationsender/api/api.go
index dfc2dd8a..a9ebedaf 100644
--- a/federationsender/api/api.go
+++ b/federationsender/api/api.go
@@ -62,6 +62,12 @@ type FederationSenderInternalAPI interface {
request *PerformJoinRequest,
response *PerformJoinResponse,
)
+ // Handle an instruction to peek a room on a remote server.
+ PerformOutboundPeek(
+ ctx context.Context,
+ request *PerformOutboundPeekRequest,
+ response *PerformOutboundPeekResponse,
+ ) error
// Handle an instruction to make_leave & send_leave with a remote server.
PerformLeave(
ctx context.Context,
@@ -111,6 +117,16 @@ type PerformJoinResponse struct {
LastError *gomatrix.HTTPError
}
+type PerformOutboundPeekRequest struct {
+ RoomID string `json:"room_id"`
+ // The sorted list of servers to try. Servers will be tried sequentially, after de-duplication.
+ ServerNames types.ServerNames `json:"server_names"`
+}
+
+type PerformOutboundPeekResponse struct {
+ LastError *gomatrix.HTTPError
+}
+
type PerformLeaveRequest struct {
RoomID string `json:"room_id"`
UserID string `json:"user_id"`