File tree Expand file tree Collapse file tree 1 file changed +3
-15
lines changed
Expand file tree Collapse file tree 1 file changed +3
-15
lines changed Original file line number Diff line number Diff 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.
253246private 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 ) )
You can’t perform that action at this time.
0 commit comments