MCPcopy Create free account
hub / github.com/chronoxor/FastBinaryEncoding / FieldModelOrder

Class FieldModelOrder

projects/Python/proto/proto.py:497–761  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

495
496
497class FieldModelOrder(fbe.FieldModel):
498 __slots__ = "_id", "_symbol", "_side", "_type", "_price", "_volume",
499
500 def __init__(self, buffer, offset):
501 super().__init__(buffer, offset)
502 self._id = fbe.FieldModelInt32(buffer, 4 + 4)
503 self._symbol = fbe.FieldModelString(buffer, self._id.fbe_offset + self._id.fbe_size)
504 self._side = FieldModelOrderSide(buffer, self._symbol.fbe_offset + self._symbol.fbe_size)
505 self._type = FieldModelOrderType(buffer, self._side.fbe_offset + self._side.fbe_size)
506 self._price = fbe.FieldModelDouble(buffer, self._type.fbe_offset + self._type.fbe_size)
507 self._volume = fbe.FieldModelDouble(buffer, self._price.fbe_offset + self._price.fbe_size)
508
509 @property
510 def id(self):
511 return self._id
512
513 @property
514 def symbol(self):
515 return self._symbol
516
517 @property
518 def side(self):
519 return self._side
520
521 @property
522 def type(self):
523 return self._type
524
525 @property
526 def price(self):
527 return self._price
528
529 @property
530 def volume(self):
531 return self._volume
532
533 # Get the field size
534 @property
535 def fbe_size(self):
536 return 4
537
538 # Get the field body size
539 @property
540 def fbe_body(self):
541 fbe_result = 4 + 4 \
542 + self.id.fbe_size \
543 + self.symbol.fbe_size \
544 + self.side.fbe_size \
545 + self.type.fbe_size \
546 + self.price.fbe_size \
547 + self.volume.fbe_size \
548
549 return fbe_result
550
551 # Get the field extra size
552 @property
553 def fbe_extra(self):
554 if (self._buffer.offset + self.fbe_offset + self.fbe_size) > self._buffer.size:

Callers 3

__init__Method · 0.70
__init__Method · 0.70
__init__Method · 0.70

Calls

no outgoing calls

Tested by

no test coverage detected