/**
* Copyright 2019, OpenCensus Authors
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
///
/**
* This module contains the functions for serializing and deserializing
* TagMap (TagContext) with the binary format. It allows tags to propagate
* across requests.
*
*
OpenCensus tag context encoding:
*
*
* - Tags are encoded in single byte sequence. The version 0 format is:
*
- {@code }
*
- {@code -> a single byte, value 0}
*
- {@code -> ()*}
*
* - {@code } -> a single byte, value 0
*
- {@code }:
*
* - {@code }
*
* - {@code } -> varint encoded integer
*
- {@code } -> tag_key_len bytes comprising tag name
*
- {@code } -> varint encoded integer
*
- {@code } -> tag_val_len bytes comprising tag value
*
*
*
*
*
*
*/
import { TagMap } from '../tag-map';
export declare const TAG_MAP_SERIALIZED_SIZE_LIMIT = 8192;
/**
* Serializes a given TagMap to the on-the-wire format.
* @param tagMap The TagMap to serialize.
*/
export declare function serializeBinary(tagMap: TagMap): Buffer;
/**
* Deserializes input to TagMap based on the binary format standard.
* @param buffer The TagMap to deserialize.
*/
export declare function deserializeBinary(buffer: Buffer): TagMap;