public FrameDelimiter(INetworkLayer <byte[]> child, int maximumMessageSize, int headerSize, bool includeHeaderSize, int receiveBufferSize = 8092, bool bigIndian = true) : base(child) { int num; switch (headerSize) { default: throw new ArgumentOutOfRangeException("headerSize", $"HeaderSize should be between 1 and 4. Found {headerSize}"); case 1: case 2: case 3: num = 1 << 8 * headerSize; break; case 4: num = int.MaxValue; break; } int num2 = num; if (maximumMessageSize >= num2) { throw new ArgumentOutOfRangeException("maximumMessageSize", string.Format("cannot encode {0} with a headerSize of {1}. {2} should be < {3}", "maximumMessageSize", headerSize, "maximumMessageSize", num2)); } m_maximumMessageSize = maximumMessageSize; m_includeHeaderSize = includeHeaderSize; m_headerSize = headerSize; m_receiveBuffer = new ByteBuffer(receiveBufferSize, bigIndian); m_sendBuffer = new ByteBuffer(1024, bigIndian); }
private AutoResetEvent _getAddressEvent; // event raised when we got an address public Routing(INetworkLayer net, IMac mac, IDataCallbacks data) { _net = net; _mac = mac; _data = data; _mac.GetMtuSize(out _macMtu, out _macHeader, out _macTailer); // calculate the header sizes for 6LoWPAN // private encapsulation requires one byte (Message.Data.cLength) additional header space int myHeader = Messages6LoWPAN.MeshHeader.cLengthMax + Messages6LoWPAN.BroadcastHeader.cLength; _netHeader6Low = _macHeader + myHeader; _netMtu6Low = _macMtu - myHeader; _netTailer6Low = _macTailer; _neighbourTable = new NeighborTable(this, _macHeader, _macTailer); _routingTable = new RoutingTable(this); _messageContext = new MessageContext(); _seqNoDYMO = 0; _seqNoBroadcast = 0; _panId = 0; _addrShort = cInvalidShortAddr; _addrExt = 0; // to be set at start _isRunning = false; _getAddressEvent = new AutoResetEvent(false); }
public void ClearRouteAnalyst(AxMapControl mapControl) { //清除所有图标 SymbolUtil.ClearElement(mapControl); stopPoints.Clear(); barryPoints.Clear(); barryElements.Clear(); stopElements.Clear(); //清除网络分析图层 for (int i = 0; i < mapControl.LayerCount; i++) { ILayer layer = mapControl.get_Layer(i); INetworkLayer networkLayer = layer as INetworkLayer; INALayer naLayer = layer as INALayer; if (networkLayer != null || naLayer != null) { mapControl.DeleteLayer(i); } } //清除网络数据集 ILayer datalayer = LayerUtil.QueryLayerInMap(mapControl, "网络数据集"); if (datalayer != null) { mapControl.Map.DeleteLayer(datalayer); } IActiveView pActiveView = mapControl.ActiveView; pActiveView.PartialRefresh(esriViewDrawPhase.esriViewGraphics, null, null); mapControl.Refresh(); }
public NetworkTest(INetworkLayer net, IMonitor monitor) { _net = net; _net.GetMtuSize(out _mtu, out _head, out _tail); _monitor = monitor; _statusLock = new object(); _reportInterval = cReportIntervalDefault; }
public SpinConnection(ISpinCredentialsProvider credentialsProvider, INetworkLayer <byte[]> underlyingTransportLayer, ApplicationCodec <T> codec, int maximumMessageSize = 131072) : this() { m_credentialsProvider = credentialsProvider; m_spinTransportLayer = new SpinTransportLayer(new FrameDelimiter(underlyingTransportLayer, maximumMessageSize, 4, includeHeaderSize: true)); m_codec = codec; m_status = Status.Disconnected; }
public static INeuralNetwork NewSequential(TensorInfo input, [NotNull, ItemNotNull] params LayerFactory[] factories) { return(new SequentialNetwork(factories.Aggregate(new List <INetworkLayer>(), (l, f) => { INetworkLayer layer = f(input); input = layer.OutputInfo; l.Add(layer); return l; }).ToArray())); }
//this one is seperated out so we can use it interally on initial user login public async Task <Account> ChangeIdentity(RedditOAuth oAuth) { var authedLayer = _networkLayer.Clone(oAuth); var authedAccount = JsonConvert.DeserializeObject <Account>(await authedLayer.Get("/api/v1/me", CancellationToken.None, new Progress <float>(), null)); _networkLayer = authedLayer; _userState = new UserState { OAuth = oAuth, Username = authedAccount.Name, IsGold = authedAccount.IsGold, IsMod = authedAccount.IsMod, ModHash = authedAccount.ModHash }; return(authedAccount); }
public Reddit(IListingFilter listingFilter, UserState userState, IActionDeferralSink deferalSink, ICaptchaProvider captchaProvider, string appId = null, string appSecret = null, string redirectUrl = null, ICachingProvider cacheProvider = null, INetworkLayer networkLayer = null) { _cacheProvider = cacheProvider; _networkLayer = networkLayer ?? new NetworkLayer(userState, appId, appSecret, redirectUrl); _listingFilter = listingFilter; _userState = userState ?? new UserState(); _deferalSink = deferalSink; _captchaProvider = captchaProvider; _appId = appId; _appSecret = appSecret; _redirectUrl = redirectUrl; }
public void Start() { IDataAdapter ca = _clientAdapter; IDataAdapter sa = _serverAdapter; foreach (INetworkLayerFactory factory in Filter.Layers) { INetworkLayer layer = factory.CreateLayer(Graph.Logger); layer.Negotiate(ref sa, ref ca, new ProxyToken(), Graph.Logger, Graph.Meta, Graph.GlobalMeta, Graph.ConnectionProperties, _defaultBinding); } StartGraph(ca, sa); HasNegotiated = true; }
/// <summary> /// Create the layer /// </summary> /// <param name="logger">The logger to use when creating</param> /// <returns>The network layer</returns> public override INetworkLayer CreateLayer(Logger logger) { if (Script == null) { throw new InvalidOperationException(String.Format(Properties.Resources.ScriptNetworkLayerFactory_SpecifyScript, Description)); } if (ClassName == null) { throw new InvalidOperationException(String.Format(Properties.Resources.ScriptNetworkLayerFactory_SpecifyClassName, Description)); } object obj = Script.Container.GetInstance(ClassName); INetworkLayer layer = obj as INetworkLayer; if (layer == null) { IDataStreamParser parser = obj as IDataStreamParser; if (parser != null) { layer = new ParserNetworkLayer(DynamicScriptContainer.Create(Script.Container, ClassName), logger); } } if (layer == null) { throw new InvalidOperationException(String.Format(Properties.Resources.ScriptNetworkLayerFactory_InvalidType, Script.Name)); } IPersistNode persist = layer as IPersistNode; if (persist != null) { persist.SetState(new DynamicConfigObject(_config), logger); } return(layer); }
/// <summary> /// 子方法 在图层中寻找网络数据集 /// </summary> /// <returns></returns> private static bool SearchInLayers() { IMap iMap = ApplicationV.GlobalMapControl.ActiveView.FocusMap; for (int i = 0; i < iMap.LayerCount; i++) { ILayer ipLayer = iMap.get_Layer(i); INetworkLayer iNetworkLayer = ipLayer as INetworkLayer; if (iNetworkLayer != null) { string datasetname = ipLayer.Name; //询问是否使用这个DataSet if (MessageBox.Show(String.Format("找到一个合适的网络数据集:{0},是否使用", datasetname), "提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) == DialogResult.OK) { NetWorkDataSet = iNetworkLayer.NetworkDataset; return(true); } } } return(false); }
public SpinTransportLayer(INetworkLayer <byte[]> child) : base(child) { }
public static ComputationGraph New(TensorInfo input, [NotNull] NodeBuilder root) { // Captured dictionary to keep track of graph nodes and tensor shape for each builder Dictionary <NodeBuilder, (NodeBase Node, TensorInfo Info, Guid Id)> map = new Dictionary <NodeBuilder, (NodeBase, TensorInfo, Guid)>(); List <IComputationGraphNode> nodes = new List <IComputationGraphNode>(); ProcessingNode output = null; List <ProcessingNode> trainingOutputs = new List <ProcessingNode>(); // Function to build the computation graph with a top-down direction void BuildMap(NodeBuilder node, Guid id) { // Node check if (map.TryGetValue(node, out var value)) { if (value.Id != id) { throw new ComputationGraphBuildException("The training branch can't cross other graph branches"); } return; } // Process the current node NodeBase next; switch (node.NodeType) { case ComputationGraphNodeType.Input: if (node.Parents.Count > 0) { throw new ComputationGraphBuildException("An input node can't haave any parent nodes"); } if (node.Children.Count == 0) { throw new ComputationGraphBuildException("An input node can't have 0 child nodes"); } next = new InputNode(); map[node] = (next, input, id); break; case ComputationGraphNodeType.Processing: if (node.Parents.Count != 1) { throw new ComputationGraphBuildException("A processing node must have a single parent node"); } INetworkLayer layer = node.GetParameter <LayerFactory>()(map[node.Parents[0]].Info); ProcessingNode processing = new ProcessingNode(layer, map[node.Parents[0]].Node); if (layer is OutputLayerBase) { if (node.Children.Count > 0) { throw new ComputationGraphBuildException("An output node can't have any child nodes"); } if (id != default) { if (map.Values.Any(entry => entry.Node is ProcessingNode p && p.Layer is OutputLayerBase && entry.Id == id)) { throw new ComputationGraphBuildException("Each training branch can have a single output node"); } trainingOutputs.Add(processing); } else if (output == null) { output = processing; } else { throw new ComputationGraphBuildException("The graph can only have a single inference output node"); } } else if (node.Children.Count == 0) { throw new ComputationGraphBuildException("A processing node can't have 0 child nodes"); } next = processing; map[node] = (next, layer.OutputInfo, id); break; case ComputationGraphNodeType.TrainingBranch: if (id != default) { throw new ComputationGraphBuildException("A training branch can't contain secondary training branches"); } if (node.Children.Count == 0) { throw new ComputationGraphBuildException("A training branch node can't have 0 child nodes"); } if (node.Parents.Count != 1) { throw new ComputationGraphBuildException("A training branch node must have a single parent node"); } if (node.Parents[0].NodeType == ComputationGraphNodeType.Input) { throw new ComputationGraphBuildException("A training branch can't start right from an input node"); } next = new TrainingNode(map[node.Parents[0]].Node); map[node] = (next, map[node.Parents[0]].Info, id); id = Guid.NewGuid(); break;
protected TransformLayer(INetworkLayer <TOut> child) { this.child = child; this.child.OnData = OnDataReceived; }
internal ProcessingNode([NotNull] INetworkLayer layer, [NotNull] IComputationGraphNode parent) : base(ComputationGraphNodeType.Processing) { Layer = layer; Parent = parent; }
public static bool AddDataset(IBasicMap pBasicMap, IDatasetName pDatasetName, Collection <object> m_DatasetCol, bool blnAddData) { bool functionReturnValue = false; functionReturnValue = false; ////如果是特征数据集,则添加里边的所有要素类 IFeatureDataset pFeatDS = default(IFeatureDataset); IEnumDataset pEnumDataSet = default(IEnumDataset); IDataset pDataset = default(IDataset); IFeatureClass pFeatCls = default(IFeatureClass); IFeatureLayer pFeatLayer = default(IFeatureLayer); IName pName = default(IName); ILayer pLayer = default(ILayer); ITopologyLayer pTopoLayer = default(ITopologyLayer); //Dim pEnumLyr As IEnumLayer ITinWorkspace pTinWS = default(ITinWorkspace); IEnumFeatureClass pEnumFeatCls = null; IRasterCatalogDisplayProps pRasterCatalogPro = default(IRasterCatalogDisplayProps); //ClsErrorHandle pfrmError = new ClsErrorHandle(); //ClsLayerRender pLayerRender = null; if (pDatasetName is IFeatureDatasetName) { pName = pDatasetName as IName; pFeatDS = pName.Open() as IFeatureDataset; pEnumDataSet = pFeatDS.Subsets; pDataset = pEnumDataSet.Next(); m_DatasetCol.Add(pDataset); if (pDataset == null) { return(false); } ////根据数据集的类型,添加特征数据集中的所有要素类(拓扑,一般的,栅格目录,网络) while ((pDataset != null)) { if (pDataset.Type == esriDatasetType.esriDTFeatureClass) { //pLayerRender = new ClsLayerRender(); //// 陈昉 2008-12-3 修改 修改原因 添加SDE图层时从数据库读取符号化信息 //pFeatLayer = null; //if (pDataset.Workspace.Type == esriWorkspaceType.esriRemoteDatabaseWorkspace) //{ // pFeatLayer = pLayerRender.GetRendererLayer((IFeatureClass)pDataset); //} if (pFeatLayer == null) { pFeatLayer = new FeatureLayer(); pFeatCls = pDataset as IFeatureClass; pFeatLayer.Name = pFeatCls.AliasName; pFeatLayer.FeatureClass = pFeatCls; } if (pDataset.Type == esriDatasetType.esriDTRasterCatalog) { // Dim pRaster } if (blnAddData == true) { //pMap.AddLayer pFeatLayer AddLyrToBasicMap(pBasicMap, pFeatLayer); SortLayer(pBasicMap, pFeatLayer); } // pSelectedCln.Add(pFeatLayer) } else if (pDataset.Type == esriDatasetType.esriDTTopology) { pTopoLayer = new TopologyLayer() as ITopologyLayer; pTopoLayer.Topology = pDataset as ITopology; pLayer = pTopoLayer as ILayer; pLayer.Name = pDataset.Name; if (blnAddData == true) { //pMap.AddLayer pLayer AddLyrToBasicMap(pBasicMap, pLayer); SortLayer(pBasicMap, pLayer); } //pSelectedCln.Add(pFeatLayer) } pDataset = pEnumDataSet.Next(); } functionReturnValue = true; ////添加拓扑图层 } else if (pDatasetName is ITopologyName) { ITopology pTopo = null; pName = pDatasetName as IName; pDataset = pName.Open() as IDataset; pTopoLayer = new TopologyLayer() as ITopologyLayer; pTopoLayer.Topology = pDataset as ITopology; pLayer = pTopoLayer as ILayer; pLayer.Name = pDataset.Name; m_DatasetCol.Add(pDataset); if (blnAddData == true) { //pMap.AddLayer pLayer AddLyrToBasicMap(pBasicMap, pLayer); SortLayer(pBasicMap, pLayer); } //pSelectedCln.Add(pLayer) if (MessageBox.Show("要把拓扑里边的所有要素类也添加到当前地图中吗?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) { IFeatureClassContainer pFeatClsContainer = default(IFeatureClassContainer); pFeatClsContainer = pTopo as IFeatureClassContainer; pEnumFeatCls = pFeatClsContainer.Classes; pFeatCls = pEnumFeatCls.Next(); pFeatLayer = new FeatureLayer(); ////循环拓扑中的每个要素类,并添加到当前地图中 while ((pFeatCls != null)) { pFeatLayer.FeatureClass = pFeatCls; pFeatLayer.Name = pFeatCls.AliasName; if (blnAddData == true) { //pMap.AddLayer pFeatLayer AddLyrToBasicMap(pBasicMap, pFeatLayer); SortLayer(pBasicMap, pFeatLayer); } //pSelectedCln.Add(pFeatLayer) pFeatCls = pEnumFeatCls.Next(); } } functionReturnValue = true; ////添加网络数据 } else if (pDatasetName is IGeometricNetworkName) { INetworkCollection pNetworkCollection = default(INetworkCollection); IGeometricNetwork pGeometricNetwork = default(IGeometricNetwork); IDataset pGeoDataset = default(IDataset); pName = pDatasetName as IName; pGeoDataset = pName.Open() as IDataset; m_DatasetCol.Add(pGeoDataset); if (pGeoDataset.Type == esriDatasetType.esriDTGeometricNetwork) { ////这里对网络数据进行处理 IFeatureClassContainer pFeatureClassContainer = null; pGeometricNetwork = pGeoDataset as IGeometricNetwork; pFeatureClassContainer = pGeometricNetwork as IFeatureClassContainer; for (int i = 0; i < pFeatureClassContainer.ClassCount; i++) { pFeatCls = pFeatureClassContainer.get_Class(i); pFeatLayer = new FeatureLayer(); pFeatLayer.Name = pFeatCls.AliasName; pFeatLayer.FeatureClass = pFeatCls; if (blnAddData == true) { // pMap.AddLayer pFeatLayer AddLyrToBasicMap(pBasicMap, pFeatLayer); SortLayer(pBasicMap, pFeatLayer); } //pSelectedCln.Add(pFeatLayer) } } else { pFeatDS = pGeoDataset as IFeatureDataset; pNetworkCollection = pFeatDS as INetworkCollection; ////如果是用户选择一个网络技术打开的话,肯定只有一个网络在里边,其实 ////可以不需要循环,而用GeometricNetwork(0)代替循环 for (int j = 0; j < pNetworkCollection.GeometricNetworkCount; j++) { pGeometricNetwork = pNetworkCollection.get_GeometricNetwork(j); for (int i = 0; i <= 3; i++) { switch (i) { case 0: pEnumFeatCls = pGeometricNetwork.get_ClassesByType(esriFeatureType.esriFTSimpleJunction); break; case 1: pEnumFeatCls = pGeometricNetwork.get_ClassesByType(esriFeatureType.esriFTSimpleEdge); break; case 2: pEnumFeatCls = pGeometricNetwork.get_ClassesByType(esriFeatureType.esriFTComplexJunction); break; case 3: pEnumFeatCls = pGeometricNetwork.get_ClassesByType(esriFeatureType.esriFTComplexEdge); break; } pFeatCls = pEnumFeatCls.Next(); while ((pFeatCls != null)) { pFeatLayer = new FeatureLayer(); pFeatLayer.Name = pFeatCls.AliasName; pFeatLayer.FeatureClass = pFeatCls; pFeatCls = pEnumFeatCls.Next(); if (blnAddData == true) { //pMap.AddLayer pFeatLayer AddLyrToBasicMap(pBasicMap, pFeatLayer); SortLayer(pBasicMap, pFeatLayer); } // pSelectedCln.Add(pFeatLayer) functionReturnValue = true; } } } } ////添加栅格目录,并设置为显示最新时相 } else if (pDatasetName is IRasterCatalogName) { pName = pDatasetName as IName; pDataset = pName.Open() as IDataset; m_DatasetCol.Add(pDataset); pFeatLayer = new GdbRasterCatalogLayer() as IFeatureLayer; pFeatLayer.FeatureClass = pDataset as IFeatureClass; pFeatLayer.Name = pDataset.Name; //'//如果是SDE的栅格目录 //If pFeatLayer.DataSourceType = "SDE Raster Catalog" Then // Dim pFeatLayerDef As IFeatureLayerDefinition // pFeatLayerDef = pFeatLayer // '//设置最初显示地图范围内最近时相的数据 // pFeatLayerDef.DefinitionExpression = "objectid in (select objectid from" & vbNewLine & _ // "(select a.objectid, b.receive_date,rank()" & vbNewLine & _ // "over(partition by a.name,a.resolution order by b.receive_date desc) as cid" & vbNewLine & _ // "from " & pFeatLayer.Name & " a, sj_t_tense b" & vbNewLine & _ // "where a.tense = b.tense" & vbNewLine & "and b.online_state = 1) t2" & vbNewLine & _ // "where " & pFeatLayer.Name & ".objectid=t2.objectid and t2.cid = 1)" //End If ////设置当栅格目录中的图幅在地图上超过16个的时候,以格网来显示,而不显示栅格本身 pRasterCatalogPro = pFeatLayer as IRasterCatalogDisplayProps; ////不用数量来控制了,而以比例尺来控制 pRasterCatalogPro.DisplayRasters = 16; pRasterCatalogPro.UseScale = true; ////设置一个比例,在此临界栅格数据将会在框架显示与实际栅格显示之间转换 pRasterCatalogPro.TransitionScale = 50000; if (blnAddData == true) { //pMap.AddLayer pFeatLayer AddLyrToBasicMap(pBasicMap, pFeatLayer); //SortLayer(pBasicMap, pFeatLayer) } //pSelectedCln.Add(pFeatLayer) functionReturnValue = true; } else if (pDatasetName is IRasterDatasetName) { IRasterLayer pRasterLayer = default(IRasterLayer); pName = pDatasetName as IName; pDataset = pName.Open() as IDataset; m_DatasetCol.Add(pDataset); pRasterLayer = new RasterLayer(); pRasterLayer.CreateFromDataset((IRasterDataset)pDataset); pRasterLayer.Name = pDataset.Name; AddLyrToBasicMap(pBasicMap, pRasterLayer); functionReturnValue = true; ////添加TIN图层 } else if (pDatasetName is ITinWorkspace) { pTinWS = pDatasetName as ITinWorkspace; ITinLayer pTinLyr = default(ITinLayer); pTinLyr = new TinLayer(); pTinLyr.Dataset = pTinWS.OpenTin(pDatasetName.Name); pTinLyr.Name = pDatasetName.Name; if (blnAddData == true) { //pMap.AddLayer pTinLyr AddLyrToBasicMap(pBasicMap, pTinLyr); SortLayer(pBasicMap, pTinLyr); } //pSelectedCln.Add(pTinLyr) functionReturnValue = true; } else if (pDatasetName is INetworkDatasetName) { //Dim pNetWorkDS As INetworkDataset try { INetworkLayer pNetLayer = default(INetworkLayer); pName = pDatasetName as IName; pNetLayer = new NetworkLayer() as INetworkLayer; pNetLayer.NetworkDataset = pName.Open() as INetworkDataset; pLayer = pNetLayer as ILayer; pLayer.Name = pName.NameString; if (blnAddData == true) { AddLyrToBasicMap(pBasicMap, pLayer); } } catch (Exception ex) { MessageBox.Show(ex.Message, "异常", MessageBoxButtons.OK, MessageBoxIcon.Error); } ////添加一般的要素类,未写完。。。。。。 } else { pName = pDatasetName as IName; pDataset = pName.Open() as IDataset; pFeatCls = pDataset as IFeatureClass; m_DatasetCol.Add(pDataset); if (pFeatCls.FeatureType == esriFeatureType.esriFTAnnotation) { pFeatLayer = new FDOGraphicsLayer() as IFeatureLayer; } else if (pFeatCls.FeatureType == esriFeatureType.esriFTDimension) { pFeatLayer = new DimensionLayer() as IFeatureLayer; } else { pFeatLayer = new FeatureLayer(); //pLayerRender = new ClsLayerRender(); //// 陈昉 2008-12-3 修改 修改原因 添加SDE图层时从数据库读取符号化信息 //if (pDataset.Workspace.Type == esriWorkspaceType.esriRemoteDatabaseWorkspace) //{ // pFeatLayer = pLayerRender.GetRendererLayer((IFeatureClass)pDataset); //} } //印骅 20081205 添加"Not" if ((pFeatLayer != null)) { //pFeatLayer.Name = pDataset.Name pFeatLayer.Name = pFeatCls.AliasName; pFeatLayer.FeatureClass = pDataset as IFeatureClass; } if (blnAddData == true) { //pMap.AddLayer pFeatLayer AddLyrToBasicMap(pBasicMap, pFeatLayer); SortLayer(pBasicMap, pFeatLayer); } //pSelectedCln.Add(pFeatLayer) functionReturnValue = true; } return(functionReturnValue); //'//添加Coverage图层 //ElseIf vItem.SmallIcon = "Coverage" Then //AddSelectedLayer = ADDCoverageLayer(pMap, pCurrentFilePath.Path, _ //vItem.Text, pSelectedCln, blnAddData) }
/// <summary> /// Returns the neuron in the <paramref name="layer"/> with the matching <paramref name="neuronId"/> if one exists; otherwise null. /// </summary> /// <param name="neuronId">The id of the neuron to return.</param> /// <param name="layer">The network layer that the neuron exists in.</param> /// <returns>Returns the neuron in the <paramref name="layer"/> with the matching <paramref name="neuronId"/> if one exists; otherwise null.</returns> private INeuron GetNeuronById(int neuronId, INetworkLayer layer) { return(layer.Neurons.FirstOrDefault(n => n.Id == neuronId)); }