blob: bd1899c10b533e03136a23df2fa96495bfe98faa [file] [log] [blame]
// Copyright 2021 The Fuchsia Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
library fuchsia.overnet.protocol;
using fuchsia.net;
/// This capability is advertised via Overnet's peer discovery protocol when a given node is
/// reachable via UDP.
/// This allows discovery of UDP Overnet connectivity via Overnet, enabling for example:
/// * Using a low bandwidth (serial? bluetooth?) link to discover and bootstrap a higher bandwidth
/// UDP based link.
/// * Using an intermediate UDP based node to discover and connect directly to other UDP based
/// nodes.
@discoverable
protocol UdpReachable {
/// Hanging-get style returns the latest list of socket addresses that this node *may* be
/// reachable from.
/// This can change over time as extra sockets are added or removed, or NAT-ed addresses
/// for existing sockets are learned, or indeed as connected networks change.
GetPossibleAddressList() -> (struct {
address vector<fuchsia.net.SocketAddress>:MAX;
});
};