public void TestInputClientHandshake() { InputClientHandshake packet = NanoPacketFactory .ParsePacket(ResourcesProvider.GetBytes("tcp_input_client_handshake.bin", ResourceType.Nano), _context) as InputClientHandshake; Assert.NotNull(packet); Assert.NotNull(packet.Header); Assert.Equal <NanoChannel>(NanoChannel.Input, packet.Channel); Assert.Equal <NanoPayloadType>(NanoPayloadType.Streamer, packet.Header.PayloadType); Assert.Equal <InputPayloadType>(InputPayloadType.ClientHandshake, (InputPayloadType)packet.StreamerHeader.PacketType); Assert.Equal <StreamerFlags>(StreamerFlags.GotSeqAndPrev | StreamerFlags.Unknown1, packet.StreamerHeader.Flags); Assert.Equal <uint>(1, packet.StreamerHeader.SequenceNumber); Assert.Equal <uint>(0, packet.StreamerHeader.PreviousSequenceNumber); Assert.Equal <uint>(10, packet.MaxTouches); Assert.Equal <ulong>(1498690645999, packet.ReferenceTimestamp); }
public async Task OpenAsync(uint desktopWidth, uint desktopHeight) { // -> Console to client // <- Client to console // Input Feedback // -> ChannelCreate // -> ChannelOpen // <- ChannelOpen // <- ServerHandshake // -> ClientHandshake DesktopWidth = desktopWidth; DesktopHeight = desktopHeight; Task <ChannelCreate> waitCreateTask = WaitForMessageAsync <ChannelCreate>( TimeSpan.FromSeconds(3), startAction: null, filter: p => p.Channel == NanoChannel.InputFeedback); Task <ChannelOpen> openTask = WaitForMessageAsync <ChannelOpen>( TimeSpan.FromSeconds(3), startAction: null, filter: open => open.Channel == NanoChannel.InputFeedback); await Task.WhenAll(waitCreateTask, openTask); await _transport .SendChannelOpen(NanoChannel.InputFeedback, openTask.Result.Flags); InputClientHandshake handshake = await WaitForMessageAsync <InputClientHandshake>( TimeSpan.FromSeconds(3), async() => await SendServerHandshakeAsync(), p => p.Channel == NanoChannel.InputFeedback ); MaxTouches = handshake.MaxTouches; ReferenceTimestampUlong = handshake.ReferenceTimestamp; }
public abstract void OnClientHandshake(InputClientHandshake handshake);
private async Task SendClientHandshakeAsync() { InputClientHandshake packet = new InputClientHandshake(10, ReferenceTimestampUlong); await SendAsync(packet); }
public override void OnClientHandshake(InputClientHandshake handshake) { }
public override void OnClientHandshake(InputClientHandshake handshake) { throw new NotImplementedException(""); }