def unpack(self, buf):
        dpkt.Packet.unpack(self, buf)
        n = self.len - 4
        if n > len(self.data):
            raise dpkt.NeedData('not enough data')
        self.msg, self.data = self.data[:n], self.data[n:]
        try:
            p = self._msgsw[self.msgid](self.msg)
            setattr(self, p.__class__.__name__.lower(), p)
        except (__HOLE__, dpkt.UnpackError):
            pass
dataset/ETHPy150Open dragondjf/QMarkdowner/dpkt/sccp.py/SCCP.unpack