public ServerObjectAvailabilityChanged(RoutingMetaPacket internalMetaPacket) : base(internalMetaPacket) { InternalMetaPacket.PacketId = AEPacketId.ServerNewObjectAvailable; RoutingObject = InternalPacket.ReadRoutingComponent(); Available = InternalPacket.ReadBoolean(); }
public ClientHandshakeBeginPacket(RoutingMetaPacket metaPacket) : base(metaPacket) { InternalMetaPacket.PacketId = AEPacketId.ClientHandshakeBegin; Protocol = InternalPacket.ReadUInt32(); Password = InternalPacket.ReadShortString(); Component = InternalPacket.ReadRoutingComponent(); }
public ServerHandshakeResultPacket(RoutingMetaPacket metaPacket) : base(metaPacket) { InternalMetaPacket.PacketId = AEPacketId.ServerHandshakeResult; Result = ReadSHRPResult(); if (Result == SHRPResult.Success) { OurComponent = InternalPacket.ReadRoutingComponent(); OtherAvailableComponents = InternalPacket.ReadList(PacketExtensions.ReadRoutingComponent); } }
public async Task HandlePacket(RoutingMetaPacket metaPacket, TPacketContext context) { var packet = new AEPacket(metaPacket); // If authentication doesn't matter, handle packet here and return if (!context.Authenticated) { switch (packet.PacketId) { case AEPacketId.ClientHandshakeBegin: await ClientHandshakeBeginHandler(new ClientHandshakeBeginPacket(metaPacket), context); break; case AEPacketId.ServerHandshakeResult: await ServerHandshakeResultHandler(new ServerHandshakeResultPacket(metaPacket), context); break; default: throw new InvalidPacketException( $"Received ({packet.PacketId}) requiring context to be unauthenticated but we are authenticated"); } } else { switch (packet.PacketId) { case AEPacketId.ServerNewObjectAvailable: await ServerNewObjectAvailableHandler(new ServerObjectAvailabilityChanged(metaPacket), context); break; default: throw new InvalidPacketException( $"Received ({packet.PacketId}) requiring context to be authenticated but we are unauthenticated"); } } }