Beispiel #1
0
        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;
            }
        }
Beispiel #2
0
        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;
            }
        }
Beispiel #3
0
        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();
     }
 }
Beispiel #5
0
        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;
            }
        }