コード例 #1
0
ファイル: XBeeApi.cs プロジェクト: jamespettigrew/GBee
        public XBeeResponse[] CollectResponses(int timeout = -1, IPacketFilter filter = null)
        {
            var listener = new PacketListener(filter);

            try
            {
                AddPacketListener(listener);
                return listener.GetPackets(timeout);
            }
            finally
            {
                RemovePacketListener(listener);
            }
        }
コード例 #2
0
ファイル: XBeeApi.cs プロジェクト: jamespettigrew/GBee
        public XBeeResponse Receive(Type expectedType = null, int timeout = PacketParser.DefaultParseTimeout)
        {
            var listener = new PacketListener(new PacketTypeFilter(expectedType ?? typeof(XBeeResponse)));

            try
            {
                AddPacketListener(listener);
                var responses =  listener.GetPackets(timeout);

                if (responses.Length == 0)
                    throw new XBeeTimeoutException();

                return responses[0];
            }
            finally
            {
                _parser.RemovePacketListener(listener);
            }
        }
コード例 #3
0
ファイル: XBeeApi.cs プロジェクト: jamespettigrew/GBee
 public AsyncSendResult BeginSend(XBeeRequest request, IPacketFilter filter = null, int timeout = 5000)
 {
     var responseListener = new PacketListener(filter, timeout);
     AddPacketListener(responseListener);
     SendRequest(request);
     return new AsyncSendResult(this, responseListener);
 }