code: def _compute_remote_size(self, options):
          # type: (Descriptor, blobxfer.models.options.Upload) -> None
          
          size = self.local_path.size
          if (self._ase.mode == blobxfer.models.azure.StorageModes.Page and
                  self.local_path.use_stdin):
              if options.stdin_as_page_blob_size == 0:
                  allocatesize = _MAX_PAGE_BLOB_SIZE
                  self._needs_resize = True
              else:
                  allocatesize = options.stdin_as_page_blob_size
          elif size > 0:
              if self._ase.is_encrypted:
                  # cipher_len_without_iv = (clear_len / aes_bs + 1) * aes_bs
                  allocatesize = (size // self._AES_BLOCKSIZE + 1) * \
                      self._AES_BLOCKSIZE
              else:
                  allocatesize = size
          else:
              allocatesize = 0
          self._ase.size = allocatesize
          if blobxfer.util.is_not_empty(self._ase.replica_targets):
              for rt in self._ase.replica_targets:
                  rt.size = allocatesize
          if self._verbose:
              logger.debug('remote size for {} is {} bytes'.format(
                  self._ase.path, self._ase.size))
docs: Compute total remote file size
          :param Descriptor self: this
          :param blobxfer.models.options.Upload options: upload options
          :rtype: int
          :return: remote file size