// Copyright (c) 2012 The Chromium Authors. All rights reserved.
// 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;
}
