public void HandleStreamEvent(NSStream stream, NSStreamEvent streamEvent) { switch (streamEvent) { case NSStreamEvent.ErrorOccurred: _streamSubject.OnError(new StreamException("Failed to read stream")); break; case NSStreamEvent.EndEncountered: _streamSubject.OnNext(new StreamData(null, -1)); _streamSubject.OnCompleted(); break; case NSStreamEvent.OpenCompleted: IsOpen = true; break; case NSStreamEvent.HasBytesAvailable: var buffer = new byte[MAX_READ_BYTES_SIZE]; var len = (stream as NSInputStream).Read(buffer, (nuint)MAX_READ_BYTES_SIZE); if (len > 0) { _streamSubject.OnNext(new StreamData(buffer, (int)len)); } break; } }
public override void HandleEvent(NSStream theStream, NSStreamEvent streamEvent) { switch (streamEvent) { case NSStreamEvent.None: Console.WriteLine("StreamEventNone"); break; case NSStreamEvent.HasBytesAvailable: Console.WriteLine("StreamEventHasBytesAvailable"); ReadData(); break; case NSStreamEvent.HasSpaceAvailable: Console.WriteLine("StreamEventHasSpaceAvailable"); // Do write operations to the device here break; case NSStreamEvent.OpenCompleted: Console.WriteLine("StreamEventOpenCompleted"); break; case NSStreamEvent.ErrorOccurred: Console.WriteLine("StreamEventErroOccurred"); break; case NSStreamEvent.EndEncountered: Console.WriteLine("StreamEventEndEncountered"); break; default: Console.WriteLine("Stream present but no event"); break; } }
public override void HandleEvent(NSStream theStream, NSStreamEvent streamEvent) { Console.WriteLine("Handle Event"); var time = DateTime.Now; switch (streamEvent) { case NSStreamEvent.OpenCompleted: Console.WriteLine("Open completed {0:T}", time); break; case NSStreamEvent.HasBytesAvailable: Console.WriteLine("Has Bytes Available {0:T}", time); this.readReceivedDataStream(); break; case NSStreamEvent.HasSpaceAvailable: Console.WriteLine("Has Space Available {0:T}", time); break; case NSStreamEvent.ErrorOccurred: Console.WriteLine("Error Occured {0:T}", time); break; case NSStreamEvent.EndEncountered: Console.WriteLine("End Encountered"); break; } }
public override void HandleEvent(NSStream theStream, NSStreamEvent streamEvent) { if (theStream == _stream._outputStream && streamEvent == NSStreamEvent.HasSpaceAvailable) { _stream._streamReady = true; _stream.Flush(); } }
public void HandleStreamEvent(NSStream stream, NSStreamEvent streamEvent) { switch (streamEvent) { case NSStreamEvent.ErrorOccurred: break; case NSStreamEvent.EndEncountered: break; case NSStreamEvent.OpenCompleted: IsOpen = true; break; case NSStreamEvent.HasSpaceAvailable: break; } }