netmsgs  1.2.2
RoadNarrows Robotics Network Messaging Package
NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf Class Reference

Public Member Functions

def __init__ (self, msgdefset, kwargs)
 
def Optimize (self)
 
def OptimizeMsgDef (self, msgid, msgdef)
 
def OptimizeFieldDef (self, fielddef)
 
def AttrAddMsgDef (self, msgid, msgdef)
 
def AttrDelMsgDef (self, msgid)
 
def AttrSetByteOrder (self, endian)
 
def StateNew (self, msgid, op, kwargs)
 
def StateDelete (self, stateId)
 
def StateGet (self, stateId, keypath)
 
def StateSet (self, stateId, keypath, kwargs)
 
def StateFieldPush (self, stateId, kwargs)
 
def StateFieldPop (self, stateId)
 
def StateFieldGet (self, stateId, keypath)
 
def StateFieldSet (self, stateId, keypath, kwargs)
 
def nmPackFieldHdr (self, fielddef, val, stateId)
 
def nmPackPad (self, fielddef, val, stateId)
 
def nmPackBool (self, fielddef, val, stateId)
 
def nmPackChar (self, fielddef, val, stateId)
 
def nmPackU8 (self, fielddef, val, stateId)
 
def nmPackS8 (self, fielddef, val, stateId)
 
def nmPackU16 (self, fielddef, val, stateId)
 
def nmPackS16 (self, fielddef, val, stateId)
 
def nmPackU32 (self, fielddef, val, stateId)
 
def nmPackS32 (self, fielddef, val, stateId)
 
def nmPackU64 (self, fielddef, val, stateId)
 
def nmPackS64 (self, fielddef, val, stateId)
 
def nmPackF32 (self, fielddef, val, stateId)
 
def nmPackF64 (self, fielddef, val, stateId)
 
def nmPackP32 (self, fielddef, val, stateId)
 
def nmPackP64 (self, fielddef, val, stateId)
 
def nmPackString (self, fielddef, val, stateId)
 
def nmPackStruct (self, fielddef, fvals, stateId)
 
def nmPackVector (self, fielddef, vallist, stateId)
 
def nmPackStream (self, msgdef, fvals, stateId)
 
def nmPackMsgHdr (self, msgid, msgdef, stateId)
 
def nmPackMsg (self, msgid, fvals)
 
def nmUnpackFieldHdr (self, buf, offset, stateId)
 
def nmUnpackPad (self, fielddef, buf, offset, fvals, stateId)
 
def nmUnpackBool (self, fielddef, buf, offset, fvals, stateId)
 
def nmUnpackChar (self, fielddef, buf, offset, fvals, stateId)
 
def nmUnpackU8 (self, fielddef, buf, offset, fvals, stateId)
 
def nmUnpackS8 (self, fielddef, buf, offset, fvals, stateId)
 
def nmUnpackU16 (self, fielddef, buf, offset, fvals, stateId)
 
def nmUnpackS16 (self, fielddef, buf, offset, fvals, stateId)
 
def nmUnpackU32 (self, fielddef, buf, offset, fvals, stateId)
 
def nmUnpackS32 (self, fielddef, buf, offset, fvals, stateId)
 
def nmUnpackU64 (self, fielddef, buf, offset, fvals, stateId)
 
def nmUnpackS64 (self, fielddef, buf, offset, fvals, stateId)
 
def nmUnpackF32 (self, fielddef, buf, offset, fvals, stateId)
 
def nmUnpackF64 (self, fielddef, buf, offset, fvals, stateId)
 
def nmUnpackP32 (self, fielddef, buf, offset, fvals, stateId)
 
def nmUnpackP64 (self, fielddef, buf, offset, fvals, stateId)
 
def nmUnpackString (self, fielddef, buf, offset, fvals, stateId)
 
def nmUnpackStruct (self, fielddef, buf, offset, fvals, stateId)
 
def nmUnpackVector (self, fielddef, buf, offset, fvals, stateId)
 
def nmUnpackStream (self, msgdef, buf, offset, fvals, stateId)
 
def nmUnpackMsgHdr (self, msgid, msgdef, buf, offset, fvals, stateId)
 
def nmUnpackMsg (self, msgid, buf, fvals)
 
def nmIdent (self, fielddef, val, stateId)
 
def nmSetInt (self, fielddef, val, stateId)
 
def nmSetFPN (self, fielddef, val, stateId)
 
def nmSetStr (self, fielddef, val, stateId)
 
def MakeMsgTemplate (self, msgid)
 
def GetDefReqVal (self, d, k, epreface='', stateId=None)
 
def ChkReqFValType (self, fielddef, fval, stateId=None)
 
def ZeroFType (self, fielddef)
 
def FindFId (self, msgdef, fid)
 
def Warning (self, args)
 
def Error (self, args, kwargs)
 
def TraceStart (self, preface, msgid, msgdef, buf, stateId, fp=sys.stderr)
 
def TraceField (self, fielddef, fval, buf, stateId, fp=sys.stderr)
 
def Trace2Col (self, textList, buf, stateId, fp=sys.stderr)
 
def TraceBufBlock (self, preface, buf, start=0, end=None, fp=sys.stderr)
 
def DebugState (self, stateId)
 

Public Attributes

 PACKFUNC
 index to pack function
 
 UNPACKFUNC
 index to unpack function
 
 SETFUNC
 index to set function
 
 mMsgDefSet
 Message definition set. More...
 
 mMsgDefSetName
 message definition set string name
 
 mEncoding
 message encoding
 
 mNoWarn
 byte ordering More...
 
 mTrace
 disable python runtime warnings More...
 
 mStateId
 atomic state counter
 
 mState
 pack/unpack state
 
 mFuncMap
 Field Code to Function Mappings.
 
 mEndian
 Byte order.
 

Detailed Description

RoadNarrows Net Messages Stream Buffer Virtual Base Class.

    NetMsgsStreamBuf supports serialized packing and de-serialized
    unpacking of a registered set of message definitions.

    Packing and unpacking operations are multi-thread safe.

Definition at line 85 of file NetMsgsLibStreamBuf.py.

Constructor & Destructor Documentation

def NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.__init__ (   self,
  msgdefset,
  kwargs 
)
Initialize NetMsgsStreamBuf instance.

Parameters:
  msgdefset - Set of message definitions.
  kwargs    - Optional keyword arguments.
                msgsetname=str  - Name. Default: "MessageSet"
                encoding=val    - Message stream encoding.
                                  Default: unknown
                endian=val      - Byte ordering. Default: big
                nowarn=bool     - Disable warnings. Default: False.
                trace=bool      - Trace packing/unpacking.
                                  Default: False

Definition at line 95 of file NetMsgsLibStreamBuf.py.

95  def __init__(self, msgdefset, **kwargs):
96  """ Initialize NetMsgsStreamBuf instance.
97 
98  Parameters:
99  msgdefset - Set of message definitions.
100  kwargs - Optional keyword arguments.
101  msgsetname=str - Name. Default: "MessageSet"
102  encoding=val - Message stream encoding.
103  Default: unknown
104  endian=val - Byte ordering. Default: big
105  nowarn=bool - Disable warnings. Default: False.
106  trace=bool - Trace packing/unpacking.
107  Default: False
108  """
109  ## index to pack function
110  self.PACKFUNC = 0
111 
112  ## index to unpack function
113  self.UNPACKFUNC = 1
114 
115  ## index to set function
116  self.SETFUNC = 2
117 
118  ## Message definition set.
119  self.mMsgDefSet = msgdefset
120 
121  # optimize message definition set
122  self.Optimize()
123 
124  ## message definition set string name
125  self.mMsgDefSetName = kwargs.get('msgsetname', "MessageSet")
126 
127  ## message encoding
128  self.mEncoding = kwargs.get('encoding', 'unknown')
129 
130  ## byte ordering
131  self.AttrSetByteOrder(kwargs.get('endian', 'big'))
132 
133  ## do [not] disable warnings
134  self.mNoWarn = kwargs.get('nowarn', False)
135 
136  ## disable python runtime warnings
137  if self.mNoWarn:
138  warnings.simplefilter('ignore', RuntimeWarning)
139 
140  ## tracing
141  self.mTrace = kwargs.get('trace', False)
142 
143  ## atomic state counter
144  self.mStateId = itertools.count()
145 
146  ## pack/unpack state
147  self.mState = {}
148 
149  ## Field Code to Function Mappings
150  self.mFuncMap = {
151  nmBase.NMFCode('pad'):
152  [self.nmPackPad, self.nmUnpackPad, self.nmIdent],
153  nmBase.NMFCode('char'):
154  [self.nmPackChar, self.nmUnpackChar, self.nmIdent],
155  nmBase.NMFCode('u8'):
156  [self.nmPackU8, self.nmUnpackU8, self.nmSetInt],
157  nmBase.NMFCode('s8'):
158  [self.nmPackS8, self.nmUnpackS8, self.nmSetInt],
159  nmBase.NMFCode('bool'):
160  [self.nmPackBool, self.nmUnpackBool, self.nmIdent],
161  nmBase.NMFCode('u16'):
162  [self.nmPackU16, self.nmUnpackU16, self.nmSetInt],
163  nmBase.NMFCode('s16'):
164  [self.nmPackS16, self.nmUnpackS16, self.nmSetInt],
165  nmBase.NMFCode('u32'):
166  [self.nmPackU32, self.nmUnpackU32, self.nmSetInt],
167  nmBase.NMFCode('s32'):
168  [self.nmPackS32, self.nmUnpackS32, self.nmSetInt],
169  nmBase.NMFCode('u64'):
170  [self.nmPackU64, self.nmUnpackU64, self.nmSetInt],
171  nmBase.NMFCode('s64'):
172  [self.nmPackS64, self.nmUnpackS64, self.nmSetInt],
173  nmBase.NMFCode('f32'):
174  [self.nmPackF32, self.nmUnpackF32, self.nmSetFPN],
175  nmBase.NMFCode('f64'):
176  [self.nmPackF64, self.nmUnpackF64, self.nmSetFPN],
177  nmBase.NMFCode('p32'):
178  [self.nmPackP32, self.nmUnpackP32, self.nmIdent],
179  nmBase.NMFCode('p64'):
180  [self.nmPackP64, self.nmUnpackP64, self.nmIdent],
181  nmBase.NMFCode('string'):
182  [self.nmPackString, self.nmUnpackString, self.nmSetStr],
183  nmBase.NMFCode('struct'):
184  [self.nmPackStruct, self.nmUnpackStruct, self.nmIdent],
185  nmBase.NMFCode('vector'):
186  [self.nmPackVector, self.nmUnpackVector, self.nmIdent],
187  }
def nmUnpackStruct(self, fielddef, buf, offset, fvals, stateId)
def nmUnpackU64(self, fielddef, buf, offset, fvals, stateId)
def nmPackF64(self, fielddef, val, stateId)
def nmPackPad(self, fielddef, val, stateId)
def nmUnpackU16(self, fielddef, buf, offset, fvals, stateId)
def nmUnpackS8(self, fielddef, buf, offset, fvals, stateId)
def nmPackChar(self, fielddef, val, stateId)
def nmUnpackPad(self, fielddef, buf, offset, fvals, stateId)
def nmPackStruct(self, fielddef, fvals, stateId)
def nmPackS8(self, fielddef, val, stateId)
def nmSetStr(self, fielddef, val, stateId)
def nmUnpackU8(self, fielddef, buf, offset, fvals, stateId)
def nmPackS32(self, fielddef, val, stateId)
def nmUnpackString(self, fielddef, buf, offset, fvals, stateId)
def nmPackU64(self, fielddef, val, stateId)
mMsgDefSetName
message definition set string name
def nmPackP64(self, fielddef, val, stateId)
def nmIdent(self, fielddef, val, stateId)
def nmUnpackS16(self, fielddef, buf, offset, fvals, stateId)
def nmUnpackU32(self, fielddef, buf, offset, fvals, stateId)
def nmUnpackP64(self, fielddef, buf, offset, fvals, stateId)
def nmUnpackF64(self, fielddef, buf, offset, fvals, stateId)
def nmPackU8(self, fielddef, val, stateId)
def nmSetFPN(self, fielddef, val, stateId)
def nmPackU32(self, fielddef, val, stateId)
mFuncMap
Field Code to Function Mappings.
def nmUnpackP32(self, fielddef, buf, offset, fvals, stateId)
def nmUnpackVector(self, fielddef, buf, offset, fvals, stateId)
def nmPackU16(self, fielddef, val, stateId)
def nmSetInt(self, fielddef, val, stateId)
def nmUnpackBool(self, fielddef, buf, offset, fvals, stateId)
def nmPackP32(self, fielddef, val, stateId)
def nmUnpackF32(self, fielddef, buf, offset, fvals, stateId)
def nmPackBool(self, fielddef, val, stateId)
def nmPackF32(self, fielddef, val, stateId)
def nmPackS16(self, fielddef, val, stateId)
def nmPackString(self, fielddef, val, stateId)
def nmPackVector(self, fielddef, vallist, stateId)
def nmPackS64(self, fielddef, val, stateId)
def nmUnpackChar(self, fielddef, buf, offset, fvals, stateId)
def nmUnpackS64(self, fielddef, buf, offset, fvals, stateId)
def nmUnpackS32(self, fielddef, buf, offset, fvals, stateId)

Member Function Documentation

def NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.AttrAddMsgDef (   self,
  msgid,
  msgdef 
)
Add/Overwrite message definition to set.

Parameters:
  msgid   - Unique message identifier number.
  msgdef  - Message definition.

Definition at line 262 of file NetMsgsLibStreamBuf.py.

References NetMsgs.NetMsgsGenPy.NetMsgsGenPy.mMsgDefSet, NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.mMsgDefSet, and NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.OptimizeMsgDef().

262  def AttrAddMsgDef(self, msgid, msgdef):
263  """ Add/Overwrite message definition to set.
264 
265  Parameters:
266  msgid - Unique message identifier number.
267  msgdef - Message definition.
268  """
269  self.mMsgDefSet[msgid] = msgdef
270  self.OptimizeMsgDef(msgdef)
def NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.AttrDelMsgDef (   self,
  msgid 
)
Delete message definition from set.

Parameters:
  msgid   - Unique message identifier number.

Definition at line 274 of file NetMsgsLibStreamBuf.py.

References NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.Error(), NetMsgs.NetMsgsGenPy.NetMsgsGenPy.mMsgDefSet, and NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.mMsgDefSet.

274  def AttrDelMsgDef(self, msgid):
275  """ Delete message definition from set.
276 
277  Parameters:
278  msgid - Unique message identifier number.
279  """
280  try:
281  del self.mMsgDefSet[msgid]
282  except KeyError:
283  self.Error(repr(msgid), EMsgNoMsgDef)
def NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.AttrSetByteOrder (   self,
  endian 
)
Set message packing and unpack field byte order.

Parameters:
  endian  - Byte order. One of: big little native

Definition at line 287 of file NetMsgsLibStreamBuf.py.

287  def AttrSetByteOrder(self, endian):
288  """ Set message packing and unpack field byte order.
289 
290  Parameters:
291  endian - Byte order. One of: big little native
292  """
293  if endian in nmBase.NMEndian:
294  ## Byte order
295  self.mEndian = endian
296  else:
297  self.Error("endian=%s" % (endian), EMsgEndian)
def NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.ChkReqFValType (   self,
  fielddef,
  fval,
  stateId = None 
)
Check field definition type against field value type.

Parameters:
  fielddef  - Field definition.
  fval      - Field value.
  stateId   - State id.

Definition at line 1663 of file NetMsgsLibStreamBuf.py.

References NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.Error().

