Beispiel #1
0
 /// <summary>
 /// 构造函数。
 /// </summary>
 /// <param name="remoteID">远程节点ID</param>
 /// <param name="userData">用户数据</param>
 /// <param name="timeDelay">传输时延。</param>
 /// <param name="defenseTech">消息延迟检测使用的防御技术。</param>
 public IncomingPackage(uint remoteID, byte[] userData, long timeDelay, MessageDelayDefenseTech defenseTech)
 {
     this.CreationTime      = DateTime.Now;
     this.RemoteID          = remoteID;
     this.UserData          = userData;
     this.TransmissionDelay = timeDelay;
     this.DefenseTech       = defenseTech;
 }
Beispiel #2
0
        /// <summary>
        /// 构造一个RSSP客户端配置。
        /// </summary>
        /// <param name="localID">本地编号。</param>
        /// <param name="localEquipType">本地设备类型。</param>
        /// <param name="appType">应用类型</param>
        /// <param name="defenseTech"></param>
        /// <param name="links">链路配置信息。</param>
        public RsspClientConfig(uint localID, byte localEquipType,
                                byte appType,
                                MessageDelayDefenseTech defenseTech,
                                Dictionary <uint, List <RsspTcpLinkConfig> > links)
        {
            if (links == null || links.Count == 0)
            {
                throw new ArgumentException("必须至少指定一条TCP链路。");
            }

            this.IsInitiator     = true;
            this.LocalID         = localID;
            this.LocalEquipType  = localEquipType;
            this.ApplicationType = appType;
            this.DefenseTech     = defenseTech;

            this.LinkInfo = new Dictionary <uint, List <RsspTcpLinkConfig> >(links);
        }
Beispiel #3
0
        void ISaiConnectionObserver.OnSaiUserDataArrival(uint remoteID, byte[] userData, long timeDelay, MessageDelayDefenseTech defenseTech)
        {
            try
            {
                var pkg = new IncomingPackage(remoteID, userData, timeDelay, defenseTech);

                _productCacheReceive.AddTail(pkg);

                this.CheckIncomgCacheThreshold();
            }
            catch (System.Exception)
            {
            }
        }