public WebSocketChannel(Uri uri, string connectionName) { _webSocket = new ClientWebSocket(); _uri = uri; _connectionName = connectionName; _connectionSide = ConnectionSide.Client; }
public SocketChannel(Socket socket, SocketFlags flags, string connectionName) { _socket = socket; _flags = flags; _connectionName = connectionName; _connectionSide = ConnectionSide.Server; }
public SslSocketChannel(Socket socket, X509Certificate2 x509Certificate, RemoteCertificateValidationCallback validationCallback, string connectionName) { _socket = socket; _x509Certificate = x509Certificate; _validationCallback = validationCallback; _connectionName = connectionName; _connectionSide = ConnectionSide.Server; }
public SocketChannel(Socket socket, IPAddress address, int port, SocketFlags flags, string connectionName) { _socket = socket; _ipAddress = address; _port = port; _flags = flags; _connectionName = connectionName; _connectionSide = ConnectionSide.Client; }
public SslSocketChannel(Socket socket, IPAddress ipAddress, int port, string certName, RemoteCertificateValidationCallback validationCallback, string connectionName) { _socket = socket; _ipAddress = ipAddress; _port = port; _certName = certName; _validationCallback = validationCallback; _connectionName = connectionName; _connectionSide = ConnectionSide.Client; }
public TransportSettings(ConnectionSide connectionSide) { if (connectionSide == ConnectionSide.Client) { ConnectionNameFormatter = id => $"Connection ({id})"; } else { ConnectionNameFormatter = id => $"Server Connection ({id})"; } }
static bool ToAnchorCanBeVertical( NodeProcess process, IEditorGUINode fromNode, RectCache fromArea, ConnectionSide fromSide, IEditorGUINode toNode, RectCache toArea ) { bool isTop = fromArea.center.y <= toArea.y; if ( isTop && fromSide == ConnectionSide.Bottom && toArea.y - fromArea.yMax <= NodeProcess.SnapOffset && (toArea.xMax < fromArea.center.x - 8 || toArea.x > fromArea.center.x + 8) && Mathf.Abs(fromArea.center.x - toArea.center.x) > 20 ) { return(false); } int len = process.nodes.Count; for (int i = 0; i < len; ++i) { IEditorGUINode node = process.nodes[i]; if (node == fromNode || node == toNode) { continue; } Rect r = process.nodeToGUIData[node].fullArea; if (isTop) { if (r.y > toArea.y || r.yMax < fromArea.center.y || r.x > toArea.center.x || r.xMax < toArea.x) { continue; } } else { if (r.yMax < toArea.y || r.y > fromArea.center.y || r.xMax < toArea.center.x || r.x > toArea.x) { continue; } } return(false); } return(true); }
private float MiddlePointOffsetY(string FirstNodeText, string SecondNodeText, ConnectionSide Side, SizeF Size) { float midPointY = 0; if (Side == ConnectionSide.Left) { if ( ((Item[FirstNodeText].Location.Y < Item[SecondNodeText].Location.Y) && ((Item[FirstNodeText].Location.X < Item[SecondNodeText].Location.X))) || ((Item[FirstNodeText].Location.Y > Item[SecondNodeText].Location.Y) && ((Item[FirstNodeText].Location.X > Item[SecondNodeText].Location.X)))) { midPointY = NodeSize.Height * Size.Width; } else if (((Item[FirstNodeText].Location.Y > Item[SecondNodeText].Location.Y) && ((Item[FirstNodeText].Location.X < Item[SecondNodeText].Location.X))) || ((Item[FirstNodeText].Location.Y < Item[SecondNodeText].Location.Y) && ((Item[FirstNodeText].Location.X > Item[SecondNodeText].Location.X)))) { midPointY = NodeSize.Height * Size.Height; } } else { if ( ((Item[FirstNodeText].Location.Y < Item[SecondNodeText].Location.Y) && ((Item[FirstNodeText].Location.X < Item[SecondNodeText].Location.X))) || ((Item[FirstNodeText].Location.Y > Item[SecondNodeText].Location.Y) && ((Item[FirstNodeText].Location.X > Item[SecondNodeText].Location.X)))) { midPointY = NodeSize.Height * Size.Height; } else if (((Item[FirstNodeText].Location.Y > Item[SecondNodeText].Location.Y) && ((Item[FirstNodeText].Location.X < Item[SecondNodeText].Location.X))) || ((Item[FirstNodeText].Location.Y < Item[SecondNodeText].Location.Y) && ((Item[FirstNodeText].Location.X > Item[SecondNodeText].Location.X)))) { midPointY = NodeSize.Height * Size.Width; } } return(midPointY); }
public void AddConnectionCurve(string FirstNodeText, string SecondNodeText, ConnectionSide Side = ConnectionSide.Left) { try { if (Side == ConnectionSide.Left) { #region Left PointF CurveStartPoint = new PointF ( Item[FirstNodeText].ConnectionPoint.Left.X - 12, Item[FirstNodeText].ConnectionPoint.Left.Y ); PointF CurveEndPoint = new PointF ( Item[SecondNodeText].ConnectionPoint.Left.X - 12, Item[SecondNodeText].ConnectionPoint.Left.Y ); SizeF Size = new SizeF( (Math.Abs(Item[SecondNodeText].Location.Y - Item[FirstNodeText].Location.Y) < (NodeSize.Height * 3)) ? new SizeF(0.2f, 0.8f) : new SizeF(0, 1) ); float middlePointOffsetX = ((Math.Abs(Item[SecondNodeText].Location.Y - Item[FirstNodeText].Location.Y) < (NodeSize.Height * 3)) ? (NodeSize.Width / 4) + 8 : (NodeSize.Width / 2) + 4); float middlePointX = 0; float middlePointY = 0; if (Item[FirstNodeText].Location.X == Item[SecondNodeText].Location.X) { middlePointX = Item[FirstNodeText].Location.X - middlePointOffsetX; middlePointY = ((Item[SecondNodeText].Location.Y + Item[FirstNodeText].Location.Y) / 2) + (NodeSize.Height / 2); } else if (Item[FirstNodeText].Location.X < Item[SecondNodeText].Location.X) { if (Item[FirstNodeText].Location.Y < Item[SecondNodeText].Location.Y) { middlePointX = ((Item[SecondNodeText].Location.X + Item[FirstNodeText].Location.X) / 2) - (NodeSize.Width / 4); middlePointY = Item[SecondNodeText].Location.Y + MiddlePointOffsetY(FirstNodeText, SecondNodeText, Side, Size); } else { middlePointX = ((Item[SecondNodeText].Location.X + Item[FirstNodeText].Location.X) / 2) - (NodeSize.Width / 4); middlePointY = Item[SecondNodeText].Location.Y + MiddlePointOffsetY(FirstNodeText, SecondNodeText, Side, Size); } } else { if (Item[FirstNodeText].Location.Y < Item[SecondNodeText].Location.Y) { middlePointX = ((Item[SecondNodeText].Location.X + Item[FirstNodeText].Location.X) / 2) - (NodeSize.Width / 4); middlePointY = Item[FirstNodeText].Location.Y + MiddlePointOffsetY(FirstNodeText, SecondNodeText, Side, Size); } else { middlePointX = ((Item[SecondNodeText].Location.X + Item[FirstNodeText].Location.X) / 2) - (NodeSize.Width / 4); middlePointY = Item[FirstNodeText].Location.Y + MiddlePointOffsetY(FirstNodeText, SecondNodeText, Side, Size); } } PointF CurveMiddlePoint = new PointF( middlePointX, middlePointY ); g.DrawLine( new Pen(nodeBrushes.Pen, PenWidth), Item[FirstNodeText].ConnectionPoint.Left, CurveStartPoint ); g.DrawCurve( new Pen(nodeBrushes.Pen, PenWidth), new PointF[] { CurveStartPoint, CurveMiddlePoint, CurveEndPoint } ); g.DrawLine( new Pen(nodeBrushes.Pen, PenWidth), Item[SecondNodeText].ConnectionPoint.Left, CurveEndPoint ); DrawArrow(Item[SecondNodeText].ConnectionPoint.Left, 'L'); #endregion } else { #region Right PointF CurveStartPoint = new PointF ( Item[FirstNodeText].ConnectionPoint.Right.X + 12, Item[FirstNodeText].ConnectionPoint.Right.Y ); PointF CurveEndPoint = new PointF ( Item[SecondNodeText].ConnectionPoint.Right.X + 12, Item[SecondNodeText].ConnectionPoint.Right.Y ); SizeF Size = new SizeF( (Math.Abs(Item[SecondNodeText].Location.Y - Item[FirstNodeText].Location.Y) < (NodeSize.Height * 3)) ? new SizeF(0.2f, 0.8f) : new SizeF(0, 1) ); float middlePointOffsetX = ((Math.Abs(Item[SecondNodeText].Location.Y - Item[FirstNodeText].Location.Y) < (NodeSize.Height * 3)) ? (NodeSize.Width * 5 / 4) + 8 : (NodeSize.Width * 3 / 2) + 4); float middlePointX = 0; float middlePointY = 0; if (Item[FirstNodeText].Location.X == Item[SecondNodeText].Location.X) { middlePointX = Item[FirstNodeText].Location.X + middlePointOffsetX; middlePointY = ((Item[SecondNodeText].Location.Y + Item[FirstNodeText].Location.Y) / 2) + (NodeSize.Height / 2); } else if (Item[FirstNodeText].Location.X < Item[SecondNodeText].Location.X) { if (Item[FirstNodeText].Location.Y < Item[SecondNodeText].Location.Y) { middlePointX = ((Item[SecondNodeText].Location.X + Item[FirstNodeText].Location.X) / 2) + (NodeSize.Width * 5 / 4); middlePointY = Item[FirstNodeText].Location.Y + MiddlePointOffsetY(FirstNodeText, SecondNodeText, Side, Size); } else { middlePointX = ((Item[SecondNodeText].Location.X + Item[FirstNodeText].Location.X) / 2) + (NodeSize.Width * 5 / 4); middlePointY = Item[FirstNodeText].Location.Y + MiddlePointOffsetY(FirstNodeText, SecondNodeText, Side, Size); } } else { if (Item[FirstNodeText].Location.Y < Item[SecondNodeText].Location.Y) { middlePointX = ((Item[SecondNodeText].Location.X + Item[FirstNodeText].Location.X) / 2) + (NodeSize.Width * 5 / 4); middlePointY = Item[SecondNodeText].Location.Y + MiddlePointOffsetY(FirstNodeText, SecondNodeText, Side, Size); } else { middlePointX = ((Item[SecondNodeText].Location.X + Item[FirstNodeText].Location.X) / 2) + (NodeSize.Width * 5 / 4); middlePointY = Item[SecondNodeText].Location.Y + MiddlePointOffsetY(FirstNodeText, SecondNodeText, Side, Size); } } PointF CurveMiddlePoint = new PointF( middlePointX, middlePointY ); g.DrawLine( new Pen(nodeBrushes.Pen, PenWidth), Item[FirstNodeText].ConnectionPoint.Right, CurveStartPoint ); g.DrawCurve( new Pen(nodeBrushes.Pen, PenWidth), new PointF[] { CurveStartPoint, CurveMiddlePoint, CurveEndPoint } ); g.DrawLine( new Pen(nodeBrushes.Pen, PenWidth), Item[SecondNodeText].ConnectionPoint.Right, CurveEndPoint ); DrawArrow(Item[SecondNodeText].ConnectionPoint.Right, 'R'); #endregion } } catch (Exception e) { throw new Exception("Unable to establish a connection between " + FirstNodeText + " and " + SecondNodeText, e); } }
public SocketTransportSettings(ConnectionSide connectionSide) : base(connectionSide) { IPVersion = IPVersion.IPv6; }
public WebSocketTransportSettings(ConnectionSide connectionSide) : base(connectionSide) { }
public WebSocketChannel(WebSocket webSocket, string connectionName) { _webSocket = webSocket; _connectionName = connectionName; _connectionSide = ConnectionSide.Server; }