summaryrefslogtreecommitdiffstats
path: root/remoting/proto/mux.proto
blob: ff0a8f6e0030775efc331669aecd593df561930b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
// 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;
}