summaryrefslogtreecommitdiffstats
path: root/remoting/proto/mux.proto
diff options
context:
space:
mode:
authorsergeyu@chromium.org <sergeyu@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-08-08 02:03:10 +0000
committersergeyu@chromium.org <sergeyu@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-08-08 02:03:10 +0000
commitdfcc8927737e14edd5890c509ae113794435a470 (patch)
tree8705cd5af8968a9fa995246df6f23275aa226a5c /remoting/proto/mux.proto
parentd7f7f753ace38ad83299ba7b53aa85f373849c91 (diff)
downloadchromium_src-dfcc8927737e14edd5890c509ae113794435a470.zip
chromium_src-dfcc8927737e14edd5890c509ae113794435a470.tar.gz
chromium_src-dfcc8927737e14edd5890c509ae113794435a470.tar.bz2
Implement ChannelMultiplexer.
ChannelMultiplexer allows multiple logical channels to share a single underlying transport channel. BUG=137135 Review URL: https://chromiumcodereview.appspot.com/10830046 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@150484 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'remoting/proto/mux.proto')
-rw-r--r--remoting/proto/mux.proto27
1 files changed, 27 insertions, 0 deletions
diff --git a/remoting/proto/mux.proto b/remoting/proto/mux.proto
new file mode 100644
index 0000000..ff0a8f6
--- /dev/null
+++ b/remoting/proto/mux.proto
@@ -0,0 +1,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;
+}