From 6e75712d33e57ceb6ac6711796713b5ecc1ee808 Mon Sep 17 00:00:00 2001 From: zymxxxs Date: Sat, 23 May 2020 22:23:35 +0800 Subject: [PATCH] feat: remove defer to improve UT --- YMHTTP/curl/YMEasyHandle.m | 31 ++++++++++++++----------------- 1 file changed, 14 insertions(+), 17 deletions(-) diff --git a/YMHTTP/curl/YMEasyHandle.m b/YMHTTP/curl/YMEasyHandle.m index 77a42ca..a769e6e 100644 --- a/YMHTTP/curl/YMEasyHandle.m +++ b/YMHTTP/curl/YMEasyHandle.m @@ -254,7 +254,8 @@ - (void)updatePauseState:(YMEasyHandlePauseState)pauseState { NSUInteger send = pauseState & YMEasyHandlePauseStateSend; NSUInteger receive = pauseState & YMEasyHandlePauseStateReceive; int bitmask = 0 | (send ? CURLPAUSE_SEND : CURLPAUSE_SEND_CONT) | (receive ? CURLPAUSE_RECV : CURLPAUSE_RECV_CONT); - YM_ECODE(curl_easy_pause(self.rawHandle, bitmask)); + int code = curl_easy_pause(self.rawHandle, bitmask); + YM_ECODE(code); // https://curl.haxx.se/libcurl/c/curl_easy_pause.html // Starting in libcurl 7.32.0, unpausing a transfer will schedule a timeout trigger for that handle 1 millisecond @@ -417,36 +418,32 @@ - (void)setCookiesWithHeaderData:(NSData *)data { size_t _curl_write_function(char *data, size_t size, size_t nmemb, void *userdata) { YMEasyHandle *handle = from(userdata); if (!handle) return 0; - - @YM_DEFER { - [handle resetTimer]; - }; - - return [handle didReceiveData:data size:size nmemb:nmemb]; + + size_t code = [handle didReceiveData:data size:size nmemb:nmemb]; + [handle resetTimer]; + + return code; } size_t _curl_read_function(char *data, size_t size, size_t nmemb, void *userdata) { YMEasyHandle *handle = from(userdata); if (!handle) return 0; - @YM_DEFER { - [handle resetTimer]; - }; - - return [handle fillWriteBuffer:data size:size nmemb:nmemb]; + size_t code = [handle fillWriteBuffer:data size:size nmemb:nmemb]; + [handle resetTimer]; + + return code; } size_t _curl_header_function(char *data, size_t size, size_t nmemb, void *userdata) { YMEasyHandle *handle = from(userdata); if (!handle) return 0; - @YM_DEFER { - [handle resetTimer]; - }; - double length; YM_ECODE(curl_easy_getinfo(handle.rawHandle, CURLINFO_CONTENT_LENGTH_DOWNLOAD, &length)); - return [handle didReceiveHeaderData:data size:size nmemb:nmemb contentLength:length]; + size_t code = [handle didReceiveHeaderData:data size:size nmemb:nmemb contentLength:length]; + [handle resetTimer]; + return code; } int _curl_seek_function(void *userdata, curl_off_t offset, int origin) {