_client = $client; $this->_destination = $destination; } /** * @return object */ public function prepare():object { return new \stdClass(); } public function setData(object $data):void {} /** * @return int * @throws IOException */ public function getOffset():int { return $this->_client->_client('getFileSize', $this->_destination); } /** * @return int|null */ public function getChunkSize():?int { return null; } /** * @param FileChunk $chunk * * @return void * @throws IOException */ public function upload(FileChunk $chunk):void { $this->_client->_client('uploadChunk', $chunk, $this->_destination); } /** * @return void */ public function finalize():void {} }