/// <summary> /// Отправка фрейма для проверки связи /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void BtnSendEthernetFrame_Click(object sender, RoutedEventArgs e) { ChannelLevel channelLevel = new ChannelLevel(); Networks.Frames.Ethernet ethernet = new Networks.Frames.Ethernet(CanvasDeviceCash.DeviceObject.MACAdress, TxbMacaddressToTest.Text, FrameType.Ethernet, DateTime.Now.TimeOfDay); channelLevel.ExecuteProtocol(new Networks.Protocols.Ethernet(), CanvasDeviceCash.DeviceObject, ethernet); }
/// <summary> /// Конструктор устройства /// </summary> /// <param name="id">Уникальный идентификатор</param> /// <param name="type">Тип устройства</param> public Device(int id, DeviceType type) { this.Id = id; this.Type = type; this.Cash = new List <Frame>(); this.Sniffer = new List <Frame>(); this.CashBPDU = new List <BPDU>(); this.MACAdress = Other.GenerateMacAdress(); this.IsSniffering = false; //Инициализация канального уровня ChannelLevel = new ChannelLevel(); }
/// <summary> /// Срабатывает, каждый интервал срабатывания таймера /// </summary> /// <param name="obj">Просто, какой объект</param> private void RealTime(object obj) { //Сброс портов, если устройства отключается из сети foreach (var Port in this.DataPorts) { if (Port.Device == null && this.RootSwitch) { Port.PortStpRole = PortSTPRole.NondesignatedPort; } } ChannelLevel.ExecuteProtocol(new STP(), this); ChannelLevel.ProccessingCash(new STP(), this.Cash, this); ChannelLevel.ProccessingCash(new Ethernet(), this.Cash, this); this.Cash.Clear(); }
public override void ReadData(CitpBinaryReader data) { base.ReadData(data); int count = data.ReadUInt16(); for (int n = 0; n < count; n++) { ChannelLevel level = new ChannelLevel() { UniverseIndex = data.ReadByte(), Channel = data.ReadUInt16(), Level = data.ReadByte() }; ChannelLevels.Add(level); } }
private void AddNick(ChannelLevel level, string nick) { this.RemoveNick(nick); var cn = new NicknameItem(level, nick); int count = this.Nicknames.Count; if (count == 0 || cn.CompareTo(this.Nicknames[count - 1]) >= 0) { this.Nicknames.Add(cn); } else { int i; for (i = 0; i < this.Nicknames.Count; i++) { if (cn.CompareTo(this.Nicknames[i]) < 0) { break; } } this.Nicknames.Insert(i, cn); } }
public void RegisterChannel(ChannelLevel cl) { activeChannels.Add(cl); if (waitForRegister) { waitForRegister = false; cl.transform.position = Vector3.one * 1000 * (channelIndex + 1); lockInput = false; if (c [channelIndex] == null) { c [channelIndex] = new Channel(); } c [channelIndex].SetChannelLevel(cl); cl.StartLevel.Invoke(); cl.GainFocus.Invoke(); //cl.GetCamera ().gameObject.AddComponent<CameraFilterPack_TV_80> ().Fade=0.25f; if (rt) { cl.GetCamera().targetTexture = rt; cl.GetCamera().depth = 5; } } }
public NicknameItem(ChannelLevel level, string nick) { this.Nickname = nick; this.Level = level; }
public NicknameItem(ChannelLevel level, string nickname) { this.Level = level; this.Nickname = nickname; this.Content = this.ToString(); }
public void SetChannelLevel(ChannelLevel cl) { this.cl = cl; }