コード例 #1
0
ファイル: AgentConnectStage.cs プロジェクト: tuita520/Regulus
            void IStage.Enter()
            {
                Singleton <Log> .Instance.WriteInfo("connect stage enter.");

                Singleton <Log> .Instance.WriteInfo("Agent connect start .");

                try
                {
                    // _Peer.SetSocketOption(System.Net.Sockets.SocketOptionLevel.Socket, System.Net.Sockets.SocketOptionName.ReuseAddress, true);
                    // _Peer.Bind(new System.Net.IPEndPoint(System.Net.IPAddress.Any, 42255));


                    _Peer.Connect(_Ip, _ConnectResult);
                }
                catch (Exception e)
                {
                    Singleton <Log> .Instance.WriteInfo(string.Format("begin connect fail {0}.", e));

                    ResultEvent(false, null);
                }
                finally
                {
                    Singleton <Log> .Instance.WriteInfo("agent connect started .");
                }
            }
コード例 #2
0
ファイル: Contact.cs プロジェクト: shanhai2803/ReliableIM
 public override void Connect()
 {
     if (IsConnected())
     {
         return; //No need to connect.
     }
     //Make a request for connection at the lower level.
     PacketStream = connectable.Connect();
 }
コード例 #3
0
            private IDisposable ConnectWithDependencies()
            {
                foreach (var dependency in _dependencies)
                {
                    dependency.EnsureConnected();
                }

                return(_item.Connect(_cancellationToken));
            }
コード例 #4
0
        public void SetEvent(ProviderEventType type, IConnectable strategy)
        {
            IConnectable value;

            if (events.TryGetValue(type, out value) == true)
            {
                value.Disconnect();
                events.Remove(type);
            }

            if (strategy != null)
            {
                events [type] = strategy;
                strategy.Connect();
            }
        }
コード例 #5
0
        /// <summary>
        /// Connects to the provided <see cref="address"/> with on the given <see cref="port"/>.
        /// </summary>
        /// <param name="connectable"></param>
        /// <param name="address">The ip.</param>
        /// <param name="port">The port.</param>
        /// <returns>True if connection was successful.</returns>
        public static bool Connect(this IConnectable connectable, IPAddress address, int port)
        {
            if (connectable == null)
            {
                throw new ArgumentNullException(nameof(connectable));
            }
            if (address == null)
            {
                throw new ArgumentNullException(nameof(address));
            }
            if (port < 0)
            {
                throw new ArgumentOutOfRangeException(nameof(port));
            }

            return(connectable.Connect(address.ToString(), port));
        }
コード例 #6
0
ファイル: SimpleControlProvider.cs プロジェクト: mono/uia2atk
		public void SetEvent (ProviderEventType type, IConnectable strategy)
		{
			IConnectable value;
			
			if (events.TryGetValue (type, out value) == true) {			
				value.Disconnect ();
				events.Remove (type);
			}

			if (strategy != null) {
				events [type] = strategy;
				strategy.Connect ();
			}
		}
コード例 #7
0
        public static void Connect <TType>(this IConnectable <TType, IPEndPoint> client, IPAddress ipAddress, int port, Action <Exception?>?callback)
        {
            Ensure.ArgumentNotNull(ipAddress, "ipAddress");

            client.Connect(new IPEndPoint(ipAddress, port), callback);
        }
コード例 #8
0
 public static void Connect <TType, TEndPoint>(this IConnectable <TType, TEndPoint> client, ILocalAddress <TEndPoint> remote, Action <Exception?>?callback)
 {
     client.Connect(remote.LocalAddress, callback);
 }
コード例 #9
0
 public static void Connect <TType>(this IConnectable <TType, IPEndPoint> client, string ipAddress, int port, Action <Exception?>?callback)
 {
     client.Connect(IPAddress.Parse(ipAddress), port, callback);
 }
コード例 #10
0
ファイル: Connection.cs プロジェクト: snickroger/Totem
 protected void Track(IConnectable connection)
 {
     Track(connection.Connect(this));
 }
