async def container_size(self, container_len=None, container_type=None, params=None):
        """
        Container size
        :param container_len:
        :param container_type:
        :param params:
        :return:
        """
        if hasattr(container_type, 'boost_serialize'):
            raise ValueError('not supported')

        if self.writing:
            await dump_uvarint(self.iobj, container_len)
            if not container_is_raw(container_type, params):
                c_elem = x.container_elem_type(container_type, params)
                c_ver = TypeWrapper(c_elem)
                await dump_uvarint(self.iobj, self._cur_version(c_ver))  # element version

            if container_type.FIX_SIZE and container_len != container_type.SIZE:
                raise ValueError('Fixed size container has not defined size: %s' % container_type.SIZE)

        else:
            raise ValueError('Not supported')