chromium/remoting/proto/mux.proto

// Copyright 2012 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
//
// Protocol for the mux channel that multiplexes multiple channels.

syntax = "proto2";

option optimize_for = LITE_RUNTIME;

package remoting.protocol;

message MultiplexPacket {
  // Channel ID. Each peer choses this value when it sends first packet to
  // the other peer. It unique identified channel this packet belongs to.
  // Channel ID is direction-specific, i.e. each channel has two IDs
  // assigned to it: one for receiving and one for sending.
  optional int32 channel_id = 1;

  // Channel name. The name is used to identify channels before channel ID
  // is assigned in the first message. This value must be included only
  // in the first packet for a given channel. All other packets must be
  // identified using channel ID.
  optional string channel_name = 2;

  optional bytes data = 3;
}