code: def get_so_far(self):
          
          position = self.packet.tell()
          self.rewind()
          return self.packet.read(position)
docs: Returns the `str` bytes of this message that have been parsed and
          returned. The string passed into a message's constructor can be
          regenerated by concatenating ``get_so_far`` and `get_remainder`.