async def _dump_message_field(self, writer, msg, field, fvalue=None):
        """
        Dumps a message field to the writer. Field is defined by the message field specification.

        :param writer:
        :param msg:
        :param field:
        :param fvalue:
        :return:
        """
        fname, ftype, params = field[0], field[1], field[2:]
        fvalue = getattr(msg, fname, None) if fvalue is None else fvalue
        await self.dump_field(writer, fvalue, ftype, params)