Lines Matching refs:params
38 CommandResult AbortCommandFn::Execute(const Command ¶ms)
43 CommandResult NewCommandFn::Execute(const Command ¶ms)
46 bs.ParserAndInsert(params.GetArgumentByPos(1));
48 auto writerThreadInfo = params.GetTransferParams()->writerThreadInfo.get();
50 writerThreadInfo->writer = std::make_unique<BlockWriter>(params.GetFileDescriptor(), bs);
68 params.GetTransferParams()->written += bs.TotalBlockSize();
72 CommandResult ZeroAndEraseCommandFn::Execute(const Command ¶ms)
75 if (params.GetCommandType() == CommandType::ERASE) {
81 if (fstat(params.GetFileDescriptor(), &statBlock) == -1) {
94 blk.ParserAndInsert(params.GetArgumentByPos(1));
95 LOG(INFO) << "Parser params to block set";
96 auto ret = CommandResult(blk.WriteZeroToBlock(params.GetFileDescriptor(), isErase));
98 params.GetTransferParams()->written += blk.TotalBlockSize();
103 bool LoadTarget(const Command ¶ms, size_t &pos, std::vector<uint8_t> &buffer,
106 CommandType type = params.GetCommandType();
108 std::string srcHash = params.GetArgumentByPos(pos++);
111 tgtHash = params.GetArgumentByPos(pos++);
115 std::string cmdTmp = params.GetArgumentByPos(pos++);
120 if (targetBlock.ReadDataFromBlock(params.GetFileDescriptor(), tgtBuffer) == 0) {
131 std::string blockLen = params.GetArgumentByPos(pos++);
134 if (targetBlock.LoadTargetBuffer(params, buffer, srcBlockSize, pos, srcHash) != 0) {
143 int32_t DiffAndMoveCommandFn::WriteDiffToBlock(const Command ¶ms, std::vector<uint8_t> &srcBuffer,
146 CommandType type = params.GetCommandType();
147 return targetBlock.WriteDiffToBlock(params, srcBuffer, patchBuffer, patchLength, type == CommandType::IMGDIFF);
150 CommandResult DiffAndMoveCommandFn::Execute(const Command ¶ms)
152 CommandType type = params.GetCommandType();
161 if (!LoadTarget(params, pos, buffer, targetBlock, result)) {
164 if (!params.GetTransferParams()->canWrite) {
171 size_t offset = Utils::String2Int<size_t>(params.GetArgumentByPos(pos++), Utils::N_DEC);
172 size_t patchLength = Utils::String2Int<size_t>(params.GetArgumentByPos(pos++), Utils::N_DEC);
173 uint8_t *patchBuffer = params.GetTransferParams()->patchDataBuffer + offset;
174 ret = WriteDiffToBlock(params, buffer, patchBuffer, patchLength, targetBlock);
176 ret = targetBlock.WriteDataToBlock(params.GetFileDescriptor(), buffer) == 0 ? -1 : 0;
182 std::string storeBase = params.GetTransferParams()->storeBase;
183 std::string freeStash = params.GetTransferParams()->freeStash;
188 params.GetTransferParams()->freeStash.clear();
190 params.GetTransferParams()->written += targetBlock.TotalBlockSize();
194 CommandResult FreeCommandFn::Execute(const Command ¶ms)
196 std::string shaStr = params.GetArgumentByPos(1);
197 std::string storeBase = params.GetTransferParams()->storeBase;
198 if (params.GetTransferParams()->storeCreated == 0) {
204 CommandResult StashCommandFn::Execute(const Command ¶ms)
207 const std::string shaStr = params.GetArgumentByPos(pos++);
210 srcBlk.ParserAndInsert(params.GetArgumentByPos(pos++));
214 std::string storeBase = params.GetTransferParams()->storeBase;
221 if (srcBlk.ReadDataFromBlock(params.GetFileDescriptor(), buffer) == 0) {
226 if (res != 0 && !params.GetTransferParams()->canWrite) {
227 res = BlockVerify(params, buffer, srcBlockSize, shaStr, pos);