Ejemplo n.º 1
0
 protected override void Decode(IChannelHandlerContext context, IByteBuffer input, List <object> output)
 {
     byte[] buffer = new byte[input.Capacity + 2];
     try
     {
         input.ReadBytes(buffer, 1, input.Capacity);
         buffer[0] = JT808Package.BeginFlag;
         buffer[input.Capacity + 1] = JT808Package.EndFlag;
         JT808Package jT808Package = JT808Serializer.Deserialize <JT808Package>(buffer);
         MsgSuccessCounter.Increment();
         output.Add(jT808Package);
         if (logger.IsEnabled(LogLevel.Debug))
         {
             logger.LogDebug("accept package success count<<<" + MsgSuccessCounter.Count.ToString());
         }
     }
     catch (JT808.Protocol.Exceptions.JT808Exception ex)
     {
         MsgFailCounter.Increment();
         if (logger.IsEnabled(LogLevel.Error))
         {
             logger.LogError("accept package fail count<<<" + MsgFailCounter.Count.ToString());
             logger.LogError(ex, "accept msg<<<" + buffer);
         }
     }
     catch (Exception ex)
     {
         MsgFailCounter.Increment();
         if (logger.IsEnabled(LogLevel.Error))
         {
             logger.LogError("accept package fail count<<<" + MsgFailCounter.Count.ToString());
             logger.LogError(ex, "accept msg<<<" + buffer);
         }
     }
 }
        public void Test1()
        {
            JT808AtomicCounter jT808AtomicCounter  = new JT808AtomicCounter();
            JT808AtomicCounter jT808AtomicCounter1 = new JT808AtomicCounter();

            Parallel.For(0, 1000, (i) =>
            {
                jT808AtomicCounter.Increment();
            });
            Assert.Equal(1000, jT808AtomicCounter.Count);
            Parallel.For(0, 1000, (i) =>
            {
                jT808AtomicCounter1.Increment();
            });
            Assert.Equal(1000, jT808AtomicCounter1.Count);
        }
Ejemplo n.º 3
0
 public long MsgSuccessIncrement()
 {
     return(MsgSuccessCounter.Increment());
 }
 public long MsgFailIncrement()
 {
     return(MsgFailCounter.Increment());
 }