コード例 #11
0
ファイル: frmMain.cs プロジェクト: nuray07/C-Sharp-Project
        //_items manupulation
        private void pbDashboard_MouseDown(object sender, MouseEventArgs e)
        {
            if (e.Button == MouseButtons.Right)
            {
                pbMenu.Items.Clear();
                Point pt = new Point(e.X, e.Y);
                _menuItem = getItem(pt) as IDrawable;

                if (_menuItem == null)
                {
                    pbMenu.Items.Add("CLEAR ALL");
                    pbMenu.Items[pbMenu.Items.Count - 1].Image  = Properties.Resources.delete;
                    pbMenu.Items[pbMenu.Items.Count - 1].Click += new EventHandler(this.ClearBoard);

                    selectedItem = null;
                    //return;
                }

                else if (_menuItem is Stock)
                {
                    Stock stk = _menuItem as Stock;
                    selectedItem = stk;
                    if (stk._inFlow != null)
                    {
                        pbMenu.Items.Add("Detach In Flow: " + stk._inFlow.Name);
                        pbMenu.Items[pbMenu.Items.Count - 1].Click += new EventHandler(this.MenuDeleteInFlow);
                    }
                    if (stk._outFlow != null)
                    {
                        pbMenu.Items.Add("Detach Out Flow: " + stk._outFlow.Name);
                        pbMenu.Items[pbMenu.Items.Count - 1].Click += new EventHandler(this.MenuDeleteOutFlow);
                    }
                    if (stk.Refferences.Count > 0)
                    {
                        pbMenu.Items.Add("Detach Refferences");
                        pbMenu.Items[pbMenu.Items.Count - 1].Click += new EventHandler(this.MenuDeleteRefference);
                    }

                    pbMenu.Items.Add("Edit Object");
                    pbMenu.Items[pbMenu.Items.Count - 1].Image  = Properties.Resources._001_tools;
                    pbMenu.Items[pbMenu.Items.Count - 1].Click += new EventHandler(this.MenuEditObject);

                    pbMenu.Items.Add("Edit Colour");
                    pbMenu.Items[pbMenu.Items.Count - 1].Image  = Properties.Resources._003_pantone;
                    pbMenu.Items[pbMenu.Items.Count - 1].Click += new EventHandler(this.MenuEditColor);

                    if (pbMenu.Items.Count > 0)
                    {
                        pbMenu.Items.Add("-");
                    }

                    pbMenu.Items.Add("Delete " + stk.Name);
                    pbMenu.Items[pbMenu.Items.Count - 1].Image  = Properties.Resources.delete;
                    pbMenu.Items[pbMenu.Items.Count - 1].Click += new EventHandler(this.MenuDeleteObject);
                }
                else if (_menuItem is Flow)
                {
                    selectedItem = null;

                    Flow fl = _menuItem as Flow;
                    if (fl._source != null)
                    {
                        pbMenu.Items.Add("Detach Flow: " + fl._source.Name);
                        pbMenu.Items[pbMenu.Items.Count - 1].Click += new EventHandler(this.MenuDeleteInFlow);
                    }
                    if (fl._destination != null)
                    {
                        pbMenu.Items.Add("Detach Flow: " + fl._destination.Name);
                        pbMenu.Items[pbMenu.Items.Count - 1].Click += new EventHandler(this.MenuDeleteOutFlow);
                    }
                    if (fl.Refferences.Count > 0)
                    {
                        pbMenu.Items.Add("Detach Refferences");
                        pbMenu.Items[pbMenu.Items.Count - 1].Click += new EventHandler(this.MenuDeleteRefference);
                    }

                    pbMenu.Items.Add("Edit Object");
                    pbMenu.Items[pbMenu.Items.Count - 1].Image  = Properties.Resources._001_tools;
                    pbMenu.Items[pbMenu.Items.Count - 1].Click += new EventHandler(this.MenuEditObject);

                    if (pbMenu.Items.Count > 0)
                    {
                        pbMenu.Items.Add("-");
                    }

                    pbMenu.Items.Add("Delete " + fl.Name);
                    pbMenu.Items[pbMenu.Items.Count - 1].Image  = Properties.Resources.delete;
                    pbMenu.Items[pbMenu.Items.Count - 1].Click += new EventHandler(this.MenuDeleteObject);
                }
                else if (_menuItem is Coefficient)
                {
                    selectedItem = _menuItem;
                    Coefficient fl = _menuItem as Coefficient;
                    if (fl.Refferences.Count > 0)
                    {
                        pbMenu.Items.Add("Detach Refferences");
                        pbMenu.Items[pbMenu.Items.Count - 1].Click += new EventHandler(this.MenuDeleteRefference);
                    }

                    pbMenu.Items.Add("Edit Object");
                    pbMenu.Items[pbMenu.Items.Count - 1].Image  = Properties.Resources._001_tools;
                    pbMenu.Items[pbMenu.Items.Count - 1].Click += new EventHandler(this.MenuEditObject);

                    pbMenu.Items.Add("Edit Border Colour");
                    pbMenu.Items[pbMenu.Items.Count - 1].Image  = Properties.Resources._003_pantone;
                    pbMenu.Items[pbMenu.Items.Count - 1].Click += new EventHandler(this.MenuEditColor);

                    if (pbMenu.Items.Count > 0)
                    {
                        pbMenu.Items.Add("-");
                    }

                    pbMenu.Items.Add("Delete " + fl.Name);
                    pbMenu.Items[pbMenu.Items.Count - 1].Image  = Properties.Resources.delete;
                    pbMenu.Items[pbMenu.Items.Count - 1].Click += new EventHandler(this.MenuDeleteObject);
                }
                else if (_menuItem is ResultTable)
                {
                    selectedItem = null;

                    ResultTable fl = _menuItem as ResultTable;
                    pbMenu.Items.Add("Edit Object");
                    pbMenu.Items[pbMenu.Items.Count - 1].Image  = Properties.Resources._001_tools;
                    pbMenu.Items[pbMenu.Items.Count - 1].Click += new EventHandler(this.MenuEditObject);

                    if (pbMenu.Items.Count > 0)
                    {
                        pbMenu.Items.Add("-");
                    }

                    pbMenu.Items.Add("Delete " + fl.Name);
                    pbMenu.Items[pbMenu.Items.Count - 1].Image  = Properties.Resources.delete;
                    pbMenu.Items[pbMenu.Items.Count - 1].Click += new EventHandler(this.MenuDeleteObject);
                }
                else if (_menuItem is Diagram)
                {
                    selectedItem = null;

                    Diagram fl = _menuItem as Diagram;
                    pbMenu.Items.Add("Show in new form");
                    pbMenu.Items[pbMenu.Items.Count - 1].Click += new EventHandler(this.MenuDiagramForm);

                    pbMenu.Items.Add("Edit Object");
                    pbMenu.Items[pbMenu.Items.Count - 1].Image  = Properties.Resources._001_tools;
                    pbMenu.Items[pbMenu.Items.Count - 1].Click += new EventHandler(this.MenuEditObject);

                    if (pbMenu.Items.Count > 0)
                    {
                        pbMenu.Items.Add("-");
                    }

                    pbMenu.Items.Add("Delete " + fl.Name);
                    pbMenu.Items[pbMenu.Items.Count - 1].Image  = Properties.Resources.delete;
                    pbMenu.Items[pbMenu.Items.Count - 1].Click += new EventHandler(this.MenuDeleteObject);
                }

                pbMenu.Show(pbDashboard, pt);
            }

            if (e.Button != MouseButtons.Left)
            {
                return;
            }

            Cursor.Clip = new Rectangle(this.PointToScreen(this.pbDashboard.Location), this.pbDashboard.Size);

            this.pbDashboard.Capture = true;

            if (btnStock.CheckState == CheckState.Checked)
            {
                this._items.Add(new Stock(new Rectangle(e.X - 50, e.Y - 25, 100, 50)));
                this.pbDashboard.Refresh();
                SetMenuSelectButton();
            }
            else if (tsbDiagram.CheckState == CheckState.Checked)
            {
                this._items.Add(new Diagram(new Rectangle(e.X - 250, e.Y - 125, 500, 250)));
                this.pbDashboard.Refresh();
                SetMenuSelectButton();
            }
            else if (tsbResultTable.CheckState == CheckState.Checked)
            {
                this._items.Add(new ResultTable(this.pbDashboard, new Rectangle(e.X - 150, e.Y - 100, 300, 200)));
                this.pbDashboard.Refresh();
                SetMenuSelectButton();
            }
            else if (btnFlow.CheckState == CheckState.Checked)
            {
                if (_startPoint == null)
                {
                    _startPoint = new Point(e.X, e.Y);
                    Rectangle      rect;
                    ITransformable sItem = getItem(_startPoint.Value);
                    rect = new Rectangle(_startPoint.Value.X, _startPoint.Value.Y, 10, 10);

                    if (sItem != null && sItem is Stock && ((Stock)sItem).InFlow == null)
                    {
                        this._flow             = new Flow((Stock)sItem, rect);
                        ((Stock)sItem).OutFlow = this._flow;
                    }
                    else
                    {
                        this._flow = new Flow(rect, new Rectangle(e.X, e.Y, 10, 10));
                    }
                }
                else
                {
                    Point          EndPoint = new Point(e.X, e.Y);
                    ITransformable sItem    = getItem(_startPoint.Value);
                    ITransformable eItem    = getItem(EndPoint);

                    this._items.Add(this._flow);
                    this.pbDashboard.Refresh();

                    this._startPoint = null;
                    this._flow       = null;
                    SetMenuSelectButton();
                }
            }
            else if (btnCoefficient.CheckState == CheckState.Checked)
            {
                this._items.Add(new Coefficient(new Rectangle(e.X - 25, e.Y - 25, 50, 50)));
                this.pbDashboard.Refresh();
                SetMenuSelectButton();
            }
            else if (btnRefference.CheckState == CheckState.Checked)
            {
                if (_reff == null)
                {
                    _reff = getItem(new Point(e.X, e.Y));
                    if (_reff is Diagram || _reff is ResultTable || !(_reff is IConnectable))
                    {
                        _reff = null;
                    }
                    if (_reff == null)
                    {
                        return;
                    }
                }
                else
                {
                    IConnectable cnt = getItem(new Point(e.X, e.Y)) as IConnectable;
                    if (cnt == null || cnt == _reff)
                    {
                        _reff = null;
                        SetMenuSelectButton();
                        return;
                    }
                    cnt.Connect((IConnectable)_reff);
                    _reff = null;
                    SetMenuSelectButton();
                }

                /*
                 * foreach (ITransformable item in this._items)
                 *  if (item.Contains(e.X, e.Y) != -1)
                 *  {
                 *      _selectedItem = item.Contains(e.X, e.Y);
                 *      _selectedIndex = this._items.IndexOf((IDrawable)item);
                 *      break;
                 *  }
                 *
                 * if (_selectedIndex == -1)
                 *  this.start = null;
                 * else if (this.start == null)
                 *  this.start = (IConnectable)_items[_selectedIndex];
                 * else
                 * {
                 *  this.start.Connect((IConnectable)_items[_selectedIndex]);
                 *  this.start = null;
                 * }
                 *
                 * this._selectedIndex = -1;
                 */
                this.pbDashboard.Refresh();
            }
            else if (btnSelect.CheckState == CheckState.Checked)
            {
                foreach (ITransformable item in this._items)
                {
                    if (item.Contains(e.X, e.Y) != -1)
                    {
                        _selectedItem  = item.Contains(e.X, e.Y);
                        _cursorItem    = _selectedIndex;
                        _selectedIndex = this._items.IndexOf((IDrawable)item);
                        if (item is ResultTable)
                        {
                            ((ResultTable)item).BeginDrag();
                        }
                        break;
                    }
                }
                this._X = e.X;
                this._Y = e.Y;
            }
        }
コード例 #12
0
        public void Connect(string ip, int port)
        {
            IConnectable connectHandler = (IConnectable)comHandler;

            connectHandler.Connect(ip, port);
        }