public DeviceSerialDataTransport(SerialPortDataTransportSettings settings, EncodingDecorator deviceEncoding, ILogger logger) :
     base(new MonitoredCachedChannelFactory <Device>(
              new Codec <Device>(deviceEncoding)),
          settings,
          logger)
 {
 }
示例#2
0
 public Encoding(EncodingDecorator encoding, IEnumerable <EncodingDecorator> encodingsList) : this(encoding)
 {
     foreach (var encodingItem in encodingsList)
     {
         Register(encodingItem);
     }
 }
        public static IServiceCollection AddNetworkTransport <T>(
            this IServiceCollection serviceCollection,
            EncodingDecorator encoding,
            TcpDataTransportSettings settings) where T : IPacket, new()
        {
            var codec = new Codec <T>(encoding);

            return(serviceCollection
                   .AddSingleton(codec)
                   .AddSingleton(new TcpDataTransport <T>(new MonitoredCachedChannelFactory <T>(codec),
                                                          settings)));
        }
示例#4
0
        public PacketCodec(IEnumerable <PacketEncodingBuilder> PacketEncodingBuilderList)
        {
            _ancestorPacketEncodings = new Dictionary <Type, AncestorPacketEncoding>();
            AncestorPacketEncodings  = new ReadOnlyDictionary <Type, AncestorPacketEncoding>(_ancestorPacketEncodings);
            _defaultCommandPacketEncodingBuilders.AddRange(PacketEncodingBuilderList.Where(o => o.Build().GetType().BaseType.GetGenericTypeDefinition() == typeof(FunctionPacketEncoding <>)));
            _defaultDataPacketEncodingBuilders.AddRange(PacketEncodingBuilderList.Where(o => o.Build().GetType().BaseType.GetGenericTypeDefinition() == typeof(AncestorPacketEncoding)));

            EncodingBuilder = Packet.Encoding.CreateBuilder(new[] {
                Data.Encoding.CreateBuilder(_defaultDataPacketEncodingBuilders),
                Command.Encoding.CreateBuilder(_defaultCommandPacketEncodingBuilders)
            });
            encoding = EncodingBuilder.Build();
            var PacketEncoding = ((DescendantPacketEncoding <Packet>)encoding.FindDecoratedEncoding <DescendantPacketEncoding <Packet> >());
            var DataEncoding   = ((DescendantPacketEncoding <Data>)PacketEncoding.EncodingDictionary[PacketEncoding.IdDictionary[typeof(Data)]].FindDecoratedEncoding <DescendantPacketEncoding <Data> >());

            foreach (var item in DataEncoding.IdDictionary)
            {
                _ancestorPacketEncodings.Add(item.Key, (AncestorPacketEncoding)DataEncoding.EncodingDictionary[item.Value]);
            }
        }
 public Encoding(EncodingDecorator encoding) : base(encoding, 0xA5, typeof(BaudrateConfigurationAndQueryOutput))
 {
 }
 public Encoding(EncodingDecorator encoding, CommandDelegate command) : base(encoding, 2, typeof(LightCommand))
 {
     _command = command;
 }
示例#7
0
 public Encoding(EncodingDecorator encoding) : base(encoding, 9, typeof(PedalSetting))
 {
 }
示例#8
0
 public Encoding(EncodingDecorator encoding) : base(encoding, 2, typeof(BatteryOutput))
 {
 }
示例#9
0
 public Encoding(EncodingDecorator encoding) : base(encoding)
 {
     Register(new OutputConfigurationRegister.Encoding());
 }
 public Encoding(EncodingDecorator encoding) : base(encoding, 0xAA, typeof(OutputConfigurationRegister))
 {
 }
 public Encoding(EncodingDecorator encoding) : base(encoding, 4, typeof(CoreSituation))
 {
 }
示例#12
0
 public Encoding(EncodingDecorator encoding) : base(encoding, new byte[] { 0x5A, 0x5A })
 {
 }
示例#13
0
 public Encoding(EncodingDecorator encoding) : base(encoding, 12, typeof(ThrottleConfiguration))
 {
 }
示例#14
0
 public Encoding(EncodingDecorator encoding) : base(encoding, 6, typeof(LightSetting))
 {
 }
示例#15
0
 public Encoding(EncodingDecorator encoding) : base(encoding, 7, typeof(LightState))
 {
 }
示例#16
0
 public Encoding(EncodingDecorator encoding) : base(encoding, 10, typeof(ServoInput))
 {
 }
示例#17
0
 public Encoding(EncodingDecorator encoding, CommandDelegate command) : base(encoding, 1, typeof(CruiseCommand))
 {
     _command = command;
 }
示例#18
0
 public Encoding(EncodingDecorator encoding) : base(encoding, 1, typeof(BatteryConfiguration))
 {
 }
示例#19
0
 protected Encoding(EncodingDecorator encoding) : base(encoding)
 {
 }
示例#20
0
 public Encoding(EncodingDecorator encoding) : base(encoding, 11, typeof(ServoOutput))
 {
 }
示例#21
0
 public Encoding(EncodingDecorator encoding) : base(encoding, 5, typeof(Fault))
 {
 }
示例#22
0
 public Codec(EncodingDecorator encoding)
 {
     Encoding = encoding;
 }
 public Encoding(EncodingDecorator encoding) : base(encoding, 3, typeof(CoreConfiguration))
 {
 }
示例#24
0
 public Encoding(EncodingDecorator encoding, CommandDelegate command) : base(encoding, 3, typeof(ReadCommand))
 {
     _command = command;
 }
示例#25
0
 public Encoding(EncodingDecorator encoding) : base(encoding)
 {
 }
 public Encoding(EncodingDecorator encoding) : base(encoding, 8, typeof(PedalConfiguration))
 {
 }