def __call__(self, *msgs, **metadata):
index = <NUM_LIT:0><EOL>if self._into_buffer:<EOL><INDENT>for msg in msgs:<EOL><INDENT>index += msg.into_buffer(self._buffer, index)<EOL><DEDENT><DEDENT>else:<EOL><INDENT>for msg in msgs:<EOL><INDENT>msg_buff = msg.to_binary()<EOL>buff_len = len(msg_buff)<EOL>self._buffer[index:(index+buff_len)] = bytearray(msg_buff)<EOL>index += buff_len<EOL><DEDENT><DEDENT>self._write(memoryview(self._buffer)[:index])<EOL>
Build and write SBP message.

Parameters
----------
msgs : SBP messages
  SBP messages to send.  Multiple messages are sent in one batch.
metadata : dict
  Metadata for this batch of messages, e.g. `{'time': 'ISO 8601 str'}`
  (ignored for now).