Overview
Comment: | utils/ofhttp: Show ETA |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA3-256: |
65681d03424b1035bc31287de00bd569 |
User & Date: | js on 2015-05-16 23:59:39 |
Other Links: | manifest | tags |
Context
2015-05-17
| ||
01:42 | utils/ofhttp: Make sure bar width is >= 0 check-in: e4b34278f5 user: js tags: trunk | |
2015-05-16
| ||
23:59 | utils/ofhttp: Show ETA check-in: 65681d0342 user: js tags: trunk | |
20:29 | Rename OFDeflateStream -> OFInflateStream check-in: 2e9336b1ef user: js tags: trunk | |
Changes
Modified utils/ofhttp/ProgressBar.h from [41e4a8fdbc] to [88c7d2589b].
︙ | ︙ | |||
22 23 24 25 26 27 28 29 30 31 32 33 34 | @interface ProgressBar: OFObject { intmax_t _received, _lastReceived, _length, _resumedFrom; OFDate *_startDate, *_lastReceivedDate; OFTimer *_drawTimer, *_BPSTimer; bool _stopped; float _BPS; } - initWithLength: (intmax_t)length resumedFrom: (intmax_t)resumedFrom; - (void)setReceived: (intmax_t)received; - (void)draw; | > | | 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 | @interface ProgressBar: OFObject { intmax_t _received, _lastReceived, _length, _resumedFrom; OFDate *_startDate, *_lastReceivedDate; OFTimer *_drawTimer, *_BPSTimer; bool _stopped; float _BPS; double _ETA; } - initWithLength: (intmax_t)length resumedFrom: (intmax_t)resumedFrom; - (void)setReceived: (intmax_t)received; - (void)draw; - (void)calculateBPSAndETA; - (void)stop; @end |
Modified utils/ofhttp/ProgressBar.m from [54fb752c1d] to [258ce39ec5].
︙ | ︙ | |||
51 52 53 54 55 56 57 | scheduledTimerWithTimeInterval: UPDATE_INTERVAL target: self selector: @selector(draw) repeats: true] retain]; _BPSTimer = [[OFTimer scheduledTimerWithTimeInterval: 1.0 target: self | | > | 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 | scheduledTimerWithTimeInterval: UPDATE_INTERVAL target: self selector: @selector(draw) repeats: true] retain]; _BPSTimer = [[OFTimer scheduledTimerWithTimeInterval: 1.0 target: self selector: @selector( calculateBPSAndETA) repeats: true] retain]; objc_autoreleasePoolPop(pool); } @catch (id e) { [self release]; @throw e; } |
︙ | ︙ | |||
87 88 89 90 91 92 93 | uint_fast8_t i; float bars, percent; unsigned short barWidth; #ifdef HAVE_SYS_IOCTL_H struct winsize ws; if (ioctl(0, TIOCGWINSZ, &ws) == 0) | | | | 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 | uint_fast8_t i; float bars, percent; unsigned short barWidth; #ifdef HAVE_SYS_IOCTL_H struct winsize ws; if (ioctl(0, TIOCGWINSZ, &ws) == 0) barWidth = ws.ws_col - 37; else #endif barWidth = 43; bars = (float)(_resumedFrom + _received) / (_resumedFrom + _length) * barWidth; percent = (float)(_resumedFrom + _received) / (_resumedFrom + _length) * 100; [of_stdout writeString: @"\r ▕"]; |
︙ | ︙ | |||
127 128 129 130 131 132 133 | for (i = 0; i < barWidth - (uint_fast8_t)bars - 1; i++) [of_stdout writeString: @" "]; } [of_stdout writeFormat: @"▏ %6.2f%% ", percent]; | | > > | > > > > > > > > > > > > | 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 | for (i = 0; i < barWidth - (uint_fast8_t)bars - 1; i++) [of_stdout writeString: @" "]; } [of_stdout writeFormat: @"▏ %6.2f%% ", percent]; if (percent == 100) { double timeInterval = -[_startDate timeIntervalSinceNow]; _BPS = (float)_received / timeInterval; _ETA = timeInterval; } if (isinf(_ETA)) [of_stdout writeString: @"--:--:-- "]; else if (_ETA >= 99 * 3600) [of_stdout writeFormat: @"%4.2f d ", _ETA / (24 * 3600)]; else [of_stdout writeFormat: @"%2u:%02u:%02u ", (unsigned char)(_ETA / 3600), (unsigned char)(_ETA / 60) % 60, (unsigned char)_ETA % 60]; if (_BPS >= GIBIBYTE) [of_stdout writeFormat: @"%7.2f GiB/s", _BPS / GIBIBYTE]; else if (_BPS >= MEBIBYTE) [of_stdout writeFormat: @"%7.2f MiB/s", _BPS / MEBIBYTE]; else if (_BPS >= KIBIBYTE) [of_stdout writeFormat: @"%7.2f KiB/s", _BPS / KIBIBYTE]; |
︙ | ︙ | |||
179 180 181 182 183 184 185 | { if (_length > 0) [self _drawProgress]; else [self _drawReceived]; } | | > | 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 | { if (_length > 0) [self _drawProgress]; else [self _drawReceived]; } - (void)calculateBPSAndETA { _BPS = (float)(_received - _lastReceived) / -[_lastReceivedDate timeIntervalSinceNow];; _ETA = (double)(_length - _resumedFrom - _resumedFrom) / _BPS; _lastReceived = _received; [_lastReceivedDate release]; _lastReceivedDate = [[OFDate alloc] init]; } - (void)stop |
︙ | ︙ |