Skip to content

Commit 567d058

Browse files
committed
Use NSMutableData
1 parent 6d26727 commit 567d058

File tree

1 file changed

+3
-15
lines changed

1 file changed

+3
-15
lines changed

ReactiveTask/Task.swift

Lines changed: 3 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -241,35 +241,23 @@ private enum ReadData {
241241
case Aggregated(NSData)
242242
}
243243

244-
private func +(lhs: NSData, rhs: NSData) -> NSData {
245-
let result = NSMutableData()
246-
result.appendData(lhs)
247-
result.appendData(rhs)
248-
return result
249-
}
250-
251244
/// Takes ownership of the read handle from the given pipe, then sends
252245
/// `ReadData` values for all data read.
253246
private func aggregateDataReadFromPipe(pipe: Pipe) -> SignalProducer<ReadData, TaskError> {
254247
let readProducer = pipe.transferReadsToProducer()
255248

256249
return SignalProducer { observer, disposable in
257-
var buffer: NSData? = nil
250+
let buffer = NSMutableData()
258251

259252
readProducer.startWithSignal { signal, signalDisposable in
260253
disposable.addDisposable(signalDisposable)
261254

262255
signal.observe(Observer(next: { data in
263256
observer.sendNext(.Chunk(data))
264-
265-
if let existingBuffer = buffer {
266-
buffer = existingBuffer + data
267-
} else {
268-
buffer = data
269-
}
257+
buffer.appendData(data)
270258
}, failed: observer.sendFailed
271259
, completed: {
272-
observer.sendNext(.Aggregated(buffer ?? NSData()))
260+
observer.sendNext(.Aggregated(buffer))
273261
observer.sendCompleted()
274262
}, interrupted: observer.sendInterrupted
275263
))

0 commit comments

Comments
 (0)