aboutsummaryrefslogtreecommitdiffstats
path: root/src/vlib/cli_funcs.h
diff options
context:
space:
mode:
authorChoonho Son <choonho.son@gmail.com>2017-04-05 19:09:52 +0900
committerJohn Lo <loj@cisco.com>2017-04-06 14:01:48 +0000
commit5ee51f8ed616f14f3b32ae8857d383fefa02d861 (patch)
treec7ad30d1858d52110d9b8638f664b94b60c56241 /src/vlib/cli_funcs.h
parent586afd762bfa149f5ca167bd5fd5a0cd59ce94fe (diff)
VPP-686: create bridge-domain
- update default flags - add missing flag learn Change-Id: I50a1a001848769836468838775b59d3414d27710 Signed-off-by: Choonho Son <choonho.son@gmail.com>
Diffstat (limited to 'src/vlib/cli_funcs.h')
0 files changed, 0 insertions, 0 deletions
ht .sr { color: #008800; background-color: #fff0ff } /* Literal.String.Regex */ .highlight .s1 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Single */ .highlight .ss { color: #aa6600; background-color: #fff0f0 } /* Literal.String.Symbol */ .highlight .bp { color: #003388 } /* Name.Builtin.Pseudo */ .highlight .fm { color: #0066bb; font-weight: bold } /* Name.Function.Magic */ .highlight .vc { color: #336699 } /* Name.Variable.Class */ .highlight .vg { color: #dd7700 } /* Name.Variable.Global */ .highlight .vi { color: #3333bb } /* Name.Variable.Instance */ .highlight .vm { color: #336699 } /* Name.Variable.Magic */ .highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */
import zlib
import struct

class ZippedMsg:

    MSG_COMPRESS_THRESHOLD    = 256
    MSG_COMPRESS_HEADER_MAGIC = 0xABE85CEA

    def check_threshold (self, msg):
        return len(msg) >= self.MSG_COMPRESS_THRESHOLD

    def compress (self, msg):
        # compress
        compressed = zlib.compress(msg)
        new_msg = struct.pack(">II", self.MSG_COMPRESS_HEADER_MAGIC, len(msg)) + compressed
        return new_msg


    def decompress (self, msg):
        if len(msg) < 8:
            return None

        t = struct.unpack(">II", msg[:8])
        if (t[0] != self.MSG_COMPRESS_HEADER_MAGIC):
            return None

        x = zlib.decompress(msg[8:])
        if len(x) != t[1]:
            return None

        return x