aboutsummaryrefslogtreecommitdiff
path: root/federationapi/api/api.go
diff options
context:
space:
mode:
authordevonh <devon.dmytro@gmail.com>2023-01-28 23:27:53 +0000
committerGitHub <noreply@github.com>2023-01-28 23:27:53 +0000
commit63df85db6d5bc528a784dc52e550fc64385c5f67 (patch)
tree80da0f2cbcf9f4473974e600f90f20aed9803707 /federationapi/api/api.go
parent2debabf0f09bb6e55063bbaa00dfb77090789abc (diff)
Relay integration to pinecone demos (#2955)
This extends the dendrite monolith for pinecone to integrate the s&f features into the mobile apps. Also makes a few tweaks to federation queueing/statistics to make some edge cases more robust.
Diffstat (limited to 'federationapi/api/api.go')
-rw-r--r--federationapi/api/api.go32
1 files changed, 31 insertions, 1 deletions
diff --git a/federationapi/api/api.go b/federationapi/api/api.go
index 417b0852..e4c0b271 100644
--- a/federationapi/api/api.go
+++ b/federationapi/api/api.go
@@ -72,12 +72,26 @@ type RoomserverFederationAPI interface {
}
type P2PFederationAPI interface {
- // Relay Server sync api used in the pinecone demos.
+ // Get the relay servers associated for the given server.
P2PQueryRelayServers(
ctx context.Context,
request *P2PQueryRelayServersRequest,
response *P2PQueryRelayServersResponse,
) error
+
+ // Add relay server associations to the given server.
+ P2PAddRelayServers(
+ ctx context.Context,
+ request *P2PAddRelayServersRequest,
+ response *P2PAddRelayServersResponse,
+ ) error
+
+ // Remove relay server associations from the given server.
+ P2PRemoveRelayServers(
+ ctx context.Context,
+ request *P2PRemoveRelayServersRequest,
+ response *P2PRemoveRelayServersResponse,
+ ) error
}
// KeyserverFederationAPI is a subset of gomatrixserverlib.FederationClient functions which the keyserver
@@ -256,3 +270,19 @@ type P2PQueryRelayServersRequest struct {
type P2PQueryRelayServersResponse struct {
RelayServers []gomatrixserverlib.ServerName
}
+
+type P2PAddRelayServersRequest struct {
+ Server gomatrixserverlib.ServerName
+ RelayServers []gomatrixserverlib.ServerName
+}
+
+type P2PAddRelayServersResponse struct {
+}
+
+type P2PRemoveRelayServersRequest struct {
+ Server gomatrixserverlib.ServerName
+ RelayServers []gomatrixserverlib.ServerName
+}
+
+type P2PRemoveRelayServersResponse struct {
+}