]> git.proxmox.com Git - ceph.git/blame - ceph/src/jaegertracing/thrift/lib/dart/lib/src/protocol/t_multiplexed_protocol.dart
buildsys: switch source download to quincy
[ceph.git] / ceph / src / jaegertracing / thrift / lib / dart / lib / src / protocol / t_multiplexed_protocol.dart
CommitLineData
f67539c2
TL
1/// Licensed to the Apache Software Foundation (ASF) under one
2/// or more contributor license agreements. See the NOTICE file
3/// distributed with this work for additional information
4/// regarding copyright ownership. The ASF licenses this file
5/// to you under the Apache License, Version 2.0 (the
6/// "License"); you may not use this file except in compliance
7/// with the License. You may obtain a copy of the License at
8///
9/// http://www.apache.org/licenses/LICENSE-2.0
10///
11/// Unless required by applicable law or agreed to in writing,
12/// software distributed under the License is distributed on an
13/// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
14/// KIND, either express or implied. See the License for the
15/// specific language governing permissions and limitations
16/// under the License.
17
18part of thrift;
19
20/// Adapted from the C# version.
21class TMultiplexedProtocol extends TProtocolDecorator {
22 static const SEPARATOR = ':';
23
24 final String _serviceName;
25
26 TMultiplexedProtocol(TProtocol protocol, String serviceName)
27 : _serviceName = serviceName,
28 super(protocol) {
29 if (serviceName == null) {
30 throw new ArgumentError.notNull("serviceName");
31 }
32 }
33
34 void writeMessageBegin(TMessage message) {
35 if (message.type == TMessageType.CALL ||
36 message.type == TMessageType.ONEWAY) {
37 String name = _serviceName + SEPARATOR + message.name;
38 message = new TMessage(name, message.type, message.seqid);
39 }
40
41 super.writeMessageBegin(message);
42 }
43}