File: //usr/lib/python3/dist-packages/boto/glacier/__pycache__/concurrent.cpython-310.pyc
o
ckF[YC � @ s� d dl Z d dlZd dlZd dlZd dlZd dlZd dlmZ d dlZd dl m
Z
mZmZm
Z
mZ d dlmZmZmZ e� Ze�d�ZG dd� de�ZG dd � d e�ZG d
d� dej�ZG dd
� d
e�ZG dd� de�ZG dd� de�ZdS )� N)�Queue)�DEFAULT_PART_SIZE�minimum_part_size�chunk_hashes� tree_hash�bytes_to_hex)�UploadArchiveError�DownloadArchiveError�TreeHashDoesNotMatchErrorzboto.glacier.concurrentc @ s2 e Zd Zedfdd�Zdd� Zdd� Zdd � Zd
S )�ConcurrentTransferer�
c C s || _ || _g | _d S �N)�
_part_size�_num_threads�_threads)�self� part_size�num_threads� r �9/usr/lib/python3/dist-packages/boto/glacier/concurrent.py�__init__+ s
zConcurrentTransferer.__init__c C sL t |�}| j|kr
| j}n
|}t�d| j|� tt�|t|� ��}||fS )NzfThe part size specified (%s) is smaller than the minimum required part size. Using a part size of: %s)r r �log�debug�int�math�ceil�float)r �
total_size�min_part_size_requiredr �total_partsr r r �_calculate_required_part_size0 s
�z2ConcurrentTransferer._calculate_required_part_sizec C s>