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 ."); } }
public override void Connect() { if (IsConnected()) { return; //No need to connect. } //Make a request for connection at the lower level. PacketStream = connectable.Connect(); }
private IDisposable ConnectWithDependencies() { foreach (var dependency in _dependencies) { dependency.EnsureConnected(); } return(_item.Connect(_cancellationToken)); }
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(); } }
/// <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)); }
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 (); } }
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); }
public static void Connect <TType, TEndPoint>(this IConnectable <TType, TEndPoint> client, ILocalAddress <TEndPoint> remote, Action <Exception?>?callback) { client.Connect(remote.LocalAddress, callback); }
public static void Connect <TType>(this IConnectable <TType, IPEndPoint> client, string ipAddress, int port, Action <Exception?>?callback) { client.Connect(IPAddress.Parse(ipAddress), port, callback); }
protected void Track(IConnectable connection) { Track(connection.Connect(this)); }
//_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; } }
public void Connect(string ip, int port) { IConnectable connectHandler = (IConnectable)comHandler; connectHandler.Connect(ip, port); }