public static void Apply(this IProtocolConverter protocolConverter, byte[] destination, ref int index, object data, DataFlag dataFlag) { protocolConverter.Apply(destination, ref index, new DataContext() { Data = data, DataFlag = dataFlag }); }
public static T Resolve <T>(this IProtocolConverter protocolConverter, byte[] source, ref int index, DataFlag checkDataFlag) { var dataContext = protocolConverter.Resolve(source, ref index); if (dataContext.DataFlag != checkDataFlag) { throw new ProtocolException($"Data flag should be '{checkDataFlag}' bus is ''{dataContext.DataFlag}", ErrorCode.BadRequest); } return((T)dataContext.Data); }
public SocketProtocolHandler(IResolverSession session, IPacketStream packetStream, IProtocolConverter protocolConverter, IProtocolHandler protocolHandler) { this.ResolverSession = session; this.packetStream = packetStream ?? throw new ArgumentNullException(nameof(packetStream)); this.protocolHandler = protocolHandler ?? throw new ArgumentNullException(nameof(protocolHandler)); this.protocolConverter = protocolConverter ?? throw new ArgumentNullException(nameof(protocolConverter)); this.ConverterHeader = new ConverterHeader() { VersionMajor = 1 }; }
public SocketProtocolHandler(IResolverSession session, IPacketStream packetStream, IProtocolConverter protocolConverter, IHandlerProvider handlerProvider) : this(session, packetStream, protocolConverter, new MethodProtocolHandler(handlerProvider, session)) { }
public SocketProtocolHandler(IResolverSession session, Stream stream, IProtocolConverter protocolConverter, IHandlerProvider handlerProvider) : this(session, new PacketStream(stream), protocolConverter, handlerProvider) { }
public static T Resolve <T>(this IProtocolConverter protocolConverter, byte[] source, ref int index) { var dataContext = protocolConverter.Resolve(source, ref index); return((T)dataContext.Data); }
public static void ApplyData(this IProtocolConverter protocolConverter, byte[] destination, ref int index, object data) { Apply(protocolConverter, destination, ref index, data, DataFlag.Data); }