Esempio n. 1
0
        public IConnection NewConnection(INode localEndpoint, INode remoteEndpoint)
        {
            var connection = CreateConnection(localEndpoint, remoteEndpoint);

            connection.Configure(Config);

            if (ReceivedData != null)
            {
                connection.Receive += (ReceivedDataCallback)ReceivedData.Clone();
            }
            if (ConnectionEstablishedCallback != null)
            {
                connection.OnConnection += (ConnectionEstablishedCallback)ConnectionEstablishedCallback.Clone();
            }
            if (ConnectionTerminatedCallback != null)
            {
                connection.OnDisconnection += (ConnectionTerminatedCallback)ConnectionTerminatedCallback.Clone();
            }
            if (ExceptionCallback != null)
            {
                connection.OnError += (ExceptionCallback)ExceptionCallback.Clone();
            }

            return(connection);
        }
Esempio n. 2
0
        public IReactor NewReactor(INode listenAddress)
        {
            var reactor = NewReactorInternal(listenAddress);

            reactor.Configure(Config);

            if (ReceivedData != null)
            {
                reactor.OnReceive += (ReceivedDataCallback)ReceivedData.Clone();
            }
            if (ConnectionEstablishedCallback != null)
            {
                reactor.OnConnection += (ConnectionEstablishedCallback)ConnectionEstablishedCallback.Clone();
            }
            if (ConnectionTerminatedCallback != null)
            {
                reactor.OnDisconnection += (ConnectionTerminatedCallback)ConnectionTerminatedCallback.Clone();
            }
            if (ExceptionCallback != null)
            {
                reactor.OnError += (ExceptionCallback)ExceptionCallback.Clone();
            }

            return(reactor);
        }
Esempio n. 3
0
 public new ClientBootstrap OnConnect(ConnectionEstablishedCallback connectionEstablishedCallback)
 {
     base.OnConnect(connectionEstablishedCallback);
     return(this);
 }
Esempio n. 4
0
 public void AddConnectionEstablishedCallback(ConnectionEstablishedCallback callback)
 {
     ConnectionEstablished += callback;
 }
Esempio n. 5
0
 public new ClientBootstrap OnConnect(ConnectionEstablishedCallback connectionEstablishedCallback)
 {
     base.OnConnect(connectionEstablishedCallback);
     return this;
 }
Esempio n. 6
0
 public virtual AbstractBootstrap OnConnect(ConnectionEstablishedCallback connectionEstablishedCallback)
 {
     ConnectionEstablishedCallback = connectionEstablishedCallback;
     return(this);
 }
Esempio n. 7
0
        //metoda wywołana gdy agent odbierze wiadomość ESTABLISHED clientNAME port vpi vci
        public void connectionEstablished(String clientName, int port, int vpi, int vci)
        {
            if (this.InvokeRequired) {
                ConnectionEstablishedCallback d = new ConnectionEstablishedCallback(connectionEstablished);
                this.Invoke(d, new object[] { clientName, port, vpi, vci });
            } else {
                if (otherClients.Count == 0) {
                    otherClients.Add(clientName);
                    List<PortVPIVCI> temp = new List<PortVPIVCI>();
                    if (VCArray.TryGetValue(clientName, out temp)) {
                        temp.Add(new PortVPIVCI(port, vpi, vci));
                        VCArray.Remove(clientName);
                        VCArray.Add(clientName, temp);
                    } else {
                        temp.Add(new PortVPIVCI(port, vpi, vci));
                        VCArray.Add(clientName, temp);
                    }
                }
                try {
                    foreach (String name in otherClients) {
                        if (name == clientName) {
                            if (!VCArray.ContainsKey(clientName)) {
                                List<PortVPIVCI> temp = new List<PortVPIVCI>();
                                temp.Add(new PortVPIVCI(port, vpi, vci));
                                VCArray.Add(clientName, temp);

                            } else {
                                List<PortVPIVCI> temp = new List<PortVPIVCI>();
                                if (VCArray.TryGetValue(clientName, out temp)) {
                                    temp.Add(new PortVPIVCI(port, vpi, vci));
                                    VCArray.Remove(clientName);
                                    VCArray.Add(clientName, temp);
                                }
                            }
                        } else {
                            otherClients.Add(clientName);
                            List<PortVPIVCI> temp = new List<PortVPIVCI>();
                            temp.Add(new PortVPIVCI(port, vpi, vci));
                            VCArray.Add(clientName, temp);
                        }
                        //sprawdza przy okazji czy połączenie zostało nawiązane z aktualnie zaznaczonym klientem - jeśli tak - aktywuje możliwość wysyłania wiadomości
                        String tempSelCl = "";
                        if (selectedClientBox.SelectedItem != null) tempSelCl = (String)selectedClientBox.SelectedItem;
                        if (VCArray.ContainsKey(tempSelCl)) {
                            disconnectWithClient.Enabled = true;
                            sendText.Enabled = true;
                        } else {
                            disconnectWithClient.Enabled = true;
                            sendText.Enabled = false;
                        }
                        List<PortVPIVCI> temp1 = new List<PortVPIVCI>();
                        VCArray.TryGetValue(clientName, out temp1);
                        SetText("Połączenie z " + clientName + " zostało nawiązane na porcie" + port + " VPI " + vpi + " VCI " + vci +". Przepustowość połączenia wynosi " + temp1.Count*2 + " Mbit/s\n");
                        this.Refresh();
                    }
                } catch (InvalidOperationException) { } catch (ArgumentException) { }
            }
        }
Esempio n. 8
0
 public virtual AbstractBootstrap OnConnect(ConnectionEstablishedCallback connectionEstablishedCallback)
 {
     ConnectionEstablishedCallback = connectionEstablishedCallback;
     return this;
 }