Referenced by NetMsgs.NetMsgsLibITV.NetMsgsITV.nmPackFieldHdr(), NetMsgs.NetMsgsLibITV.NetMsgsITV.nmPackString(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmPackString(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmPackStruct(), NetMsgs.NetMsgsLibITV.NetMsgsITV.nmPackVector(), and NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmPackVector().

1663  def ChkReqFValType(self, fielddef, fval, stateId=None):
1664  """ Check field definition type against field value type.
1665 
1666  Parameters:
1667  fielddef - Field definition.
1668  fval - Field value.
1669  stateId - State id.
1670  """
1671  ftype = fielddef['ftype']
1672  # boolean
1673  if ftype == nmBase.NMFCode('bool'):
1674  if (type(fval) == bool) or (type(fval) != int):
1675  return
1676  # character
1677  elif ftype == nmBase.NMFCode('char'):
1678  if (type(fval) == str) and (len(fval) == 1):
1679  return
1680  # floating-point number
1681  elif ftype in [nmBase.NMFCode('f32'), nmBase.NMFCode('f64')]:
1682  if (type(fval) == float) or (type(fval) == int):
1683  return
1684  # string
1685  elif ftype == nmBase.NMFCode('string'):
1686  if type(fval) == str:
1687  return
1688  # structure
1689  elif ftype == nmBase.NMFCode('struct'):
1690  if type(fval) == dict:
1691  return
1692  # vector
1693  elif ftype == nmBase.NMFCode('vector'):
1694  if type(fval) == list:
1695  return
1696  # simple
1697  elif (type(fval) != str) and (type(fval) != dict) and (type(fval) != list):
1698  return
1699  # error
1700  self.Error("%s(fid=%u)" % (fielddef['name'], fielddef['fid']),
1701  "%s(%c)=%s" % (nmBase.NMFTypeCode2Xml[ftype], ftype, repr(fval)),
1702  EMsgFValType,
1703  stateId=stateId)
def ChkReqFValType(self, fielddef, fval, stateId=None)
def NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.DebugState (   self,
  stateId 
)
Debug print current operational state.

Parameters:
  stateId   - State id.

Definition at line 1988 of file NetMsgsLibStreamBuf.py.

References NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.StateGet().

1988  def DebugState(self, stateId):
1989  """ Debug print current operational state.
1990 
1991  Parameters:
1992  stateId - State id.
1993  """
1994  nmBase.PrettyPrintDict(self.StateGet(stateId), name="StateId=%u" % stateId)
def NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.Error (   self,
  args,
  kwargs 
)
Raise NetMsgsError error.

Parameters:
  *args   - List of error message arguments.
  kwargs  - Keyword arguments.
              stateId - Optional state id.

Definition at line 1775 of file NetMsgsLibStreamBuf.py.

References NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.StateDelete().

Referenced by NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.AttrDelMsgDef(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.ChkReqFValType(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.GetDefReqVal(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.MakeMsgTemplate(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmIdent(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmPackMsg(), NetMsgs.NetMsgsLibITV.NetMsgsITV.nmPackString(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmPackString(), NetMsgs.NetMsgsLibITV.NetMsgsITV.nmPackVector(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmPackVector(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmSetFPN(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmSetInt(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmSetStr(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmUnpackMsg(), NetMsgs.NetMsgsLibITV.NetMsgsITV.nmUnpackMsgHdr(), NetMsgs.NetMsgsLibITV.NetMsgsITV.nmUnpackStream(), NetMsgs.NetMsgsLibITV.NetMsgsITV.nmUnpackString(), NetMsgs.NetMsgsLibITV.NetMsgsITV.nmUnpackStruct(), NetMsgs.NetMsgsLibITV.NetMsgsITV.nmUnpackVector(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.OptimizeMsgDef(), NetMsgs.NetMsgsXmlParser.NetMsgsXmlParser.Parse(), and NetMsgs.NetMsgsXmlParser.NetMsgsXmlParser.XmlHandlerEndElem().

1775  def Error(self, *args, **kwargs):
1776  """ Raise NetMsgsError error.
1777 
1778  Parameters:
1779  *args - List of error message arguments.
1780  kwargs - Keyword arguments.
1781  stateId - Optional state id.
1782  """
1783  emsg = ''
1784  for a in args:
1785  if a:
1786  if not emsg:
1787  emsg += "%s" % (a)
1788  else:
1789  emsg += ": %s" % (a)
1790  self.StateDelete(kwargs.get('stateId', None))
1791  raise nmBase.NetMsgsError(emsg)
def NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.FindFId (   self,
  msgdef,
  fid 
)
Find field definition with the given identifier in the (sub)message
definition.

Parameters:
  msgdef    - Message definition.
  fid       - Unique field id within message definition.

   Return:
Returns field definition on success, None on failure.

Definition at line 1740 of file NetMsgsLibStreamBuf.py.

Referenced by NetMsgs.NetMsgsLibITV.NetMsgsITV.nmUnpackStream().

1740  def FindFId(self, msgdef, fid):
1741  """ Find field definition with the given identifier in the (sub)message
1742  definition.
1743 
1744  Parameters:
1745  msgdef - Message definition.
1746  fid - Unique field id within message definition.
1747 
1748  Return:
1749  Returns field definition on success, None on failure.
1750  """
1751  fdeflist = msgdef['fielddef']
1752  for fielddef in fdeflist:
1753  if fielddef['fid'] == fid:
1754  return fielddef
1755  return None
def NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.GetDefReqVal (   self,
  d,
  k,
  epreface = '',
  stateId = None 
)
Get a NetMsgs message or field definition required keyword value.

Raises NetMsgsError exception of failure.

Parameters:
  d         - Definition dictionary.
  k         - Definition key.
  epreface  - Optional error preface string on error.
  stateId   - Optional state id.

Return:
  Definition value.

Definition at line 1641 of file NetMsgsLibStreamBuf.py.

References NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.Error().

Referenced by NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.OptimizeFieldDef(), and NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.OptimizeMsgDef().

1641  def GetDefReqVal(self, d, k, epreface='', stateId=None):
1642  """ Get a NetMsgs message or field definition required keyword value.
1643 
1644  Raises NetMsgsError exception of failure.
1645 
1646  Parameters:
1647  d - Definition dictionary.
1648  k - Definition key.
1649  epreface - Optional error preface string on error.
1650  stateId - Optional state id.
1651 
1652  Return:
1653  Definition value.
1654  """
1655  try:
1656  return d[k]
1657  except KeyError, inst:
1658  name = d.get('name', '?name?')
1659  self.Error(epreface, name, inst.args[0], EMsgReqKeyword, stateId=stateId)
def GetDefReqVal(self, d, k, epreface='', stateId=None)
def NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.MakeMsgTemplate (   self,
  msgid 
)
Make a message template from the given message definition.

Parameters:
  msgid   - Message id.

Return:
  Message template dictionary.

Definition at line 1599 of file NetMsgsLibStreamBuf.py.

References NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf._MakeMsgTemplateR(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.Error(), NetMsgs.NetMsgsGenPy.NetMsgsGenPy.mMsgDefSet, and NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.mMsgDefSet.

1599  def MakeMsgTemplate(self, msgid):
1600  """ Make a message template from the given message definition.
1601 
1602  Parameters:
1603  msgid - Message id.
1604 
1605  Return:
1606  Message template dictionary.
1607  """
1608  try:
1609  msgdef = self.mMsgDefSet[msgid]
1610  except KeyError:
1611  self.Error("MsgDefSet", repr(msgid), EMsgNoMsgDef)
1612  return self._MakeMsgTemplateR(msgdef['fielddef'])
def NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmIdent (   self,
  fielddef,
  val,
  stateId 
)
Identity function.

Parameter:
  fielddef  - Field definition.
  val       - Field value.
  stateId   - State id.

Return:
  val

Definition at line 1512 of file NetMsgsLibStreamBuf.py.

References NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.Error().

1512  def nmIdent(self, fielddef, val, stateId):
1513  """ Identity function.
1514 
1515  Parameter:
1516  fielddef - Field definition.
1517  val - Field value.
1518  stateId - State id.
1519 
1520  Return:
1521  val
1522  """
1523  if val is None:
1524  self.Error("%s" % fielddef['name'], EMsgNoFVal, stateId=stateId)
1525  return val
def nmIdent(self, fielddef, val, stateId)
def NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmPackBool (   self,
  fielddef,
  val,
  stateId 
)
Pack boolean field.

Parameters:
  fielddef  - Field definition.
  val       - Field value.
  stateId   - Packing state id.

Return:
  Packed buffer.

Definition at line 513 of file NetMsgsLibStreamBuf.py.

References NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.mEndian, NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.mTrace, NetMsgs.NetMsgsLibFlat.NetMsgsFlat.nmPackFieldHdr(), NetMsgs.NetMsgsLibITV.NetMsgsITV.nmPackFieldHdr(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmPackFieldHdr(), NetMsgs.NetMsgsLib.PackBool(), and NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.TraceField().

513  def nmPackBool(self, fielddef, val, stateId):
514  """ Pack boolean field.
515 
516  Parameters:
517  fielddef - Field definition.
518  val - Field value.
519  stateId - Packing state id.
520 
521  Return:
522  Packed buffer.
523  """
524  buf = self.nmPackFieldHdr(fielddef, val, stateId)
525  buf += PackBool(val, endian=self.mEndian)
526  if self.mTrace: self.TraceField(fielddef, val, buf, stateId)
527  return buf
def PackBool(val, endian='big')
Definition: NetMsgsLib.py:195
def TraceField(self, fielddef, fval, buf, stateId, fp=sys.stderr)
def nmPackBool(self, fielddef, val, stateId)
def nmPackFieldHdr(self, fielddef, val, stateId)
def NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmPackChar (   self,
  fielddef,
  val,
  stateId 
)
Pack one character field.

Parameters:
  fielddef  - Field definition.
  val       - Field value.
  stateId   - Packing state id.

Return:
  Packed buffer.

Definition at line 531 of file NetMsgsLibStreamBuf.py.

References NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.mEndian, NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.mTrace, NetMsgs.NetMsgsLibFlat.NetMsgsFlat.nmPackFieldHdr(), NetMsgs.NetMsgsLibITV.NetMsgsITV.nmPackFieldHdr(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmPackFieldHdr(), NetMsgs.NetMsgsLib.PackChar(), and NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.TraceField().

531  def nmPackChar(self, fielddef, val, stateId):
532  """ Pack one character field.
533 
534  Parameters:
535  fielddef - Field definition.
536  val - Field value.
537  stateId - Packing state id.
538 
539  Return:
540  Packed buffer.
541  """
542  buf = self.nmPackFieldHdr(fielddef, val, stateId)
543  buf += PackChar(val, endian=self.mEndian)
544  if self.mTrace: self.TraceField(fielddef, val, buf, stateId)
545  return buf
def nmPackChar(self, fielddef, val, stateId)
def TraceField(self, fielddef, fval, buf, stateId, fp=sys.stderr)
def PackChar(val, endian='big')
Definition: NetMsgsLib.py:212
def nmPackFieldHdr(self, fielddef, val, stateId)
def NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmPackF32 (   self,
  fielddef,
  val,
  stateId 
)
Pack 32-bit floating-point number field.

Parameters:
  fielddef  - Field definition.
  val       - Field value.
  stateId   - Packing state id.

Return:
  Packed buffer.

Definition at line 693 of file NetMsgsLibStreamBuf.py.

References NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.mEndian, NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.mTrace, NetMsgs.NetMsgsLibFlat.NetMsgsFlat.nmPackFieldHdr(), NetMsgs.NetMsgsLibITV.NetMsgsITV.nmPackFieldHdr(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmPackFieldHdr(), NetMsgs.NetMsgsLib.PackF32(), and NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.TraceField().

693  def nmPackF32(self, fielddef, val, stateId):
694  """ Pack 32-bit floating-point number field.
695 
696  Parameters:
697  fielddef - Field definition.
698  val - Field value.
699  stateId - Packing state id.
700 
701  Return:
702  Packed buffer.
703  """
704  buf = self.nmPackFieldHdr(fielddef, val, stateId)
705  buf += PackF32(val, endian=self.mEndian)
706  if self.mTrace: self.TraceField(fielddef, val, buf, stateId)
707  return buf
def TraceField(self, fielddef, fval, buf, stateId, fp=sys.stderr)
def nmPackF32(self, fielddef, val, stateId)
def PackF32(val, endian='big')
Definition: NetMsgsLib.py:390
def nmPackFieldHdr(self, fielddef, val, stateId)
def NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmPackF64 (   self,
  fielddef,
  val,
  stateId 
)
Pack 64-bit floating-point number field.

Parameters:
  fielddef  - Field definition.
  val       - Field value.
  stateId   - Packing state id.

Return:
  Packed buffer.

Definition at line 711 of file NetMsgsLibStreamBuf.py.

References NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.mEndian, NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.mTrace, NetMsgs.NetMsgsLibFlat.NetMsgsFlat.nmPackFieldHdr(), NetMsgs.NetMsgsLibITV.NetMsgsITV.nmPackFieldHdr(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmPackFieldHdr(), NetMsgs.NetMsgsLib.PackF64(), and NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.TraceField().

711  def nmPackF64(self, fielddef, val, stateId):
712  """ Pack 64-bit floating-point number field.
713 
714  Parameters:
715  fielddef - Field definition.
716  val - Field value.
717  stateId - Packing state id.
718 
719  Return:
720  Packed buffer.
721  """
722  buf = self.nmPackFieldHdr(fielddef, val, stateId)
723  buf += PackF64(val, endian=self.mEndian)
724  if self.mTrace: self.TraceField(fielddef, val, buf, stateId)
725  return buf
def nmPackF64(self, fielddef, val, stateId)
def PackF64(val, endian='big')
Definition: NetMsgsLib.py:409
def TraceField(self, fielddef, fval, buf, stateId, fp=sys.stderr)
def nmPackFieldHdr(self, fielddef, val, stateId)
def NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmPackFieldHdr (   self,
  fielddef,
  val,
  stateId 
)
Pack field header. 

No header is packed in base function.

Parameters:
  fielddef  - Field definition.
  val       - Field value(s).
  stateId   - Packing state id.

Return:
  Packed buffer.

Definition at line 469 of file NetMsgsLibStreamBuf.py.

References NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.StateFieldSet().

Referenced by NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmPackBool(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmPackChar(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmPackF32(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmPackF64(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmPackP32(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmPackP64(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmPackS16(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmPackS32(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmPackS64(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmPackS8(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmPackString(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmPackStruct(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmPackU16(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmPackU32(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmPackU64(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmPackU8(), and NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmPackVector().

469  def nmPackFieldHdr(self, fielddef, val, stateId):
470  """ Pack field header.
471 
472  No header is packed in base function.
473 
474  Parameters:
475  fielddef - Field definition.
476  val - Field value(s).
477  stateId - Packing state id.
478 
479  Return:
480  Packed buffer.
481  """
482  self.StateFieldSet(stateId, fhdr={})
483  return ''
def StateFieldSet(self, stateId, keypath, kwargs)
def nmPackFieldHdr(self, fielddef, val, stateId)
def NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmPackMsg (   self,
  msgid,
  fvals 
)
Pack a message.

Parameters:
  msgid     - Message identifier.
  fvals     - Dictionary of associated field values.

Return:
  Packed buffer.

Definition at line 920 of file NetMsgsLibStreamBuf.py.

References NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.Error(), NetMsgs.NetMsgsGenPy.NetMsgsGenPy.mMsgDefSet, NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.mMsgDefSet, NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.mTrace, NetMsgs.NetMsgsLibFlat.NetMsgsFlat.nmPackMsgHdr(), NetMsgs.NetMsgsLibITV.NetMsgsITV.nmPackMsgHdr(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmPackMsgHdr(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmPackStream(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.StateDelete(), NetMsgs.NetMsgsLibITV.NetMsgsITV.StateNew(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.StateNew(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.StateSet(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.TraceBufBlock(), and NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.TraceStart().

920  def nmPackMsg(self, msgid, fvals):
921  """ Pack a message.
922 
923  Parameters:
924  msgid - Message identifier.
925  fvals - Dictionary of associated field values.
926 
927  Return:
928  Packed buffer.
929  """
930  try:
931  msgdef = self.mMsgDefSet[msgid]
932  except KeyError:
933  self.Error("MsgDefSet", repr(msgid), EMsgNoMsgDef)
934  stateId = self.StateNew(msgid, 'pack')
935  buf = self.nmPackMsgHdr(msgid, msgdef, stateId)
936  max_count = msgdef['max_count']
937  self.StateSet(stateId, field_count=max_count)
938  if self.mTrace: self.TraceStart("Packing", msgid, msgdef, buf, stateId)
939  buf += self.nmPackStream(msgdef, fvals, stateId)
940  if self.mTrace: self.TraceBufBlock("Output", buf)
941  self.StateDelete(stateId)
942  return buf
def nmPackMsgHdr(self, msgid, msgdef, stateId)
def StateSet(self, stateId, keypath, kwargs)
def TraceBufBlock(self, preface, buf, start=0, end=None, fp=sys.stderr)
def nmPackStream(self, msgdef, fvals, stateId)
def TraceStart(self, preface, msgid, msgdef, buf, stateId, fp=sys.stderr)
def NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmPackMsgHdr (   self,
  msgid,
  msgdef,
  stateId 
)
Pack message header. 

No header is packed in base function.

Parameters:
  msgid     - Message identifier.
  msgdef    - Message definition.
  stateId   - Packing state id.

Return:
  Packed buffer.

Definition at line 902 of file NetMsgsLibStreamBuf.py.

References NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.StateSet().

Referenced by NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmPackMsg().

902  def nmPackMsgHdr(self, msgid, msgdef, stateId):
903  """ Pack message header.
904 
905  No header is packed in base function.
906 
907  Parameters:
908  msgid - Message identifier.
909  msgdef - Message definition.
910  stateId - Packing state id.
911 
912  Return:
913  Packed buffer.
914  """
915  self.StateSet(stateId, msghdr={})
916  return ''
def nmPackMsgHdr(self, msgid, msgdef, stateId)
def StateSet(self, stateId, keypath, kwargs)
def NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmPackP32 (   self,
  fielddef,
  val,
  stateId 
)
Pack 32-bit pointer field.

Pointer is always packed in natvie byte order.

Parameters:
  fielddef  - Field definition.
  val       - Field value.
  stateId   - Packing state id.

Return:
  Packed buffer.

Definition at line 729 of file NetMsgsLibStreamBuf.py.

References NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.mEndian, NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.mTrace, NetMsgs.NetMsgsLibFlat.NetMsgsFlat.nmPackFieldHdr(), NetMsgs.NetMsgsLibITV.NetMsgsITV.nmPackFieldHdr(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmPackFieldHdr(), NetMsgs.NetMsgsLib.PackP32(), and NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.TraceField().

729  def nmPackP32(self, fielddef, val, stateId):
730  """ Pack 32-bit pointer field.
731 
732  Pointer is always packed in natvie byte order.
733 
734  Parameters:
735  fielddef - Field definition.
736  val - Field value.
737  stateId - Packing state id.
738 
739  Return:
740  Packed buffer.
741  """
742  buf = self.nmPackFieldHdr(fielddef, val, stateId)
743  buf += PackP32(val, endian=self.mEndian)
744  if self.mTrace: self.TraceField(fielddef, val, buf, stateId)
745  return buf
def TraceField(self, fielddef, fval, buf, stateId, fp=sys.stderr)
def nmPackP32(self, fielddef, val, stateId)
def nmPackFieldHdr(self, fielddef, val, stateId)
def PackP32(val, endian='big')
Definition: NetMsgsLib.py:429
def NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmPackP64 (   self,
  fielddef,
  val,
  stateId 
)
Pack 64-bit pointer field.

Pointer is always packed in natvie byte order.

Parameters:
  fielddef  - Field definition.
  val       - Field value.
  stateId   - Packing state id.

Return:
  Packed buffer.

Definition at line 749 of file NetMsgsLibStreamBuf.py.

References NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.mEndian, NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.mTrace, NetMsgs.NetMsgsLibFlat.NetMsgsFlat.nmPackFieldHdr(), NetMsgs.NetMsgsLibITV.NetMsgsITV.nmPackFieldHdr(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmPackFieldHdr(), NetMsgs.NetMsgsLib.PackP64(), and NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.TraceField().

749  def nmPackP64(self, fielddef, val, stateId):
750  """ Pack 64-bit pointer field.
751 
752  Pointer is always packed in natvie byte order.
753 
754  Parameters:
755  fielddef - Field definition.
756  val - Field value.
757  stateId - Packing state id.
758 
759  Return:
760  Packed buffer.
761  """
762  buf = self.nmPackFieldHdr(fielddef, val, stateId)
763  buf += PackP64(val, endian=self.mEndian)
764  if self.mTrace: self.TraceField(fielddef, val, buf, stateId)
765  return buf
def nmPackP64(self, fielddef, val, stateId)
def PackP64(val, endian='big')
Definition: NetMsgsLib.py:464
def TraceField(self, fielddef, fval, buf, stateId, fp=sys.stderr)
def nmPackFieldHdr(self, fielddef, val, stateId)
def NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmPackPad (   self,
  fielddef,
  val,
  stateId 
)
Pack pad byte(s). 

Count pad bytes are packed.

Parameters:
  fielddef  - Field definition.
  val       - Field value(s) - ignored.
  stateId   - Packing state id.

Return:
  Packed buffer.

Definition at line 487 of file NetMsgsLibStreamBuf.py.

References NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.mTrace, NetMsgs.NetMsgsLib.PackU8(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.StateFieldSet(), and NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.TraceField().

487  def nmPackPad(self, fielddef, val, stateId):
488  """ Pack pad byte(s).
489 
490  Count pad bytes are packed.
491 
492  Parameters:
493  fielddef - Field definition.
494  val - Field value(s) - ignored.
495  stateId - Packing state id.
496 
497  Return:
498  Packed buffer.
499  """
500  count = fielddef['count']
501  buf = ''
502  i = 0
503  while i < count:
504  buf += PackU8(0)
505  i += 1
506  self.StateFieldSet(stateId, count=count)
507  if self.mTrace:
508  self.TraceField(fielddef, 0, buf, stateId)
509  return buf
def nmPackPad(self, fielddef, val, stateId)
def StateFieldSet(self, stateId, keypath, kwargs)
def PackU8(val, endian='big')
Definition: NetMsgsLib.py:229
def TraceField(self, fielddef, fval, buf, stateId, fp=sys.stderr)
def NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmPackS16 (   self,
  fielddef,
  val,
  stateId 
)
Pack 16-bit signed integer field.

Parameters:
  fielddef  - Field definition.
  val       - Field value.
  stateId   - Packing state id.

Return:
  Packed buffer.

Definition at line 603 of file NetMsgsLibStreamBuf.py.

References NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.mEndian, NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.mTrace, NetMsgs.NetMsgsLibFlat.NetMsgsFlat.nmPackFieldHdr(), NetMsgs.NetMsgsLibITV.NetMsgsITV.nmPackFieldHdr(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmPackFieldHdr(), NetMsgs.NetMsgsLib.PackS16(), and NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.TraceField().

603  def nmPackS16(self, fielddef, val, stateId):
604  """ Pack 16-bit signed integer field.
605 
606  Parameters:
607  fielddef - Field definition.
608  val - Field value.
609  stateId - Packing state id.
610 
611  Return:
612  Packed buffer.
613  """
614  buf = self.nmPackFieldHdr(fielddef, val, stateId)
615  buf += PackS16(val, endian=self.mEndian)
616  if self.mTrace: self.TraceField(fielddef, val, buf, stateId)
617  return buf
def TraceField(self, fielddef, fval, buf, stateId, fp=sys.stderr)
def nmPackS16(self, fielddef, val, stateId)
def nmPackFieldHdr(self, fielddef, val, stateId)
def PackS16(val, endian='big')
Definition: NetMsgsLib.py:284
def NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmPackS32 (   self,
  fielddef,
  val,
  stateId 
)
Pack 32-bit signed integer field.

Parameters:
  fielddef  - Field definition.
  val       - Field value.
  stateId   - Packing state id.

Return:
  Packed buffer.

Definition at line 639 of file NetMsgsLibStreamBuf.py.

References NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.mEndian, NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.mTrace, NetMsgs.NetMsgsLibFlat.NetMsgsFlat.nmPackFieldHdr(), NetMsgs.NetMsgsLibITV.NetMsgsITV.nmPackFieldHdr(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmPackFieldHdr(), NetMsgs.NetMsgsLib.PackS32(), and NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.TraceField().

639  def nmPackS32(self, fielddef, val, stateId):
640  """ Pack 32-bit signed integer field.
641 
642  Parameters:
643  fielddef - Field definition.
644  val - Field value.
645  stateId - Packing state id.
646 
647  Return:
648  Packed buffer.
649  """
650  buf = self.nmPackFieldHdr(fielddef, val, stateId)
651  buf += PackS32(val, endian=self.mEndian)
652  if self.mTrace: self.TraceField(fielddef, val, buf, stateId)
653  return buf
def nmPackS32(self, fielddef, val, stateId)
def PackS32(val, endian='big')
Definition: NetMsgsLib.py:318
def TraceField(self, fielddef, fval, buf, stateId, fp=sys.stderr)
def nmPackFieldHdr(self, fielddef, val, stateId)
def NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmPackS64 (   self,
  fielddef,
  val,
  stateId 
)
Pack 64-bit signed integer field.

Parameters:
  fielddef  - Field definition.
  val       - Field value.
  stateId   - Packing state id.

Return:
  Packed buffer.

Definition at line 675 of file NetMsgsLibStreamBuf.py.

References NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.mEndian, NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.mTrace, NetMsgs.NetMsgsLibFlat.NetMsgsFlat.nmPackFieldHdr(), NetMsgs.NetMsgsLibITV.NetMsgsITV.nmPackFieldHdr(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmPackFieldHdr(), NetMsgs.NetMsgsLib.PackS64(), and NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.TraceField().

675  def nmPackS64(self, fielddef, val, stateId):
676  """ Pack 64-bit signed integer field.
677 
678  Parameters:
679  fielddef - Field definition.
680  val - Field value.
681  stateId - Packing state id.
682 
683  Return:
684  Packed buffer.
685  """
686  buf = self.nmPackFieldHdr(fielddef, val, stateId)
687  buf += PackS64(val, endian=self.mEndian)
688  if self.mTrace: self.TraceField(fielddef, val, buf, stateId)
689  return buf
def TraceField(self, fielddef, fval, buf, stateId, fp=sys.stderr)
def nmPackFieldHdr(self, fielddef, val, stateId)
def nmPackS64(self, fielddef, val, stateId)
def PackS64(val, endian='big')
Definition: NetMsgsLib.py:361
def NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmPackS8 (   self,
  fielddef,
  val,
  stateId 
)
Pack 8-bit signed integer field.

Parameters:
  fielddef  - Field definition.
  val       - Field value.
  stateId   - Packing state id.

Return:
  Packed buffer.

Definition at line 567 of file NetMsgsLibStreamBuf.py.

References NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.mEndian, NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.mTrace, NetMsgs.NetMsgsLibFlat.NetMsgsFlat.nmPackFieldHdr(), NetMsgs.NetMsgsLibITV.NetMsgsITV.nmPackFieldHdr(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmPackFieldHdr(), NetMsgs.NetMsgsLib.PackS8(), and NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.TraceField().

567  def nmPackS8(self, fielddef, val, stateId):
568  """ Pack 8-bit signed integer field.
569 
570  Parameters:
571  fielddef - Field definition.
572  val - Field value.
573  stateId - Packing state id.
574 
575  Return:
576  Packed buffer.
577  """
578  buf = self.nmPackFieldHdr(fielddef, val, stateId)
579  buf += PackS8(val, endian=self.mEndian)
580  if self.mTrace: self.TraceField(fielddef, val, buf, stateId)
581  return buf
def nmPackS8(self, fielddef, val, stateId)
def TraceField(self, fielddef, fval, buf, stateId, fp=sys.stderr)
def PackS8(val, endian='big')
Definition: NetMsgsLib.py:248
def nmPackFieldHdr(self, fielddef, val, stateId)
def NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmPackStream (   self,
  msgdef,
  fvals,
  stateId 
)
Pack a stream of fields.

Parameters:
  msgdef    - Message definition.
  fvals     - Dictionary of associated field values.
  stateId   - Packing state id.

Return:
  Packed buffer.

Definition at line 866 of file NetMsgsLibStreamBuf.py.

References NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.mFuncMap, NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.PACKFUNC, NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.SETFUNC, NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.StateFieldPop(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.StateFieldPush(), and NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.StateFieldSet().

Referenced by NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmPackMsg(), and NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmPackStruct().

866  def nmPackStream(self, msgdef, fvals, stateId):
867  """ Pack a stream of fields.
868 
869  Parameters:
870  msgdef - Message definition.
871  fvals - Dictionary of associated field values.
872  stateId - Packing state id.
873 
874  Return:
875  Packed buffer.
876  """
877  msgname = msgdef['name']
878  fdeflist = msgdef['fielddef']
879  count = len(fdeflist)
880  max_count = msgdef['max_count']
881  self.StateFieldSet(stateId, count=max_count)
882  buf = ''
883  i = 0
884  while i < count:
885  fielddef = fdeflist[i]
886  fname = fielddef['name']
887  fid = fielddef['fid']
888  ftype = fielddef['ftype']
889  if ftype == nmBase.NMFCode('pad'): # pad field
890  val = 0
891  else:
892  val = fvals.get(fname, None)
893  self.StateFieldPush(stateId, fname=fname, fid=fid, ftype=ftype)
894  val = self.mFuncMap[ftype][self.SETFUNC](fielddef, val, stateId)
895  buf += self.mFuncMap[ftype][self.PACKFUNC](fielddef, val, stateId)
896  self.StateFieldPop(stateId)
897  i += 1
898  return buf
def StateFieldSet(self, stateId, keypath, kwargs)
def nmPackStream(self, msgdef, fvals, stateId)
mFuncMap
Field Code to Function Mappings.
def NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmPackString (   self,
  fielddef,
  val,
  stateId 
)
Pack variable length string into fixed-size field.

Field length is fixed max_count bytes. If length of string is less
than max_count, the value is right padded with zeros.

Parameters:
  fielddef  - Field definition.
  val       - Field value.
  stateId   - Packing state id.

Return:
  Packed buffer.

Definition at line 769 of file NetMsgsLibStreamBuf.py.

References NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.ChkReqFValType(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.Error(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.mTrace, NetMsgs.NetMsgsLibFlat.NetMsgsFlat.nmPackFieldHdr(), NetMsgs.NetMsgsLibITV.NetMsgsITV.nmPackFieldHdr(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmPackFieldHdr(), NetMsgs.NetMsgsLib.PackString(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.StateFieldSet(), and NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.TraceField().

769  def nmPackString(self, fielddef, val, stateId):
770  """ Pack variable length string into fixed-size field.
771 
772  Field length is fixed max_count bytes. If length of string is less
773  than max_count, the value is right padded with zeros.
774 
775  Parameters:
776  fielddef - Field definition.
777  val - Field value.
778  stateId - Packing state id.
779 
780  Return:
781  Packed buffer.
782  """
783  self.ChkReqFValType(fielddef, val, stateId=stateId)
784  count = len(val)
785  max_count = fielddef['max_count']
786  if count > max_count:
787  self.Error("%s" % fielddef['name'],
788  "%s %u > %u" % (EMsgStringRange, count, max_count),
789  stateId=stateId)
790  self.StateFieldSet(stateId, count=max_count)
791  buf = self.nmPackFieldHdr(fielddef, val, stateId)
792  buf += PackString(val, max_count)
793  if self.mTrace: self.TraceField(fielddef, val, buf, stateId)
794  return buf
def ChkReqFValType(self, fielddef, fval, stateId=None)
def StateFieldSet(self, stateId, keypath, kwargs)
def TraceField(self, fielddef, fval, buf, stateId, fp=sys.stderr)
def PackString(val, count=None)
Definition: NetMsgsLib.py:493
def nmPackString(self, fielddef, val, stateId)
def nmPackFieldHdr(self, fielddef, val, stateId)
def NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmPackStruct (   self,
  fielddef,
  fvals,
  stateId 
)
Pack structure field.

Parameters:
  fielddef  - Field definition.
  fvals     - Dictionary of associated field values.
  stateId   - Packing state id.

Return:
  Packed buffer.

Definition at line 798 of file NetMsgsLibStreamBuf.py.

References NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.ChkReqFValType(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.mTrace, NetMsgs.NetMsgsLibFlat.NetMsgsFlat.nmPackFieldHdr(), NetMsgs.NetMsgsLibITV.NetMsgsITV.nmPackFieldHdr(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmPackFieldHdr(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmPackStream(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.StateFieldSet(), and NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.TraceField().

798  def nmPackStruct(self, fielddef, fvals, stateId):
799  """ Pack structure field.
800 
801  Parameters:
802  fielddef - Field definition.
803  fvals - Dictionary of associated field values.
804  stateId - Packing state id.
805 
806  Return:
807  Packed buffer.
808  """
809  self.ChkReqFValType(fielddef, fvals, stateId=stateId)
810  msgdef = fielddef['msgdef']
811  max_count = msgdef['max_count']
812  self.StateFieldSet(stateId, count=max_count)
813  buf = self.nmPackFieldHdr(fielddef, fvals, stateId)
814  if self.mTrace: self.TraceField(fielddef, fvals, buf, stateId)
815  buf += self.nmPackStream(msgdef, fvals, stateId)
816  return buf
def ChkReqFValType(self, fielddef, fval, stateId=None)
def nmPackStruct(self, fielddef, fvals, stateId)
def StateFieldSet(self, stateId, keypath, kwargs)
def nmPackStream(self, msgdef, fvals, stateId)
def TraceField(self, fielddef, fval, buf, stateId, fp=sys.stderr)
def nmPackFieldHdr(self, fielddef, val, stateId)
def NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmPackU16 (   self,
  fielddef,
  val,
  stateId 
)
Pack 16-bit unsigned integer field.

Parameters:
  fielddef  - Field definition.
  val       - Field value.
  stateId   - Packing state id.

Return:
  Packed buffer.

Definition at line 585 of file NetMsgsLibStreamBuf.py.

References NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.mEndian, NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.mTrace, NetMsgs.NetMsgsLibFlat.NetMsgsFlat.nmPackFieldHdr(), NetMsgs.NetMsgsLibITV.NetMsgsITV.nmPackFieldHdr(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmPackFieldHdr(), NetMsgs.NetMsgsLib.PackU16(), and NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.TraceField().

585  def nmPackU16(self, fielddef, val, stateId):
586  """ Pack 16-bit unsigned integer field.
587 
588  Parameters:
589  fielddef - Field definition.
590  val - Field value.
591  stateId - Packing state id.
592 
593  Return:
594  Packed buffer.
595  """
596  buf = self.nmPackFieldHdr(fielddef, val, stateId)
597  buf += PackU16(val, endian=self.mEndian)
598  if self.mTrace: self.TraceField(fielddef, val, buf, stateId)
599  return buf
def PackU16(val, endian='big')
Definition: NetMsgsLib.py:267
def nmPackU16(self, fielddef, val, stateId)
def TraceField(self, fielddef, fval, buf, stateId, fp=sys.stderr)
def nmPackFieldHdr(self, fielddef, val, stateId)
def NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmPackU32 (   self,
  fielddef,
  val,
  stateId 
)
Pack 32-bit unsigned integer field.

Parameters:
  fielddef  - Field definition.
  val       - Field value.
  stateId   - Packing state id.

Return:
  Packed buffer.

Definition at line 621 of file NetMsgsLibStreamBuf.py.

References NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.mEndian, NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.mTrace, NetMsgs.NetMsgsLibFlat.NetMsgsFlat.nmPackFieldHdr(), NetMsgs.NetMsgsLibITV.NetMsgsITV.nmPackFieldHdr(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmPackFieldHdr(), NetMsgs.NetMsgsLib.PackU32(), and NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.TraceField().

621  def nmPackU32(self, fielddef, val, stateId):
622  """ Pack 32-bit unsigned integer field.
623 
624  Parameters:
625  fielddef - Field definition.
626  val - Field value.
627  stateId - Packing state id.
628 
629  Return:
630  Packed buffer.
631  """
632  buf = self.nmPackFieldHdr(fielddef, val, stateId)
633  buf += PackU32(val, endian=self.mEndian)
634  if self.mTrace: self.TraceField(fielddef, val, buf, stateId)
635  return buf
def PackU32(val, endian='big')
Definition: NetMsgsLib.py:301
def nmPackU32(self, fielddef, val, stateId)
def TraceField(self, fielddef, fval, buf, stateId, fp=sys.stderr)
def nmPackFieldHdr(self, fielddef, val, stateId)
def NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmPackU64 (   self,
  fielddef,
  val,
  stateId 
)
Pack 64-bit unsigned integer field.

Parameters:
  fielddef  - Field definition.
  val       - Field value.
  stateId   - Packing state id.

Return:
  Packed buffer.

Definition at line 657 of file NetMsgsLibStreamBuf.py.

References NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.mEndian, NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.mTrace, NetMsgs.NetMsgsLibFlat.NetMsgsFlat.nmPackFieldHdr(), NetMsgs.NetMsgsLibITV.NetMsgsITV.nmPackFieldHdr(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmPackFieldHdr(), NetMsgs.NetMsgsLib.PackU64(), and NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.TraceField().

657  def nmPackU64(self, fielddef, val, stateId):
658  """ Pack 64-bit unsigned integer field.
659 
660  Parameters:
661  fielddef - Field definition.
662  val - Field value.
663  stateId - Packing state id.
664 
665  Return:
666  Packed buffer.
667  """
668  buf = self.nmPackFieldHdr(fielddef, val, stateId)
669  buf += PackU64(val, endian=self.mEndian)
670  if self.mTrace: self.TraceField(fielddef, val, buf, stateId)
671  return buf
def PackU64(val, endian='big')
Definition: NetMsgsLib.py:335
def nmPackU64(self, fielddef, val, stateId)
def TraceField(self, fielddef, fval, buf, stateId, fp=sys.stderr)
def nmPackFieldHdr(self, fielddef, val, stateId)
def NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmPackU8 (   self,
  fielddef,
  val,
  stateId 
)
Pack 8-bit unsigned integer field.

Parameters:
  fielddef  - Field definition.
  val       - Field value.
  stateId   - Packing state id.

Return:
  Packed buffer.

Definition at line 549 of file NetMsgsLibStreamBuf.py.

References NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.mEndian, NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.mTrace, NetMsgs.NetMsgsLibFlat.NetMsgsFlat.nmPackFieldHdr(), NetMsgs.NetMsgsLibITV.NetMsgsITV.nmPackFieldHdr(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmPackFieldHdr(), NetMsgs.NetMsgsLib.PackU8(), and NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.TraceField().

549  def nmPackU8(self, fielddef, val, stateId):
550  """ Pack 8-bit unsigned integer field.
551 
552  Parameters:
553  fielddef - Field definition.
554  val - Field value.
555  stateId - Packing state id.
556 
557  Return:
558  Packed buffer.
559  """
560  buf = self.nmPackFieldHdr(fielddef, val, stateId)
561  buf += PackU8(val, endian=self.mEndian)
562  if self.mTrace: self.TraceField(fielddef, val, buf, stateId)
563  return buf
def nmPackU8(self, fielddef, val, stateId)
def PackU8(val, endian='big')
Definition: NetMsgsLib.py:229
def TraceField(self, fielddef, fval, buf, stateId, fp=sys.stderr)
def nmPackFieldHdr(self, fielddef, val, stateId)
def NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmPackVector (   self,
  fielddef,
  vallist,
  stateId 
)
Pack variable vector into fixed-size field.

Vector length is fixed max_count bytes. If length is less than
max_count, the value is right padded with vector items of zero value.

Parameters:
  fielddef  - Field definition.
  vallist   - Vector (list) of vector item values.
  stateId   - Packing state id.

Return:
  Packed buffer.

Definition at line 820 of file NetMsgsLibStreamBuf.py.

References NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.ChkReqFValType(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.Error(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.mFuncMap, NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.mTrace, NetMsgs.NetMsgsLibFlat.NetMsgsFlat.nmPackFieldHdr(), NetMsgs.NetMsgsLibITV.NetMsgsITV.nmPackFieldHdr(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmPackFieldHdr(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.PACKFUNC, NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.SETFUNC, NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.StateFieldPop(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.StateFieldPush(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.StateFieldSet(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.TraceField(), and NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.ZeroFType().

820  def nmPackVector(self, fielddef, vallist, stateId):
821  """ Pack variable vector into fixed-size field.
822 
823  Vector length is fixed max_count bytes. If length is less than
824  max_count, the value is right padded with vector items of zero value.
825 
826  Parameters:
827  fielddef - Field definition.
828  vallist - Vector (list) of vector item values.
829  stateId - Packing state id.
830 
831  Return:
832  Packed buffer.
833  """
834  self.ChkReqFValType(fielddef, vallist, stateId=stateId)
835  vdef = fielddef['vdef']
836  vname = vdef['name']
837  vtype = vdef['ftype']
838  count = len(vallist)
839  max_count = fielddef['max_count']
840  if count > max_count:
841  self.Error("%s" % fielddef['name'],
842  "%s %u > %u" % (EMsgVectorRange, count, max_count),
843  stateId=stateId)
844  self.StateFieldSet(stateId, count=max_count)
845  buf = self.nmPackFieldHdr(fielddef, vallist, stateId)
846  if self.mTrace: self.TraceField(fielddef, vallist, buf, stateId)
847  setfunc = self.mFuncMap[vtype][self.SETFUNC]
848  packfunc = self.mFuncMap[vtype][self.PACKFUNC]
849  i = 0
850  self.StateFieldPush(stateId, fname=vname, fid=0, ftype=vtype)
851  for val in vallist:
852  self.StateFieldSet(stateId, i=i)
853  val = setfunc(vdef, val, stateId)
854  buf += packfunc(vdef, val, stateId)
855  i += 1
856  zval = self.ZeroFType(vdef)
857  while i < max_count:
858  self.StateFieldSet(stateId, i=i)
859  buf += packfunc(vdef, zval, stateId)
860  i += 1
861  self.StateFieldPop(stateId)
862  return buf
def ChkReqFValType(self, fielddef, fval, stateId=None)
def StateFieldSet(self, stateId, keypath, kwargs)
mFuncMap
Field Code to Function Mappings.
def TraceField(self, fielddef, fval, buf, stateId, fp=sys.stderr)
def nmPackVector(self, fielddef, vallist, stateId)
def nmPackFieldHdr(self, fielddef, val, stateId)
def NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmSetFPN (   self,
  fielddef,
  val,
  stateId 
)
Set floating-point number value and check any contraints.

Parameter:
  fielddef  - Field definition.
  val       - FPN field value.
  stateId   - State id.

Return:
  (Converted) field value.

Definition at line 1553 of file NetMsgsLibStreamBuf.py.

References NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.Error().

1553  def nmSetFPN(self, fielddef, val, stateId):
1554  """ Set floating-point number value and check any contraints.
1555 
1556  Parameter:
1557  fielddef - Field definition.
1558  val - FPN field value.
1559  stateId - State id.
1560 
1561  Return:
1562  (Converted) field value.
1563  """
1564  val = fielddef.get('const', val)
1565  if val is None:
1566  self.Error("%s" % fielddef['name'], EMsgNoFVal, stateId=stateId)
1567  min = fielddef.get('min', val)
1568  max = fielddef.get('max', val)
1569  if (val < min) or (val > max):
1570  self.Error("%s=%s" % (fielddef['name'], repr(val)),
1571  "%s %s <= number <= %s" % (EMsgFPNRange, repr(min), repr(max)),
1572  stateId=stateId)
1573  return val
def nmSetFPN(self, fielddef, val, stateId)
def NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmSetInt (   self,
  fielddef,
  val,
  stateId 
)
Set [un]signed integer value and check any contraints.

Parameter:
  fielddef  - Field definition.
  val       - Integer field value.
  stateId   - State id.

Return:
  (Converted) field value.

Definition at line 1529 of file NetMsgsLibStreamBuf.py.

References NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.Error().

1529  def nmSetInt(self, fielddef, val, stateId):
1530  """ Set [un]signed integer value and check any contraints.
1531 
1532  Parameter:
1533  fielddef - Field definition.
1534  val - Integer field value.
1535  stateId - State id.
1536 
1537  Return:
1538  (Converted) field value.
1539  """
1540  val = fielddef.get('const', val)
1541  if val is None:
1542  self.Error("%s" % fielddef['name'], EMsgNoFVal, stateId=stateId)
1543  min = fielddef.get('min', val)
1544  max = fielddef.get('max', val)
1545  if (val < min) or (val > max):
1546  self.Error("%s=%s" % (fielddef['name'], repr(val)),
1547  "%s %s <= number <= %s" % (EMsgIntRange, repr(min), repr(max)),
1548  stateId=stateId)
1549  return val
def nmSetInt(self, fielddef, val, stateId)
def NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmSetStr (   self,
  fielddef,
  val,
  stateId 
)
Set string value and check any contraints.

Parameter:
  fielddef  - Field definition.
  val       - String field value.
  stateId   - State id.

Return:
  (Converted) field value.

Definition at line 1577 of file NetMsgsLibStreamBuf.py.

References NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.Error().

1577  def nmSetStr(self, fielddef, val, stateId):
1578  """ Set string value and check any contraints.
1579 
1580  Parameter:
1581  fielddef - Field definition.
1582  val - String field value.
1583  stateId - State id.
1584 
1585  Return:
1586  (Converted) field value.
1587  """
1588  val = fielddef.get('const', val)
1589  if val is None:
1590  self.Error("%s" % fielddef['name'], EMsgNoFVal, stateId=stateId)
1591  return val
def nmSetStr(self, fielddef, val, stateId)
def NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmUnpackBool (   self,
  fielddef,
  buf,
  offset,
  fvals,
  stateId 
)
Unpack boolean field from the buffer.

Parameters:
  fielddef  - Field definition.
  buf       - Buffer to unpack.
  offset    - Buffer offset where unpacking begins.
  fvals     - Dictionary to hold unpacked field values.
  stateId   - Unpacking state id.

Return:
  New buffer offset.

Definition at line 998 of file NetMsgsLibStreamBuf.py.

References NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.mEndian, NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.mTrace, NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.StateFieldGet(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.StateFieldSet(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.TraceField(), and NetMsgs.NetMsgsLib.UnpackBool().

998  def nmUnpackBool(self, fielddef, buf, offset, fvals, stateId):
999  """ Unpack boolean field from the buffer.
1000 
1001  Parameters:
1002  fielddef - Field definition.
1003  buf - Buffer to unpack.
1004  offset - Buffer offset where unpacking begins.
1005  fvals - Dictionary to hold unpacked field values.
1006  stateId - Unpacking state id.
1007 
1008  Return:
1009  New buffer offset.
1010  """
1011  fname = fielddef['name']
1012  val, offset = UnpackBool(buf, offset=offset, endian=self.mEndian)
1013  if not self.StateFieldGet(stateId, 'fctl', 'noexec'):
1014  fvals[fname] = val
1015  self.StateFieldSet(stateId, 'trace', trace_end=offset)
1016  if self.mTrace: self.TraceField(fielddef, val, buf, stateId)
1017  return offset
def UnpackBool(buf, offset=0, endian='big')
Definition: NetMsgsLib.py:562
def StateFieldSet(self, stateId, keypath, kwargs)
def TraceField(self, fielddef, fval, buf, stateId, fp=sys.stderr)
def nmUnpackBool(self, fielddef, buf, offset, fvals, stateId)
def NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmUnpackChar (   self,
  fielddef,
  buf,
  offset,
  fvals,
  stateId 
)
Unpack one character field from the buffer.

Parameters:
  fielddef  - Field definition.
  buf       - Buffer to unpack.
  offset    - Buffer offset where unpacking begins.
  fvals     - Dictionary to hold unpacked field values.
  stateId   - Unpacking state id.

Return:
  New buffer offset.

Definition at line 1021 of file NetMsgsLibStreamBuf.py.

References NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.mEndian, NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.mTrace, NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.StateFieldGet(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.StateFieldSet(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.TraceField(), and NetMsgs.NetMsgsLib.UnpackChar().

1021  def nmUnpackChar(self, fielddef, buf, offset, fvals, stateId):
1022  """ Unpack one character field from the buffer.
1023 
1024  Parameters:
1025  fielddef - Field definition.
1026  buf - Buffer to unpack.
1027  offset - Buffer offset where unpacking begins.
1028  fvals - Dictionary to hold unpacked field values.
1029  stateId - Unpacking state id.
1030 
1031  Return:
1032  New buffer offset.
1033  """
1034  fname = fielddef['name']
1035  val, offset = UnpackChar(buf, offset=offset, endian=self.mEndian)
1036  if not self.StateFieldGet(stateId, 'fctl', 'noexec'):
1037  fvals[fname] = val
1038  self.StateFieldSet(stateId, 'trace', trace_end=offset)
1039  if self.mTrace: self.TraceField(fielddef, val, buf, stateId)
1040  return offset
def UnpackChar(buf, offset=0, endian='big')
Definition: NetMsgsLib.py:581
def StateFieldSet(self, stateId, keypath, kwargs)
def TraceField(self, fielddef, fval, buf, stateId, fp=sys.stderr)
def nmUnpackChar(self, fielddef, buf, offset, fvals, stateId)
def NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmUnpackF32 (   self,
  fielddef,
  buf,
  offset,
  fvals,
  stateId 
)
Unpack 32-bit floating-point number field from the buffer.

Parameters:
  fielddef  - Field definition.
  buf       - Buffer to unpack.
  offset    - Buffer offset where unpacking begins.
  fvals     - Dictionary to hold unpacked field values.
  stateId   - Unpacking state id.

Return:
  New buffer offset.

Definition at line 1228 of file NetMsgsLibStreamBuf.py.

References NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.mEndian, NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.mTrace, NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.StateFieldGet(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.StateFieldSet(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.TraceField(), and NetMsgs.NetMsgsLib.UnpackF32().

1228  def nmUnpackF32(self, fielddef, buf, offset, fvals, stateId):
1229  """ Unpack 32-bit floating-point number field from the buffer.
1230 
1231  Parameters:
1232  fielddef - Field definition.
1233  buf - Buffer to unpack.
1234  offset - Buffer offset where unpacking begins.
1235  fvals - Dictionary to hold unpacked field values.
1236  stateId - Unpacking state id.
1237 
1238  Return:
1239  New buffer offset.
1240  """
1241  fname = fielddef['name']
1242  val, offset = UnpackF32(buf, offset=offset, endian=self.mEndian)
1243  if not self.StateFieldGet(stateId, 'fctl', 'noexec'):
1244  fvals[fname] = val
1245  self.StateFieldSet(stateId, 'trace', trace_end=offset)
1246  if self.mTrace: self.TraceField(fielddef, val, buf, stateId)
1247  return offset
def StateFieldSet(self, stateId, keypath, kwargs)
def UnpackF32(buf, offset=0, endian='big')
Definition: NetMsgsLib.py:782
def TraceField(self, fielddef, fval, buf, stateId, fp=sys.stderr)
def nmUnpackF32(self, fielddef, buf, offset, fvals, stateId)
def NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmUnpackF64 (   self,
  fielddef,
  buf,
  offset,
  fvals,
  stateId 
)
Unpack 64-bit floating-point number field from the buffer.

Parameters:
  fielddef  - Field definition.
  buf       - Buffer to unpack.
  offset    - Buffer offset where unpacking begins.
  fvals     - Dictionary to hold unpacked field values.
  stateId   - Unpacking state id.

Return:
  New buffer offset.

Definition at line 1251 of file NetMsgsLibStreamBuf.py.

References NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.mEndian, NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.mTrace, NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.StateFieldGet(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.StateFieldSet(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.TraceField(), and NetMsgs.NetMsgsLib.UnpackF64().

1251  def nmUnpackF64(self, fielddef, buf, offset, fvals, stateId):
1252  """ Unpack 64-bit floating-point number field from the buffer.
1253 
1254  Parameters:
1255  fielddef - Field definition.
1256  buf - Buffer to unpack.
1257  offset - Buffer offset where unpacking begins.
1258  fvals - Dictionary to hold unpacked field values.
1259  stateId - Unpacking state id.
1260 
1261  Return:
1262  New buffer offset.
1263  """
1264  fname = fielddef['name']
1265  val, offset = UnpackF64(buf, offset=offset, endian=self.mEndian)
1266  if not self.StateFieldGet(stateId, 'fctl', 'noexec'):
1267  fvals[fname] = val
1268  self.StateFieldSet(stateId, 'trace', trace_end=offset)
1269  if self.mTrace: self.TraceField(fielddef, val, buf, stateId)
1270  return offset
def StateFieldSet(self, stateId, keypath, kwargs)
def UnpackF64(buf, offset=0, endian='big')
Definition: NetMsgsLib.py:803
def nmUnpackF64(self, fielddef, buf, offset, fvals, stateId)
def TraceField(self, fielddef, fval, buf, stateId, fp=sys.stderr)
def NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmUnpackFieldHdr (   self,
  buf,
  offset,
  stateId 
)
Unpack field header. 

No header is unpacked in base function.

Parameters:
  buf       - Buffer to unpack.
  offset    - Buffer offset where unpacking begins.
  stateId   - Unpacking state id.

Return:
  New buffer offset.

Definition at line 951 of file NetMsgsLibStreamBuf.py.

References NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.StateFieldSet().

Referenced by NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmUnpackStream().

951  def nmUnpackFieldHdr(self, buf, offset, stateId):
952  """ Unpack field header.
953 
954  No header is unpacked in base function.
955 
956  Parameters:
957  buf - Buffer to unpack.
958  offset - Buffer offset where unpacking begins.
959  stateId - Unpacking state id.
960 
961  Return:
962  New buffer offset.
963  """
964  fhdr = self.StateFieldSet(stateId, fhdr={})
965  return offset
def StateFieldSet(self, stateId, keypath, kwargs)
def nmUnpackFieldHdr(self, buf, offset, stateId)
def NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmUnpackMsg (   self,
  msgid,
  buf,
  fvals 
)
Unpack a message from the buffer.

Parameters:
  msgid     - Message identifier.
  buf       - Buffer to unpack.
  fvals     - Dictionary to hold unpacked field values.

Return:
  Number of bytes unpacked.

Definition at line 1479 of file NetMsgsLibStreamBuf.py.

References NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.Error(), NetMsgs.NetMsgsGenPy.NetMsgsGenPy.mMsgDefSet, NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.mMsgDefSet, NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.mTrace, NetMsgs.NetMsgsLibFlat.NetMsgsFlat.nmUnpackMsgHdr(), NetMsgs.NetMsgsLibITV.NetMsgsITV.nmUnpackMsgHdr(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmUnpackMsgHdr(), NetMsgs.NetMsgsLibITV.NetMsgsITV.nmUnpackStream(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmUnpackStream(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.StateDelete(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.StateFieldSet(), NetMsgs.NetMsgsLibITV.NetMsgsITV.StateNew(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.StateNew(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.TraceBufBlock(), and NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.TraceStart().

1479  def nmUnpackMsg(self, msgid, buf, fvals):
1480  """ Unpack a message from the buffer.
1481 
1482  Parameters:
1483  msgid - Message identifier.
1484  buf - Buffer to unpack.
1485  fvals - Dictionary to hold unpacked field values.
1486 
1487  Return:
1488  Number of bytes unpacked.
1489  """
1490  try:
1491  msgdef = self.mMsgDefSet[msgid]
1492  except KeyError:
1493  self.Error("MsgDefSet", repr(msgid), EMsgNoMsgDef)
1494  stateId = self.StateNew(msgid, 'unpack')
1495  offset = 0
1496  offset = self.nmUnpackMsgHdr(msgid, msgdef, buf, offset, fvals, stateId)
1497  self.StateFieldSet(stateId, 'trace', trace_end=offset)
1498  if self.mTrace:
1499  self.TraceStart("Unpacking", msgid, msgdef, buf, stateId)
1500  self.TraceBufBlock("Input", buf, 0)
1501  offset = self.nmUnpackStream(msgdef, buf, offset, fvals, stateId)
1502  self.StateDelete(stateId)
1503  return offset
def StateFieldSet(self, stateId, keypath, kwargs)
def TraceBufBlock(self, preface, buf, start=0, end=None, fp=sys.stderr)
def nmUnpackStream(self, msgdef, buf, offset, fvals, stateId)
def TraceStart(self, preface, msgid, msgdef, buf, stateId, fp=sys.stderr)
def nmUnpackMsgHdr(self, msgid, msgdef, buf, offset, fvals, stateId)
def NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmUnpackMsgHdr (   self,
  msgid,
  msgdef,
  buf,
  offset,
  fvals,
  stateId 
)
Unpack message header. 

No header is unpacked in base function.

Parameters:
  msgid     - Message identifier.
  msgdef    - Message definition.
  buf       - Buffer to unpack.
  offset    - Buffer offset where unpacking begins.
  fvals     - Dictionary to hold unpacked field values.
  stateId   - Unpacking state id.

Return:
  New buffer offset.

Definition at line 1458 of file NetMsgsLibStreamBuf.py.

References NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.StateSet().

Referenced by NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmUnpackMsg().

1458  def nmUnpackMsgHdr(self, msgid, msgdef, buf, offset, fvals, stateId):
1459  """ Unpack message header.
1460 
1461  No header is unpacked in base function.
1462 
1463  Parameters:
1464  msgid - Message identifier.
1465  msgdef - Message definition.
1466  buf - Buffer to unpack.
1467  offset - Buffer offset where unpacking begins.
1468  fvals - Dictionary to hold unpacked field values.
1469  stateId - Unpacking state id.
1470 
1471  Return:
1472  New buffer offset.
1473  """
1474  self.StateSet(stateId, msghdr={})
1475  return offset
def StateSet(self, stateId, keypath, kwargs)
def nmUnpackMsgHdr(self, msgid, msgdef, buf, offset, fvals, stateId)
def NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmUnpackP32 (   self,
  fielddef,
  buf,
  offset,
  fvals,
  stateId 
)
Unpack 32-bit pointer field from the buffer.

Pointers are unpacked in native byte order.

Parameters:
  fielddef  - Field definition.
  buf       - Buffer to unpack.
  offset    - Buffer offset where unpacking begins.
  fvals     - Dictionary to hold unpacked field values.
  stateId   - Unpacking state id.

Return:
  New buffer offset.

Definition at line 1274 of file NetMsgsLibStreamBuf.py.

References NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.mEndian, NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.mTrace, NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.StateFieldGet(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.StateFieldSet(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.TraceField(), and NetMsgs.NetMsgsLib.UnpackP32().

1274  def nmUnpackP32(self, fielddef, buf, offset, fvals, stateId):
1275  """ Unpack 32-bit pointer field from the buffer.
1276 
1277  Pointers are unpacked in native byte order.
1278 
1279  Parameters:
1280  fielddef - Field definition.
1281  buf - Buffer to unpack.
1282  offset - Buffer offset where unpacking begins.
1283  fvals - Dictionary to hold unpacked field values.
1284  stateId - Unpacking state id.
1285 
1286  Return:
1287  New buffer offset.
1288  """
1289  fname = fielddef['name']
1290  val, offset = UnpackP32(buf, offset=offset, endian=self.mEndian)
1291  if not self.StateFieldGet(stateId, 'fctl', 'noexec'):
1292  fvals[fname] = val
1293  self.StateFieldSet(stateId, 'trace', trace_end=offset)
1294  if self.mTrace: self.TraceField(fielddef, val, buf, stateId)
1295  return offset
def StateFieldSet(self, stateId, keypath, kwargs)
def UnpackP32(buf, offset=0, endian='big')
Definition: NetMsgsLib.py:825
def nmUnpackP32(self, fielddef, buf, offset, fvals, stateId)
def TraceField(self, fielddef, fval, buf, stateId, fp=sys.stderr)
def NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmUnpackP64 (   self,
  fielddef,
  buf,
  offset,
  fvals,
  stateId 
)
Unpack 64-bit pointer field from the buffer.

Pointers are unpacked in native byte order.

Parameters:
  fielddef  - Field definition.
  buf       - Buffer to unpack.
  offset    - Buffer offset where unpacking begins.
  fvals     - Dictionary to hold unpacked field values.
  stateId   - Unpacking state id.

Return:
  New buffer offset.

Definition at line 1299 of file NetMsgsLibStreamBuf.py.

References NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.mEndian, NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.mTrace, NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.StateFieldGet(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.StateFieldSet(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.TraceField(), and NetMsgs.NetMsgsLib.UnpackP64().

1299  def nmUnpackP64(self, fielddef, buf, offset, fvals, stateId):
1300  """ Unpack 64-bit pointer field from the buffer.
1301 
1302  Pointers are unpacked in native byte order.
1303 
1304  Parameters:
1305  fielddef - Field definition.
1306  buf - Buffer to unpack.
1307  offset - Buffer offset where unpacking begins.
1308  fvals - Dictionary to hold unpacked field values.
1309  stateId - Unpacking state id.
1310 
1311  Return:
1312  New buffer offset.
1313  """
1314  fname = fielddef['name']
1315  val, offset = UnpackP64(buf, offset=offset, endian=self.mEndian)
1316  if not self.StateFieldGet(stateId, 'fctl', 'noexec'):
1317  fvals[fname] = val
1318  self.StateFieldSet(stateId, 'trace', trace_end=offset)
1319  if self.mTrace: self.TraceField(fielddef, val, buf, stateId)
1320  return offset
def StateFieldSet(self, stateId, keypath, kwargs)
def nmUnpackP64(self, fielddef, buf, offset, fvals, stateId)
def TraceField(self, fielddef, fval, buf, stateId, fp=sys.stderr)
def UnpackP64(buf, offset=0, endian='big')
Definition: NetMsgsLib.py:852
def NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmUnpackPad (   self,
  fielddef,
  buf,
  offset,
  fvals,
  stateId 
)
Unpack fixed number of pad bytes from the buffer.

No field values are set.

Parameters:
  fielddef  - Field definition.
  buf       - Buffer to unpack.
  offset    - Buffer offset where unpacking begins.
  fvals     - Dictionary to hold unpacked field values.
  stateId   - Unpacking state id.

Return:
  New buffer offset.

Definition at line 969 of file NetMsgsLibStreamBuf.py.

References NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.mTrace, NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.StateFieldSet(), and NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.TraceField().

969  def nmUnpackPad(self, fielddef, buf, offset, fvals, stateId):
970  """ Unpack fixed number of pad bytes from the buffer.
971 
972  No field values are set.
973 
974  Parameters:
975  fielddef - Field definition.
976  buf - Buffer to unpack.
977  offset - Buffer offset where unpacking begins.
978  fvals - Dictionary to hold unpacked field values.
979  stateId - Unpacking state id.
980 
981  Return:
982  New buffer offset.
983  """
984  count = fielddef['count']
985  if len(buf[offset:]) >= count:
986  offset += count
987  else:
988  nmBase.NetMsgsError("unpack pad", EMsgNoMem,
989  "count=%u > buf_size=%u" % (count, len(buf[offset:])),
990  stateId=stateId)
991  self.StateFieldSet(stateId, count=count)
992  self.StateFieldSet(stateId, 'trace', trace_end=offset)
993  if self.mTrace: self.TraceField(fielddef, nmBase.NMPadFVal, buf, stateId)
994  return offset
def nmUnpackPad(self, fielddef, buf, offset, fvals, stateId)
def StateFieldSet(self, stateId, keypath, kwargs)
def TraceField(self, fielddef, fval, buf, stateId, fp=sys.stderr)
def NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmUnpackS16 (   self,
  fielddef,
  buf,
  offset,
  fvals,
  stateId 
)
Unpack 16-bit signed integer field from the buffer.

Parameters:
  fielddef  - Field definition.
  buf       - Buffer to unpack.
  offset    - Buffer offset where unpacking begins.
  fvals     - Dictionary to hold unpacked field values.
  stateId   - Unpacking state id.

Return:
  New buffer offset.

Definition at line 1113 of file NetMsgsLibStreamBuf.py.

References NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.mEndian, NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.mTrace, NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.StateFieldGet(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.StateFieldSet(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.TraceField(), and NetMsgs.NetMsgsLib.UnpackS16().

1113  def nmUnpackS16(self, fielddef, buf, offset, fvals, stateId):
1114  """ Unpack 16-bit signed integer field from the buffer.
1115 
1116  Parameters:
1117  fielddef - Field definition.
1118  buf - Buffer to unpack.
1119  offset - Buffer offset where unpacking begins.
1120  fvals - Dictionary to hold unpacked field values.
1121  stateId - Unpacking state id.
1122 
1123  Return:
1124  New buffer offset.
1125  """
1126  fname = fielddef['name']
1127  val, offset = UnpackS16(buf, offset=offset, endian=self.mEndian)
1128  if not self.StateFieldGet(stateId, 'fctl', 'noexec'):
1129  fvals[fname] = val
1130  self.StateFieldSet(stateId, 'trace', trace_end=offset)
1131  if self.mTrace: self.TraceField(fielddef, val, buf, stateId)
1132  return offset
def StateFieldSet(self, stateId, keypath, kwargs)
def nmUnpackS16(self, fielddef, buf, offset, fvals, stateId)
def TraceField(self, fielddef, fval, buf, stateId, fp=sys.stderr)
def UnpackS16(buf, offset=0, endian='big')
Definition: NetMsgsLib.py:657
def NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmUnpackS32 (   self,
  fielddef,
  buf,
  offset,
  fvals,
  stateId 
)
Unpack 32-bit signed integer field from the buffer.

Parameters:
  fielddef  - Field definition.
  buf       - Buffer to unpack.
  offset    - Buffer offset where unpacking begins.
  fvals     - Dictionary to hold unpacked field values.
  stateId   - Unpacking state id.

Return:
  New buffer offset.

Definition at line 1159 of file NetMsgsLibStreamBuf.py.

References NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.mEndian, NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.mTrace, NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.StateFieldGet(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.StateFieldSet(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.TraceField(), and NetMsgs.NetMsgsLib.UnpackS32().

1159  def nmUnpackS32(self, fielddef, buf, offset, fvals, stateId):
1160  """ Unpack 32-bit signed integer field from the buffer.
1161 
1162  Parameters:
1163  fielddef - Field definition.
1164  buf - Buffer to unpack.
1165  offset - Buffer offset where unpacking begins.
1166  fvals - Dictionary to hold unpacked field values.
1167  stateId - Unpacking state id.
1168 
1169  Return:
1170  New buffer offset.
1171  """
1172  fname = fielddef['name']
1173  val, offset = UnpackS32(buf, offset=offset, endian=self.mEndian)
1174  if not self.StateFieldGet(stateId, 'fctl', 'noexec'):
1175  fvals[fname] = val
1176  self.StateFieldSet(stateId, 'trace', trace_end=offset)
1177  if self.mTrace: self.TraceField(fielddef, val, buf, stateId)
1178  return offset
def StateFieldSet(self, stateId, keypath, kwargs)
def TraceField(self, fielddef, fval, buf, stateId, fp=sys.stderr)
def UnpackS32(buf, offset=0, endian='big')
Definition: NetMsgsLib.py:695
def nmUnpackS32(self, fielddef, buf, offset, fvals, stateId)
def NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmUnpackS64 (   self,
  fielddef,
  buf,
  offset,
  fvals,
  stateId 
)
Unpack 64-bit signed integer field from the buffer.

Parameters:
  fielddef  - Field definition.
  buf       - Buffer to unpack.
  offset    - Buffer offset where unpacking begins.
  fvals     - Dictionary to hold unpacked field values.
  stateId   - Unpacking state id.

Return:
  New buffer offset.

Definition at line 1205 of file NetMsgsLibStreamBuf.py.

References NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.mEndian, NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.mTrace, NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.StateFieldGet(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.StateFieldSet(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.TraceField(), and NetMsgs.NetMsgsLib.UnpackS64().

1205  def nmUnpackS64(self, fielddef, buf, offset, fvals, stateId):
1206  """ Unpack 64-bit signed integer field from the buffer.
1207 
1208  Parameters:
1209  fielddef - Field definition.
1210  buf - Buffer to unpack.
1211  offset - Buffer offset where unpacking begins.
1212  fvals - Dictionary to hold unpacked field values.
1213  stateId - Unpacking state id.
1214 
1215  Return:
1216  New buffer offset.
1217  """
1218  fname = fielddef['name']
1219  val, offset = UnpackS64(buf, offset=offset, endian=self.mEndian)
1220  if not self.StateFieldGet(stateId, 'fctl', 'noexec'):
1221  fvals[fname] = val
1222  self.StateFieldSet(stateId, 'trace', trace_end=offset)
1223  if self.mTrace: self.TraceField(fielddef, val, buf, stateId)
1224  return offset
def StateFieldSet(self, stateId, keypath, kwargs)
def UnpackS64(buf, offset=0, endian='big')
Definition: NetMsgsLib.py:748
def TraceField(self, fielddef, fval, buf, stateId, fp=sys.stderr)
def nmUnpackS64(self, fielddef, buf, offset, fvals, stateId)
def NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmUnpackS8 (   self,
  fielddef,
  buf,
  offset,
  fvals,
  stateId 
)
Unpack 8-bit signed integer field from the buffer.

Parameters:
  fielddef  - Field definition.
  buf       - Buffer to unpack.
  offset    - Buffer offset where unpacking begins.
  fvals     - Dictionary to hold unpacked field values.
  stateId   - Unpacking state id.

Return:
  New buffer offset.

Definition at line 1067 of file NetMsgsLibStreamBuf.py.

References NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.mEndian, NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.mTrace, NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.StateFieldGet(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.StateFieldSet(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.TraceField(), and NetMsgs.NetMsgsLib.UnpackS8().

1067  def nmUnpackS8(self, fielddef, buf, offset, fvals, stateId):
1068  """ Unpack 8-bit signed integer field from the buffer.
1069 
1070  Parameters:
1071  fielddef - Field definition.
1072  buf - Buffer to unpack.
1073  offset - Buffer offset where unpacking begins.
1074  fvals - Dictionary to hold unpacked field values.
1075  stateId - Unpacking state id.
1076 
1077  Return:
1078  New buffer offset.
1079  """
1080  fname = fielddef['name']
1081  val, offset = UnpackS8(buf, offset=offset, endian=self.mEndian)
1082  if not self.StateFieldGet(stateId, 'fctl', 'noexec'):
1083  fvals[fname] = val
1084  self.StateFieldSet(stateId, 'trace', trace_end=offset)
1085  if self.mTrace: self.TraceField(fielddef, val, buf, stateId)
1086  return offset
def nmUnpackS8(self, fielddef, buf, offset, fvals, stateId)
def StateFieldSet(self, stateId, keypath, kwargs)
def UnpackS8(buf, offset=0, endian='big')
Definition: NetMsgsLib.py:619
def TraceField(self, fielddef, fval, buf, stateId, fp=sys.stderr)
def NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmUnpackStream (   self,
  msgdef,
  buf,
  offset,
  fvals,
  stateId 
)
Unpack a field stream from the buffer.

Parameters:
  msgdef    - Message definition.
  buf       - Buffer to unpack.
  offset    - Buffer offset where unpacking begins.
  stateId   - Unpacking state id.

Return:
  New buffer offset.

Definition at line 1422 of file NetMsgsLibStreamBuf.py.

References NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.mFuncMap, NetMsgs.NetMsgsLibFlat.NetMsgsFlat.nmUnpackFieldHdr(), NetMsgs.NetMsgsLibITV.NetMsgsITV.nmUnpackFieldHdr(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmUnpackFieldHdr(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.StateFieldPop(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.StateFieldPush(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.StateFieldSet(), and NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.UNPACKFUNC.

Referenced by NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmUnpackMsg(), and NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmUnpackStruct().

1422  def nmUnpackStream(self, msgdef, buf, offset, fvals, stateId):
1423  """ Unpack a field stream from the buffer.
1424 
1425  Parameters:
1426  msgdef - Message definition.
1427  buf - Buffer to unpack.
1428  offset - Buffer offset where unpacking begins.
1429  stateId - Unpacking state id.
1430 
1431  Return:
1432  New buffer offset.
1433  """
1434  msgname = msgdef['name']
1435  fdeflist = msgdef['fielddef']
1436  max_count = msgdef['max_count']
1437  count = len(fdeflist)
1438  self.StateFieldSet(stateId, count=max_count)
1439  i = 0
1440  while i < count:
1441  fielddef = fdeflist[i]
1442  fname = fielddef['name']
1443  fid = fielddef['fid']
1444  ftype = fielddef['ftype']
1445  unpackfunc = self.mFuncMap[ftype][self.UNPACKFUNC]
1446 
1447  self.StateFieldPush(stateId, fname=fname, fid=fid, ftype=ftype)
1448  self.StateFieldSet(stateId, 'trace', trace_start=offset)
1449  offset = self.nmUnpackFieldHdr(buf, offset, stateId)
1450  offset = unpackfunc(fielddef, buf, offset, fvals, stateId)
1451  self.StateFieldPop(stateId)
1452 
1453  i += 1
1454  return offset
def StateFieldSet(self, stateId, keypath, kwargs)
def nmUnpackStream(self, msgdef, buf, offset, fvals, stateId)
mFuncMap
Field Code to Function Mappings.
def nmUnpackFieldHdr(self, buf, offset, stateId)
def NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmUnpackString (   self,
  fielddef,
  buf,
  offset,
  fvals,
  stateId 
)
Unpack fixed-size string field from the buffer.

Parameters:
  fielddef  - Field definition.
  buf       - Buffer to unpack.
  offset    - Buffer offset where unpacking begins.
  fvals     - Dictionary to hold unpacked field values.
  stateId   - Unpacking state id.

Return:
  New buffer offset.

Definition at line 1324 of file NetMsgsLibStreamBuf.py.

References NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.mTrace, NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.StateFieldGet(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.StateFieldSet(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.TraceField(), and NetMsgs.NetMsgsLib.UnpackString().

1324  def nmUnpackString(self, fielddef, buf, offset, fvals, stateId):
1325  """ Unpack fixed-size string field from the buffer.
1326 
1327  Parameters:
1328  fielddef - Field definition.
1329  buf - Buffer to unpack.
1330  offset - Buffer offset where unpacking begins.
1331  fvals - Dictionary to hold unpacked field values.
1332  stateId - Unpacking state id.
1333 
1334  Return:
1335  New buffer offset.
1336  """
1337  fname = fielddef['name']
1338  max_count = fielddef['max_count']
1339  val, offset = UnpackString(buf, max_count, offset=offset)
1340  val = val.rstrip('\x00')
1341  if not self.StateFieldGet(stateId, 'fctl', 'noexec'):
1342  fvals[fname] = val
1343  self.StateFieldSet(stateId, count=max_count)
1344  self.StateFieldSet(stateId, 'trace', trace_end=offset)
1345  if self.mTrace: self.TraceField(fielddef, val, buf, stateId)
1346  return offset
def StateFieldSet(self, stateId, keypath, kwargs)
def UnpackString(buf, count, offset=0)
Definition: NetMsgsLib.py:889
def nmUnpackString(self, fielddef, buf, offset, fvals, stateId)
def TraceField(self, fielddef, fval, buf, stateId, fp=sys.stderr)
def NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmUnpackStruct (   self,
  fielddef,
  buf,
  offset,
  fvals,
  stateId 
)
Unpack structure field from the buffer.

Parameters:
  fielddef  - Field definition.
  buf       - Buffer to unpack.
  offset    - Buffer offset where unpacking begins.
  fvals     - Dictionary to hold unpacked field values.
  stateId   - Unpacking state id.

Return:
  New buffer offset.

Definition at line 1350 of file NetMsgsLibStreamBuf.py.

References NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.mTrace, NetMsgs.NetMsgsLibITV.NetMsgsITV.nmUnpackStream(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmUnpackStream(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.StateFieldGet(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.StateFieldSet(), and NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.TraceField().

1350  def nmUnpackStruct(self, fielddef, buf, offset, fvals, stateId):
1351  """ Unpack structure field from the buffer.
1352 
1353  Parameters:
1354  fielddef - Field definition.
1355  buf - Buffer to unpack.
1356  offset - Buffer offset where unpacking begins.
1357  fvals - Dictionary to hold unpacked field values.
1358  stateId - Unpacking state id.
1359 
1360  Return:
1361  New buffer offset.
1362  """
1363  fname = fielddef['name']
1364  msgdef = fielddef['msgdef']
1365  max_count = msgdef['max_count']
1366  self.StateFieldSet(stateId, count=max_count)
1367  self.StateFieldSet(stateId, 'trace', trace_end=offset)
1368  if not self.StateFieldGet(stateId, 'fctl', 'noexec'):
1369  fvals[fname] = {}
1370  val = fvals[fname]
1371  else:
1372  val = {}
1373  if self.mTrace: self.TraceField(fielddef, val, buf, stateId)
1374  return self.nmUnpackStream(msgdef, buf, offset, val, stateId)
def nmUnpackStruct(self, fielddef, buf, offset, fvals, stateId)
def StateFieldSet(self, stateId, keypath, kwargs)
def nmUnpackStream(self, msgdef, buf, offset, fvals, stateId)
def TraceField(self, fielddef, fval, buf, stateId, fp=sys.stderr)
def NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmUnpackU16 (   self,
  fielddef,
  buf,
  offset,
  fvals,
  stateId 
)
Unpack 16-bit unsigned integer field from the buffer.

Parameters:
  fielddef  - Field definition.
  buf       - Buffer to unpack.
  offset    - Buffer offset where unpacking begins.
  fvals     - Dictionary to hold unpacked field values.
  stateId   - Unpacking state id.

Return:
  New buffer offset.

Definition at line 1090 of file NetMsgsLibStreamBuf.py.

References NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.mEndian, NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.mTrace, NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.StateFieldGet(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.StateFieldSet(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.TraceField(), and NetMsgs.NetMsgsLib.UnpackU16().

1090  def nmUnpackU16(self, fielddef, buf, offset, fvals, stateId):
1091  """ Unpack 16-bit unsigned integer field from the buffer.
1092 
1093  Parameters:
1094  fielddef - Field definition.
1095  buf - Buffer to unpack.
1096  offset - Buffer offset where unpacking begins.
1097  fvals - Dictionary to hold unpacked field values.
1098  stateId - Unpacking state id.
1099 
1100  Return:
1101  New buffer offset.
1102  """
1103  fname = fielddef['name']
1104  val, offset = UnpackU16(buf, offset=offset, endian=self.mEndian)
1105  if not self.StateFieldGet(stateId, 'fctl', 'noexec'):
1106  fvals[fname] = val
1107  self.StateFieldSet(stateId, 'trace', trace_end=offset)
1108  if self.mTrace: self.TraceField(fielddef, val, buf, stateId)
1109  return offset
def nmUnpackU16(self, fielddef, buf, offset, fvals, stateId)
def StateFieldSet(self, stateId, keypath, kwargs)
def UnpackU16(buf, offset=0, endian='big')
Definition: NetMsgsLib.py:638
def TraceField(self, fielddef, fval, buf, stateId, fp=sys.stderr)
def NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmUnpackU32 (   self,
  fielddef,
  buf,
  offset,
  fvals,
  stateId 
)
Unpack 32-bit unsigned integer field from the buffer.

Parameters:
  fielddef  - Field definition.
  buf       - Buffer to unpack.
  offset    - Buffer offset where unpacking begins.
  fvals     - Dictionary to hold unpacked field values.
  stateId   - Unpacking state id.

Return:
  New buffer offset.

Definition at line 1136 of file NetMsgsLibStreamBuf.py.

References NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.mEndian, NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.mTrace, NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.StateFieldGet(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.StateFieldSet(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.TraceField(), and NetMsgs.NetMsgsLib.UnpackU32().

1136  def nmUnpackU32(self, fielddef, buf, offset, fvals, stateId):
1137  """ Unpack 32-bit unsigned integer field from the buffer.
1138 
1139  Parameters:
1140  fielddef - Field definition.
1141  buf - Buffer to unpack.
1142  offset - Buffer offset where unpacking begins.
1143  fvals - Dictionary to hold unpacked field values.
1144  stateId - Unpacking state id.
1145 
1146  Return:
1147  New buffer offset.
1148  """
1149  fname = fielddef['name']
1150  val, offset = UnpackU32(buf, offset=offset, endian=self.mEndian)
1151  if not self.StateFieldGet(stateId, 'fctl', 'noexec'):
1152  fvals[fname] = val
1153  self.StateFieldSet(stateId, 'trace', trace_end=offset)
1154  if self.mTrace: self.TraceField(fielddef, val, buf, stateId)
1155  return offset
def StateFieldSet(self, stateId, keypath, kwargs)
def UnpackU32(buf, offset=0, endian='big')
Definition: NetMsgsLib.py:676
def nmUnpackU32(self, fielddef, buf, offset, fvals, stateId)
def TraceField(self, fielddef, fval, buf, stateId, fp=sys.stderr)
def NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmUnpackU64 (   self,
  fielddef,
  buf,
  offset,
  fvals,
  stateId 
)
Unpack 64-bit unsigned integer field from the buffer.

Parameters:
  fielddef  - Field definition.
  buf       - Buffer to unpack.
  offset    - Buffer offset where unpacking begins.
  fvals     - Dictionary to hold unpacked field values.
  stateId   - Unpacking state id.

Return:
  New buffer offset.

Definition at line 1182 of file NetMsgsLibStreamBuf.py.

References NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.mEndian, NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.mTrace, NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.StateFieldGet(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.StateFieldSet(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.TraceField(), and NetMsgs.NetMsgsLib.UnpackU64().

1182  def nmUnpackU64(self, fielddef, buf, offset, fvals, stateId):
1183  """ Unpack 64-bit unsigned integer field from the buffer.
1184 
1185  Parameters:
1186  fielddef - Field definition.
1187  buf - Buffer to unpack.
1188  offset - Buffer offset where unpacking begins.
1189  fvals - Dictionary to hold unpacked field values.
1190  stateId - Unpacking state id.
1191 
1192  Return:
1193  New buffer offset.
1194  """
1195  fname = fielddef['name']
1196  val, offset = UnpackU64(buf, offset=offset, endian=self.mEndian)
1197  if not self.StateFieldGet(stateId, 'fctl', 'noexec'):
1198  fvals[fname] = val
1199  self.StateFieldSet(stateId, 'trace', trace_end=offset)
1200  if self.mTrace: self.TraceField(fielddef, val, buf, stateId)
1201  return offset
def nmUnpackU64(self, fielddef, buf, offset, fvals, stateId)
def StateFieldSet(self, stateId, keypath, kwargs)
def UnpackU64(buf, offset=0, endian='big')
Definition: NetMsgsLib.py:714
def TraceField(self, fielddef, fval, buf, stateId, fp=sys.stderr)
def NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmUnpackU8 (   self,
  fielddef,
  buf,
  offset,
  fvals,
  stateId 
)
Unpack 8-bit unsigned integer field from the buffer.

Parameters:
  fielddef  - Field definition.
  buf       - Buffer to unpack.
  offset    - Buffer offset where unpacking begins.
  fvals     - Dictionary to hold unpacked field values.
  stateId   - Unpacking state id.

Return:
  New buffer offset.

Definition at line 1044 of file NetMsgsLibStreamBuf.py.

References NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.mEndian, NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.mTrace, NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.StateFieldGet(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.StateFieldSet(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.TraceField(), and NetMsgs.NetMsgsLib.UnpackU8().

1044  def nmUnpackU8(self, fielddef, buf, offset, fvals, stateId):
1045  """ Unpack 8-bit unsigned integer field from the buffer.
1046 
1047  Parameters:
1048  fielddef - Field definition.
1049  buf - Buffer to unpack.
1050  offset - Buffer offset where unpacking begins.
1051  fvals - Dictionary to hold unpacked field values.
1052  stateId - Unpacking state id.
1053 
1054  Return:
1055  New buffer offset.
1056  """
1057  fname = fielddef['name']
1058  val, offset = UnpackU8(buf, offset=offset, endian=self.mEndian)
1059  if not self.StateFieldGet(stateId, 'fctl', 'noexec'):
1060  fvals[fname] = val
1061  self.StateFieldSet(stateId, 'trace', trace_end=offset)
1062  if self.mTrace: self.TraceField(fielddef, val, buf, stateId)
1063  return offset
def UnpackU8(buf, offset=0, endian='big')
Definition: NetMsgsLib.py:600
def nmUnpackU8(self, fielddef, buf, offset, fvals, stateId)
def StateFieldSet(self, stateId, keypath, kwargs)
def TraceField(self, fielddef, fval, buf, stateId, fp=sys.stderr)
def NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmUnpackVector (   self,
  fielddef,
  buf,
  offset,
  fvals,
  stateId 
)
Unpack fixed-size vector field from the buffer.

The unpacked vector length is a fixed max_count items.

Parameters:
  fielddef  - Field definition.
  buf       - Buffer to unpack.
  offset    - Buffer offset where unpacking begins.
  fvals     - Dictionary to hold unpacked field values.
  stateId   - Unpacking state id.

Return:
  New buffer offset.

Definition at line 1378 of file NetMsgsLibStreamBuf.py.

References NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.mFuncMap, NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.mTrace, NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.StateFieldGet(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.StateFieldPop(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.StateFieldPush(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.StateFieldSet(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.TraceField(), and NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.UNPACKFUNC.

1378  def nmUnpackVector(self, fielddef, buf, offset, fvals, stateId):
1379  """ Unpack fixed-size vector field from the buffer.
1380 
1381  The unpacked vector length is a fixed max_count items.
1382 
1383  Parameters:
1384  fielddef - Field definition.
1385  buf - Buffer to unpack.
1386  offset - Buffer offset where unpacking begins.
1387  fvals - Dictionary to hold unpacked field values.
1388  stateId - Unpacking state id.
1389 
1390  Return:
1391  New buffer offset.
1392  """
1393  fname = fielddef['name']
1394  vdef = fielddef['vdef']
1395  vname = vdef['name']
1396  vtype = vdef['ftype']
1397  max_count = fielddef['max_count']
1398  self.StateFieldSet(stateId, count=max_count)
1399  self.StateFieldSet(stateId, 'trace', trace_end=offset)
1400  if not self.StateFieldGet(stateId, 'fctl', 'noexec'):
1401  fvals[fname] = []
1402  val = fvals[fname]
1403  else:
1404  val = []
1405  if self.mTrace: self.TraceField(fielddef, val, buf, stateId)
1406  unpackfunc = self.mFuncMap[vtype][self.UNPACKFUNC]
1407  vval = {}
1408  i = 0
1409  self.StateFieldPush(stateId, fname=vname, fid=0, ftype=vtype)
1410  while i < max_count:
1411  self.StateFieldSet(stateId, 'trace', trace_start=offset)
1412  self.StateFieldSet(stateId, i=i)
1413  offset = unpackfunc(vdef, buf, offset, vval, stateId)
1414  val += [vval[vname]]
1415  i += 1
1416  vval = {}
1417  self.StateFieldPop(stateId)
1418  return offset
def StateFieldSet(self, stateId, keypath, kwargs)
mFuncMap
Field Code to Function Mappings.
def nmUnpackVector(self, fielddef, buf, offset, fvals, stateId)
def TraceField(self, fielddef, fval, buf, stateId, fp=sys.stderr)
def NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.Optimize (   self)
Optimize message definition set for packing and unpacking. 

Definition at line 191 of file NetMsgsLibStreamBuf.py.

References NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.OptimizeMsgDef().

191  def Optimize(self):
192  """ Optimize message definition set for packing and unpacking. """
193  for msgid, msgdef in self.mMsgDefSet.iteritems():
194  self.OptimizeMsgDef(msgid, msgdef)
def NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.OptimizeFieldDef (   self,
  fielddef 
)
Optimize field definition for packing and unpacking.

Parameters:
  fielddef  - Field definition.

Definition at line 221 of file NetMsgsLibStreamBuf.py.

References NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.GetDefReqVal(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.OptimizeFieldDef(), and NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.OptimizeMsgDef().

Referenced by NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.OptimizeFieldDef(), and NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.OptimizeMsgDef().

221  def OptimizeFieldDef(self, fielddef):
222  """ Optimize field definition for packing and unpacking.
223 
224  Parameters:
225  fielddef - Field definition.
226  """
227  fname = self.GetDefReqVal(fielddef, 'name', epreface="FieldDef")
228  fid = self.GetDefReqVal(fielddef, 'fid', epreface="FieldDef")
229  ftype = self.GetDefReqVal(fielddef, 'ftype', epreface="FieldDef")
230  if not fielddef.has_key('disposition'):
231  fielddef['disposition'] = 'active'
232  if fielddef['disposition'] == 'deprecated':
233  return
234  if ftype == nmBase.NMFCode('pad'): # pad
235  if not fielddef.has_key('count'):
236  fielddef['count'] = nmBase.NMPadDftCount
237  elif ftype == nmBase.NMFCode('string'): # string
238  if not fielddef.has_key('max_count'):
239  fielddef['max_count'] = nmBase.NMStringMaxCount
240  elif ftype == nmBase.NMFCode('vector'): # vector
241  if not fielddef.has_key('max_count'):
242  fielddef['max_count'] = nmBase.NMVectorMaxCount
243  vdef = self.GetDefReqVal(fielddef, 'vdef', epreface="FieldDef")
244  if not vdef.has_key('name'):
245  vdef['name'] = "%s_item" % fname
246  vdef['fid'] = 0 # field id not used, but required when packing
247  self.OptimizeFieldDef(vdef)
248  elif ftype == nmBase.NMFCode('struct'): # struct
249  msgdef = self.GetDefReqVal(fielddef, 'msgdef', epreface="FieldDef")
250  if not msgdef.has_key('name'):
251  msgdef['name'] = "%s_struct" % fname
252  msgdef['msgid'] = 0 # field id not used, but required when packing
253  self.OptimizeMsgDef(msgdef['msgid'], msgdef)
def GetDefReqVal(self, d, k, epreface='', stateId=None)
def NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.OptimizeMsgDef (   self,
  msgid,
  msgdef 
)
Optimize message definition for packing and unpacking.

Parameters:
  msgid   - Message id.
  msgdef  - Message definition.

Definition at line 198 of file NetMsgsLibStreamBuf.py.

References NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.Error(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.GetDefReqVal(), and NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.OptimizeFieldDef().

Referenced by NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.AttrAddMsgDef(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.Optimize(), and NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.OptimizeFieldDef().

198  def OptimizeMsgDef(self, msgid, msgdef):
199  """ Optimize message definition for packing and unpacking.
200 
201  Parameters:
202  msgid - Message id.
203  msgdef - Message definition.
204  """
205  if type(msgid) != int:
206  self.Error("msgid=%s" % repr(msgid), EMsgBadId)
207  if not msgdef.has_key('name'):
208  msgdef['name'] = "Msg%s" % repr(msgid)
209  msgdef['msgid'] = msgid
210  fdeflist = self.GetDefReqVal(msgdef, 'fielddef',
211  epreface="MsgDef %s" % (msgdef['name']))
212  max_count = 0
213  for fielddef in fdeflist:
214  self.OptimizeFieldDef(fielddef)
215  if fielddef['disposition'] == 'active':
216  max_count += 1
217  msgdef['max_count'] = max_count
def GetDefReqVal(self, d, k, epreface='', stateId=None)
def NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.StateDelete (   self,
  stateId 
)
Delete operational state.

Parameters:
  stateId   - State id.

Definition at line 354 of file NetMsgsLibStreamBuf.py.

References NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.mState.

Referenced by NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.Error(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmPackMsg(), and NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmUnpackMsg().

354  def StateDelete(self, stateId):
355  """ Delete operational state.
356 
357  Parameters:
358  stateId - State id.
359  """
360  if stateId is not None:
361  del self.mState[stateId]
def NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.StateFieldGet (   self,
  stateId,
  keypath 
)
Get top of field stack state value at key path.

Parameters:
  keypath   - Optional list of key arguments.

Definition at line 436 of file NetMsgsLibStreamBuf.py.

References NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.mState.

Referenced by NetMsgs.NetMsgsLibITV.NetMsgsITV.nmPackFieldHdr(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmUnpackBool(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmUnpackChar(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmUnpackF32(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmUnpackF64(), NetMsgs.NetMsgsLibITV.NetMsgsITV.nmUnpackFieldHdr(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmUnpackP32(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmUnpackP64(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmUnpackS16(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmUnpackS32(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmUnpackS64(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmUnpackS8(), NetMsgs.NetMsgsLibITV.NetMsgsITV.nmUnpackStream(), NetMsgs.NetMsgsLibITV.NetMsgsITV.nmUnpackString(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmUnpackString(), NetMsgs.NetMsgsLibITV.NetMsgsITV.nmUnpackStruct(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmUnpackStruct(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmUnpackU16(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmUnpackU32(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmUnpackU64(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmUnpackU8(), NetMsgs.NetMsgsLibITV.NetMsgsITV.nmUnpackVector(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmUnpackVector(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.Trace2Col(), and NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.TraceField().

436  def StateFieldGet(self, stateId, *keypath):
437  """ Get top of field stack state value at key path.
438 
439  Parameters:
440  keypath - Optional list of key arguments.
441  """
442  v = self.mState[stateId]['fstack'][-1]
443  for key in keypath:
444  v = v[key]
445  return v
def NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.StateFieldPop (   self,
  stateId 
)
def NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.StateFieldPush (   self,
  stateId,
  kwargs 
)
Push new field state onto stack.

Parameters:
  stateId - State id.
  kwargs  - Optional initial field state overrides and
            implementation specifics.

Definition at line 394 of file NetMsgsLibStreamBuf.py.

References NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.mState.

Referenced by NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmPackStream(), NetMsgs.NetMsgsLibITV.NetMsgsITV.nmPackVector(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmPackVector(), NetMsgs.NetMsgsLibITV.NetMsgsITV.nmUnpackStream(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmUnpackStream(), NetMsgs.NetMsgsLibITV.NetMsgsITV.nmUnpackVector(), and NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmUnpackVector().

394  def StateFieldPush(self, stateId, **kwargs):
395  """ Push new field state onto stack.
396 
397  Parameters:
398  stateId - State id.
399  kwargs - Optional initial field state overrides and
400  implementation specifics.
401  """
402  parent = self.mState[stateId]['fstack'][-1]
403 
404  # defaults and required
405  d = {}
406  d['fpar'] = parent['ftype']
407  d['fctl'] = parent['fctl'].copy()
408  d['fname'] = None,
409  d['fid'] = 0
410  d['ftype'] = None
411  d['fhdr'] = {}
412  d['trace'] = { 'trace_depth': parent['trace']['trace_depth']+1,
413  'trace_start': 0,
414  'trace_end': None
415  }
416 
417  # overrides and implementation specifics
418  for k,v in kwargs.iteritems():
419  d[k] = v
420 
421  # push
422  self.mState[stateId]['fstack'] += [d]
def NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.StateFieldSet (   self,
  stateId,
  keypath,
  kwargs 
)
Set a list of top of field stack state values at key path.

Parameters:
  keypath   - Optional list of key arguments.
  kwargs    - List of key=value arguments.

Definition at line 449 of file NetMsgsLibStreamBuf.py.

References NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.mState.

Referenced by NetMsgs.NetMsgsLibFlat.NetMsgsFlat.nmPackFieldHdr(), NetMsgs.NetMsgsLibITV.NetMsgsITV.nmPackFieldHdr(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmPackFieldHdr(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmPackPad(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmPackStream(), NetMsgs.NetMsgsLibITV.NetMsgsITV.nmPackString(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmPackString(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmPackStruct(), NetMsgs.NetMsgsLibITV.NetMsgsITV.nmPackVector(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmPackVector(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmUnpackBool(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmUnpackChar(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmUnpackF32(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmUnpackF64(), NetMsgs.NetMsgsLibFlat.NetMsgsFlat.nmUnpackFieldHdr(), NetMsgs.NetMsgsLibITV.NetMsgsITV.nmUnpackFieldHdr(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmUnpackFieldHdr(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmUnpackMsg(), NetMsgs.NetMsgsLibITV.NetMsgsITV.nmUnpackMsgHdr(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmUnpackP32(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmUnpackP64(), NetMsgs.NetMsgsLibITV.NetMsgsITV.nmUnpackPad(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmUnpackPad(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmUnpackS16(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmUnpackS32(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmUnpackS64(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmUnpackS8(), NetMsgs.NetMsgsLibITV.NetMsgsITV.nmUnpackStream(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmUnpackStream(), NetMsgs.NetMsgsLibITV.NetMsgsITV.nmUnpackString(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmUnpackString(), NetMsgs.NetMsgsLibITV.NetMsgsITV.nmUnpackStruct(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmUnpackStruct(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmUnpackU16(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmUnpackU32(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmUnpackU64(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmUnpackU8(), NetMsgs.NetMsgsLibITV.NetMsgsITV.nmUnpackVector(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmUnpackVector(), and NetMsgs.NetMsgsLibITV.NetMsgsITV.StateNew().

449  def StateFieldSet(self, stateId, *keypath, **kwargs):
450  """ Set a list of top of field stack state values at key path.
451 
452  Parameters:
453  keypath - Optional list of key arguments.
454  kwargs - List of key=value arguments.
455  """
456  d = self.mState[stateId]['fstack'][-1]
457  for key in keypath:
458  d = d[key]
459  for k,v in kwargs.iteritems():
460  d[k] = v
def StateFieldSet(self, stateId, keypath, kwargs)
def NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.StateGet (   self,
  stateId,
  keypath 
)
Get state value at key path.

Parameters:
  keypath   - Optional list of key arguments.

Definition at line 365 of file NetMsgsLibStreamBuf.py.

References NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.mState.

Referenced by NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.DebugState(), and NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.TraceStart().

365  def StateGet(self, stateId, *keypath):
366  """ Get state value at key path.
367 
368  Parameters:
369  keypath - Optional list of key arguments.
370  """
371  v = self.mState[stateId]
372  for key in keypath:
373  v = v[key]
374  return v
375  return self.mState[stateId][key]
def NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.StateNew (   self,
  msgid,
  op,
  kwargs 
)
Create a new packing/unpacking operational state.

The operational state contains message information plus a stack of
current field processing states. Each field state has header,
control, run-time determined values, and tracing parameters.

Parameters:
  msgid   - Message id.
  op      - Operation string. One of: 'pack', 'unpack'.
  kwargs  - Optional initial state overrides and implementation
            specifics.

Return:
  State id which is a key into the specific state.

Definition at line 306 of file NetMsgsLibStreamBuf.py.

References NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.mState.

Referenced by NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmPackMsg(), and NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmUnpackMsg().

306  def StateNew(self, msgid, op, **kwargs):
307  """ Create a new packing/unpacking operational state.
308 
309  The operational state contains message information plus a stack of
310  current field processing states. Each field state has header,
311  control, run-time determined values, and tracing parameters.
312 
313  Parameters:
314  msgid - Message id.
315  op - Operation string. One of: 'pack', 'unpack'.
316  kwargs - Optional initial state overrides and implementation
317  specifics.
318 
319  Return:
320  State id which is a key into the specific state.
321  """
322  # get next state id (action is atomic)
323  stateId = self.mStateId.next()
324  d = {
325  'msgid': msgid, # message id
326  'op': op, # pack/unpack
327  'field_count': 0, # number of fields in message
328  'msghdr': {}, # message header info
329  'mctl': {}, # message control
330  'fstack': [ # field stack
331  { 'fpar': None, # field parent
332  'fctl': {'has_hdr':False, 'noexec': False}, # field control
333  'fname': None, # field name
334  'fid': 0, # field id
335  'ftype': None, # field type
336  'fhdr': {}, # field header info
337  'trace': {'trace_depth':0, 'trace_start':0, 'trace_end':None},
338  # trace state
339  }
340  ],
341  }
342 
343  # overrides and implementation specifics
344  for k,v in kwargs.iteritems():
345  d[k] = v
346 
347  # add new state (thread safe)
348  self.mState[stateId] = d
349 
350  return stateId
def NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.StateSet (   self,
  stateId,
  keypath,
  kwargs 
)
Set a list of state values at key path.

Parameters:
  keypath   - Optional list of key arguments.
  kwargs    - List of key=value arguments.

Definition at line 379 of file NetMsgsLibStreamBuf.py.

References NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.mState.

Referenced by NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmPackMsg(), NetMsgs.NetMsgsLibFlat.NetMsgsFlat.nmPackMsgHdr(), NetMsgs.NetMsgsLibITV.NetMsgsITV.nmPackMsgHdr(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmPackMsgHdr(), NetMsgs.NetMsgsLibFlat.NetMsgsFlat.nmUnpackMsgHdr(), NetMsgs.NetMsgsLibITV.NetMsgsITV.nmUnpackMsgHdr(), and NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmUnpackMsgHdr().

379  def StateSet(self, stateId, *keypath, **kwargs):
380  """ Set a list of state values at key path.
381 
382  Parameters:
383  keypath - Optional list of key arguments.
384  kwargs - List of key=value arguments.
385  """
386  d = self.mState[stateId]
387  for key in keypath:
388  d = d[key]
389  for k,v in kwargs.iteritems():
390  d[k] = v
def StateSet(self, stateId, keypath, kwargs)
def NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.Trace2Col (   self,
  textList,
  buf,
  stateId,
  fp = sys.stderr 
)
Trace text and buffer in a two-column format.

Column 1 contains the formatted text output. Column 2 contains the
formatted contents of the buffer.

Parameters:
  textList  - List of raw text phrases. The phrase are join to fit
              into column 1. Special phrase end characters:
                '\\t' = Do not append other phrases to this phrase.
                '\\n' = Same as above, but also keep column 2 blank.
  buf       - Packed buffer.
  stateId   - Packing/unpacking state id.
  fp        - Opened output file pointer.

Definition at line 1872 of file NetMsgsLibStreamBuf.py.

References NetMsgs.NetMsgsLibStreamBuf.space, and NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.StateFieldGet().

Referenced by NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.TraceField(), and NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.TraceStart().

1872  def Trace2Col(self, textList, buf, stateId, fp=sys.stderr):
1873  """ Trace text and buffer in a two-column format.
1874 
1875  Column 1 contains the formatted text output. Column 2 contains the
1876  formatted contents of the buffer.
1877 
1878  Parameters:
1879  textList - List of raw text phrases. The phrase are join to fit
1880  into column 1. Special phrase end characters:
1881  '\\t' = Do not append other phrases to this phrase.
1882  '\\n' = Same as above, but also keep column 2 blank.
1883  buf - Packed buffer.
1884  stateId - Packing/unpacking state id.
1885  fp - Opened output file pointer.
1886  """
1887  trace = self.StateFieldGet(stateId, 'trace')
1888  start = trace['trace_start']
1889  end = trace['trace_end']
1890  if end is None:
1891  end = len(buf[start:])
1892  indent = 2 * (trace['trace_depth'])
1893  indentb = indent + 5 # left column subsequent lines indentation
1894  col2 = 40 # column 2 start position
1895  text1 = [] # formatted left column text lines
1896  text2 = [] # formatted right column text lines
1897 
1898  # format column 1
1899  line = ''
1900  for phrase in textList:
1901  if phrase.endswith('\n') or phrase.endswith('\t'):
1902  sp = space(indent)
1903  text1 += [sp+phrase]
1904  indent = indentb
1905  elif not line:
1906  sp = space(indent)
1907  line = sp + phrase
1908  phrase = ''
1909  elif len(line) + 2 + len(phrase) < col2-2:
1910  line += ', ' + phrase
1911  phrase = ''
1912  else:
1913  text1 += [line]
1914  indent = indentb
1915  sp = space(indent)
1916  line = sp + phrase
1917  if line:
1918  text1 += [line]
1919 
1920  # format column 2
1921  if end is None:
1922  end = len(buf[start:]) # buf end position + 1
1923  n = end - start # number of bytes
1924  while n > 0:
1925  if n >= 8:
1926  m = 8
1927  else:
1928  m = n
1929  s = ''
1930  i = 0
1931  while i < m:
1932  c = buf[start+i]
1933  s += "0x%02x " % (ord(c))
1934  i += 1
1935  text2 += [s]
1936  start += m
1937  n -= m
1938 
1939  # output two column text
1940  col = 0
1941  i = 0
1942  for line in text1:
1943  if line.endswith('\n'):
1944  fp.write(line)
1945  col = 0
1946  continue
1947  elif line.endswith('\t'):
1948  fp.write(line[:-1])
1949  col = len(line) - 1
1950  else:
1951  fp.write(line)
1952  col = len(line)
1953  if i < len(text2):
1954  if col > col2-2:
1955  fp.write('\n')
1956  col = 0
1957  fp.write(space(col2-col))
1958  fp.write(text2[i])
1959  i += 1
1960  fp.write('\n')
1961 
1962  while i < len(text2):
1963  fp.write(space(col2)) # space over to column 2
1964  fp.write(text2[i]) # line
1965  fp.write('\n')
1966  i += 1
def Trace2Col(self, textList, buf, stateId, fp=sys.stderr)
def NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.TraceBufBlock (   self,
  preface,
  buf,
  start = 0,
  end = None,
  fp = sys.stderr 
)
Trace a block bytes in packed buffer.

Parameters:
  preface   - Preface string.
  buf         - Packed buffer.
  start       - Start position in buffer.
  end         - End position + 1 in buffer.
  fp        - Opened output file pointer.

Definition at line 1970 of file NetMsgsLibStreamBuf.py.

Referenced by NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmPackMsg(), and NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmUnpackMsg().

1970  def TraceBufBlock(self, preface, buf, start=0, end=None, fp=sys.stderr):
1971  """ Trace a block bytes in packed buffer.
1972 
1973  Parameters:
1974  preface - Preface string.
1975  buf - Packed buffer.
1976  start - Start position in buffer.
1977  end - End position + 1 in buffer.
1978  fp - Opened output file pointer.
1979  """
1980  if end is None:
1981  end = len(buf[start:]) # buf end position + 1
1982  n = end - start
1983  fp.write("%s Buffer (%u bytes):\n" % (preface, n))
1984  nmBase.PrintBuf(buf[start:], count=n, nlfreq=16, fp=fp)
def TraceBufBlock(self, preface, buf, start=0, end=None, fp=sys.stderr)
def NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.TraceField (   self,
  fielddef,
  fval,
  buf,
  stateId,
  fp = sys.stderr 
)
Trace a field.

Parameters:
  fielddef  - Field definition.
  fval      - Field value.
  buf       - Packed buffer.
  stateId   - Packing/unpacking state id.
  fp        - Opened output file pointer.

Definition at line 1820 of file NetMsgsLibStreamBuf.py.

References NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.StateFieldGet(), and NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.Trace2Col().

Referenced by NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmPackBool(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmPackChar(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmPackF32(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmPackF64(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmPackP32(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmPackP64(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmPackPad(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmPackS16(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmPackS32(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmPackS64(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmPackS8(), NetMsgs.NetMsgsLibITV.NetMsgsITV.nmPackString(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmPackString(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmPackStruct(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmPackU16(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmPackU32(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmPackU64(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmPackU8(), NetMsgs.NetMsgsLibITV.NetMsgsITV.nmPackVector(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmPackVector(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmUnpackBool(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmUnpackChar(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmUnpackF32(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmUnpackF64(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmUnpackP32(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmUnpackP64(), NetMsgs.NetMsgsLibITV.NetMsgsITV.nmUnpackPad(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmUnpackPad(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmUnpackS16(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmUnpackS32(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmUnpackS64(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmUnpackS8(), NetMsgs.NetMsgsLibITV.NetMsgsITV.nmUnpackString(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmUnpackString(), NetMsgs.NetMsgsLibITV.NetMsgsITV.nmUnpackStruct(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmUnpackStruct(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmUnpackU16(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmUnpackU32(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmUnpackU64(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmUnpackU8(), NetMsgs.NetMsgsLibITV.NetMsgsITV.nmUnpackVector(), and NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmUnpackVector().

1820  def TraceField(self, fielddef, fval, buf, stateId, fp=sys.stderr):
1821  """ Trace a field.
1822 
1823  Parameters:
1824  fielddef - Field definition.
1825  fval - Field value.
1826  buf - Packed buffer.
1827  stateId - Packing/unpacking state id.
1828  fp - Opened output file pointer.
1829  """
1830  fname = fielddef['name']
1831  fid = fielddef['fid']
1832  ftype = fielddef['ftype']
1833  fval = repr(fval)
1834  fstate = self.StateFieldGet(stateId)
1835  xtype = nmBase.NMFTypeCode2Xml.get(ftype, ftype)
1836 
1837  # print field value, info, and buffer
1838  if fstate['fpar'] == nmBase.NMFCode('vector'): # vector item
1839  text = ["%s[%u] = %s\t" % (xtype, fstate['i'], fval)]
1840  elif ftype == nmBase.NMFCode('pad'): # pad
1841  count = fstate['count']
1842  text = ["%s:%s(fid=%u, count=%u) =\t" % (xtype, 'pad', fid, count)]
1843  elif ftype == nmBase.NMFCode('string'): # string
1844  max_count = fielddef['max_count']
1845  count = fstate['count']
1846  text = ["%s:%s(fid=%u) = %s\t" % (xtype, fname, fid, fval)]
1847  text += ["count=%s" % repr(count)]
1848  text += ["max_count=%s" % repr(max_count)]
1849  elif ftype == nmBase.NMFCode('vector'): # vector
1850  vdef = fielddef['vdef']
1851  vtype = vdef['ftype']
1852  max_count = fielddef['max_count']
1853  count = fstate['count']
1854  text = ["%s:%s(fid=%u) =\t" % (xtype, fname, fid)]
1855  text += ["vtype=%s" % (vtype)]
1856  text += ["count=%s" % repr(count)]
1857  text += ["max_count=%s" % repr(max_count)]
1858  elif ftype == nmBase.NMFCode('struct'): # struct
1859  msgdef = fielddef['msgdef']
1860  max_count = msgdef['max_count']
1861  count = fstate['count']
1862  text = ["%s:%s(fid=%u) =\t" % (xtype, fname, fid)]
1863  text += ["count=%s" % repr(count)]
1864  text += ["max_count=%s" % repr(max_count)]
1865  else: # simple
1866  text = ["%s:%s(fid=%u) = %s\t" % (xtype, fname, fid, fval)]
1867 
1868  self.Trace2Col(text, buf, stateId)
def Trace2Col(self, textList, buf, stateId, fp=sys.stderr)
def TraceField(self, fielddef, fval, buf, stateId, fp=sys.stderr)
def NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.TraceStart (   self,
  preface,
  msgid,
  msgdef,
  buf,
  stateId,
  fp = sys.stderr 
)
Start of a message trace.

Parameters:
  preface   - Preface string.
  msgid     - Message id.
  msgdef    - Message definition.
  buf       - Packed buffer.
  stateId   - Packing/unpacking state id.
  fp        - Opened output file pointer.

Definition at line 1795 of file NetMsgsLibStreamBuf.py.

References NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.mEncoding, NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.mEndian, NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.StateGet(), and NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.Trace2Col().

Referenced by NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmPackMsg(), and NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmUnpackMsg().

1795  def TraceStart(self, preface, msgid, msgdef, buf, stateId, fp=sys.stderr):
1796  """ Start of a message trace.
1797 
1798  Parameters:
1799  preface - Preface string.
1800  msgid - Message id.
1801  msgdef - Message definition.
1802  buf - Packed buffer.
1803  stateId - Packing/unpacking state id.
1804  fp - Opened output file pointer.
1805 
1806  """
1807  msgname = msgdef['name']
1808  max_count = msgdef['max_count']
1809  field_count = self.StateGet(stateId, 'field_count')
1810  text = ["--- %s Message %s(msgid=%u):\n" % (preface, msgname, msgid)]
1811  text += ["encoding=%s" % (self.mEncoding)]
1812  text += ["endian=%s" % (self.mEndian)]
1813  text += ["field_count=%s" % repr(field_count)]
1814  text += ["max_count=%s" % repr(max_count)]
1815  fp.write('\n')
1816  self.Trace2Col(text, buf, stateId)
def Trace2Col(self, textList, buf, stateId, fp=sys.stderr)
def TraceStart(self, preface, msgid, msgdef, buf, stateId, fp=sys.stderr)
def NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.Warning (   self,
  args 
)
Issue warning message.

Parameters:
  *args   - List of warning message arguments.

Definition at line 1759 of file NetMsgsLibStreamBuf.py.

References NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.mNoWarn.

Referenced by NetMsgs.NetMsgsLibITV.NetMsgsITV.nmUnpackStream().

1759  def Warning(self, *args):
1760  """ Issue warning message.
1761 
1762  Parameters:
1763  *args - List of warning message arguments.
1764  """
1765  if self.mNoWarn:
1766  return
1767  wmsg = 'Warning'
1768  for a in args:
1769  if a:
1770  wmsg += ": %s" % (a)
1771  print >>sys.stderr, wmsg
def NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.ZeroFType (   self,
  fielddef 
)
Return "zero" value assocated with field type.

Parameters:
  fielddef  - Field definition.

Definition at line 1707 of file NetMsgsLibStreamBuf.py.

References NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.ZeroFType().

Referenced by NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmPackVector(), and NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.ZeroFType().

1707  def ZeroFType(self, fielddef):
1708  """ Return "zero" value assocated with field type.
1709 
1710  Parameters:
1711  fielddef - Field definition.
1712  """
1713  ftype = fielddef['ftype']
1714  if fielddef['disposition'] == 'deprecated':
1715  return None
1716  elif ftype == nmBase.NMFCode('bool'):
1717  return False
1718  elif ftype == nmBase.NMFCode('char'):
1719  return '\x00'
1720  elif ftype == nmBase.NMFCode('string'):
1721  return ''
1722  elif ftype in [nmBase.NMFCode('f32'), nmBase.NMFCode('f64')]:
1723  return 0.0
1724  elif ftype == nmBase.NMFCode('vector'):
1725  return [ self.ZeroFType(fielddef['vdef']) ]
1726  elif ftype == nmBase.NMFCode('struct'):
1727  msgdef = fielddef['msgdef']
1728  fdeflist = msgdef['fielddef']
1729  d = {}
1730  for fielddef in fdeflist:
1731  zval = self.ZeroFType(fielddef)
1732  if zval is not None:
1733  d[fielddef['name']] = zval
1734  return d
1735  else:
1736  return 0

Member Data Documentation

NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.mNoWarn

byte ordering

do [not] disable warnings

Definition at line 134 of file NetMsgsLibStreamBuf.py.

Referenced by NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.Warning().

NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.mTrace

disable python runtime warnings

tracing

Definition at line 141 of file NetMsgsLibStreamBuf.py.

Referenced by NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmPackBool(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmPackChar(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmPackF32(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmPackF64(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmPackMsg(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmPackP32(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmPackP64(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmPackPad(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmPackS16(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmPackS32(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmPackS64(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmPackS8(), NetMsgs.NetMsgsLibITV.NetMsgsITV.nmPackString(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmPackString(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmPackStruct(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmPackU16(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmPackU32(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmPackU64(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmPackU8(), NetMsgs.NetMsgsLibITV.NetMsgsITV.nmPackVector(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmPackVector(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmUnpackBool(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmUnpackChar(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmUnpackF32(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmUnpackF64(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmUnpackMsg(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmUnpackP32(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmUnpackP64(), NetMsgs.NetMsgsLibITV.NetMsgsITV.nmUnpackPad(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmUnpackPad(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmUnpackS16(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmUnpackS32(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmUnpackS64(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmUnpackS8(), NetMsgs.NetMsgsLibITV.NetMsgsITV.nmUnpackString(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmUnpackString(), NetMsgs.NetMsgsLibITV.NetMsgsITV.nmUnpackStruct(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmUnpackStruct(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmUnpackU16(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmUnpackU32(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmUnpackU64(), NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmUnpackU8(), NetMsgs.NetMsgsLibITV.NetMsgsITV.nmUnpackVector(), and NetMsgs.NetMsgsLibStreamBuf.NetMsgsStreamBuf.nmUnpackVector().


The documentation for this class was generated from the following file: