def METHOD_NAME(self, batch: jaeger.Batch):
    """
    Args:
        batch: Object to emit Jaeger spans.
    """
    # pylint: disable=protected-access
    self.client._seqid = 0
    #  truncate and reset the position of BytesIO object
    self.buffer._buffer.truncate(0)
    self.buffer._buffer.seek(0)
    self.client.emitBatch(batch)
    buff = self.buffer.getvalue()
    if len(buff) > self.max_packet_size:
        if self.split_oversized_batches and len(batch.spans) > 1:
            packets = math.ceil(len(buff) / self.max_packet_size)
            div = math.ceil(len(batch.spans) / packets)
            for packet in range(packets):
                start = packet * div
                end = (packet + 1) * div
                if start < len(batch.spans):
                    self.METHOD_NAME(
                        jaeger.Batch(
                            process=batch.process,
                            spans=batch.spans[start:end],
                        )
                    )
        else:
            logger.warning(
                "Data exceeds the max UDP packet size; size %r, max %r",
                len(buff),
                self.max_packet_size,
            )
        return
    with socket.socket(socket.AF_INET, socket.SOCK_DGRAM) as udp_socket:
        udp_socket.sendto(buff, self.address)