示例#1
0
            public override IAsyncResult BeginWrite(byte[] buffer, int offset, int count, AsyncCallback callback, object state)
            {
                IAsyncResult ar = base.BeginWrite(buffer, offset, count, callback, state);

                m_port.NewEvent(EventThatFreesPendingWrite);
                m_port.NewEvent(EventThatFreesPendingWrite);
                m_port.NewEvent(EventThatFreesPendingWrite);
                m_port.NewEvent(EventThatFreesPendingWrite);
                m_port.NewEvent(EventThatFreesPendingWrite);
                return(ar);
            }
示例#2
0
        private static void ConnectBluetoothClient(TestRfcommPort port, BluetoothClient cli)
        {
            BluetoothEndPoint bep = new BluetoothEndPoint(BluetoothAddress.Parse("00:1F:2E:3D:4C:5B"),
                                                          InTheHand.Net.Bluetooth.BluetoothService.Empty, 5);

            byte[]    AddressInWidcomm = CanonicalOrderBytes(bep.Address);
            const int ChannelNumber    = 5;
            //
            IAsyncResult ar;

            //
            // Success
            port.SetOpenClientResult(PORT_RETURN_CODE.SUCCESS);
            ar = cli.BeginConnect(bep, null, null);
            port.AssertOpenClientCalledAndClear(AddressInWidcomm, ChannelNumber);
            port.NewEvent(PORT_EV.CONNECTED);
            TestsApmUtils.SafeNoHangWaitShort(ar, "Connect 1");
            Assert.IsTrue(ar.IsCompleted, "Connect 1 completed");
            cli.EndConnect(ar);
        }
示例#3
0
 void ISocketPortBuffers.AllowWrite(ushort len)
 {
     _port.SetWriteResult(len);
     // In case there's any writers already pending we need to release them.
     _port.NewEvent(InTheHand.Net.Bluetooth.Widcomm.PORT_EV.TXEMPTY);
 }