public void Remove(VirtualSensor virtualSensor) { VirtualClient virtualClient = virtualSensor.VirtualClient; this.vcGroup.Remove(virtualClient); this.station.TransmitInstantDisappearance(virtualClient); virtualSensor.SetVersion(this.station.ID, this.station.PermanentAppearanceVersion); }
public void Add(VirtualSensor virtualSensor) { VirtualClient virtualClient = virtualSensor.VirtualClient; this.vcGroup.Add(virtualClient); this.station.TransmitPermanentAppearance(virtualClient, virtualSensor.GetVersion(this.station.ID)); this.station.TransmitInstantAppearance(virtualClient); }
private void TransferMessage(int id, EventArgs <ArraySegment <byte> > e) { VirtualClient virtualClient = this.virtualClientList[id & 65535]; if (virtualClient != null && virtualClient.ID == id) { virtualClient.ProcessReceive(e); } }
private void RemoveVirtualClient(int id) { VirtualClient virtualClient = this.virtualClientList[id & 65535]; if (virtualClient != null && virtualClient.ID == id) { virtualClient.ProcessDisconnect(); this.virtualClientList[id & 65535] = null; } }
public void Remove(VirtualClient virtualClient) { if (virtualClient.Server != this.server) { throw new ArgumentException("Different virtual server."); } Packet packet = new Packet(0) { InstanceId = (long)VirtualPacketFlag.GenerateFlag(TransrouterMessage.RemoveClientGroupMember, virtualClient.ID) }; VirtualPacketFlag.SetSecondaryTargetID(packet, this.id); this.server.Transmit(packet); }
private VirtualClient AddVirtualClient(int id, int ip, int port) { VirtualClient virtualClient = this.virtualClientList[id & 65535]; if (virtualClient != null) { if (virtualClient.ID == id) { return(virtualClient); } this.RemoveVirtualClient(virtualClient.ID); } virtualClient = new VirtualClient(this, id, ip, port); this.virtualClientList[id & 65535] = virtualClient; EventHandler <EventArgs <VirtualClient> > clientAccept = this.ClientAccept; if (clientAccept != null) { clientAccept(this, new EventArgs <VirtualClient>(virtualClient)); } return(virtualClient); }
public VirtualSensor(VirtualClient virtualClient) { this.virtualClient = virtualClient; this.versionList = new SortedDictionary <int, long>(); }