/// <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; }
/// <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); }
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) { } }