All pastes #39377 Raw Edit

Someone

public text v1 · immutable
#39377 ·published 2006-02-01 03:26 UTC
rendered paste body
void CUpDownClient::ProcessRequestPartsPacketv2(const CMemFile& data) {
	
	CMD4Hash reqfilehash = data.ReadHash();
	
	uint8 numblocks = data.ReadUInt8();
	
	for (int i = 0; i < numblocks; i++) {
		if ( CLogger::IsEnabled( logClient ) ) {
			wxString msg = wxString::Format(_("Client requests %u"), i);
			msg += wxT(" ") + wxString::Format(_("File block %u-%u (%d bytes):"), auStartOffsets[i], auEndOffsets[i], auEndOffsets[i] - auStartOffsets[i]);
			msg += wxT(" ") + GetFullIP();
			AddLogLineM(false, msg);
		}
		
		Requested_Block_Struct* reqblock = new Requested_Block_Struct;
		try {
			reqblock->StartOffset = data.GetIntTagValue();
			reqblock->EndOffset = data.GetIntTagValue();
			if (reqblock->StartOffset >= reqblock->EndOffset) {
				if ( CLogger::IsEnabled( logClient ) ) {
					AddLogLineM(false, _("Client request is invalid!"));
				}
				throw wxString(wxT("Client request is invalid!"));
			}
			md4cpy(reqblock->FileID, reqfilehash.GetHash());
			reqblock->transferred = 0;
			AddReqBlock(reqblock);
		} catch (...) {
			delete reqblock;
			throw;
		}
	}
}