blob: 6b684bcf81215846200f8ccf1951021be9346664 [file] [log] [blame]
// Copyright 2018 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;
/// Identifies a single overnet stream between two processes on the Overnet
/// mesh.
struct StreamId {
uint64 id;
/// Address of a node on the overlay network.
struct NodeId {
uint64 id;
/// Node-local link label.
using LinkId = uint64;
/// Length of a transfer key.
const uint32 TRANSFER_KEY_LENGTH = 16;
/// A transfer key is used when moving a stream endpoint from one node to
/// another. It identifies a single transfer, should be unique (so, made from
/// random bytes), and should be discarded at the end of the transfer.
using TransferKey = array<uint8>:TRANSFER_KEY_LENGTH;