diff --git a/.vs/Testrong.User.Program/v17/.suo b/.vs/Testrong.User.Program/v17/.suo index 50ab213..5ca8ea5 100644 Binary files a/.vs/Testrong.User.Program/v17/.suo and b/.vs/Testrong.User.Program/v17/.suo differ diff --git a/.vs/Testrong.User.Program/v17/DocumentLayout.backup.json b/.vs/Testrong.User.Program/v17/DocumentLayout.backup.json index 31d7bd3..e940a83 100644 --- a/.vs/Testrong.User.Program/v17/DocumentLayout.backup.json +++ b/.vs/Testrong.User.Program/v17/DocumentLayout.backup.json @@ -57,7 +57,7 @@ "RelativeDocumentMoniker": "Testrong.User.Program\\UserProgram.cs", "ToolTip": "D:\\WORK\\ManLin\\Verify\\UserProgram_time\\Testrong.User.Program\\UserProgram.cs", "RelativeToolTip": "Testrong.User.Program\\UserProgram.cs", - "ViewState": "AgIAAH8KAAAAAAAAAAAowK4KAAA3AAAAAAAAAA==", + "ViewState": "AgIAAN4JAAAAAAAAAAAowBEKAABZAAAAAAAAAA==", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", "WhenOpened": "2024-06-18T12:27:43.78Z", "EditorCaption": "" diff --git a/.vs/Testrong.User.Program/v17/DocumentLayout.json b/.vs/Testrong.User.Program/v17/DocumentLayout.json index 688a48d..b1ab8e0 100644 --- a/.vs/Testrong.User.Program/v17/DocumentLayout.json +++ b/.vs/Testrong.User.Program/v17/DocumentLayout.json @@ -57,7 +57,7 @@ "RelativeDocumentMoniker": "Testrong.User.Program\\UserProgram.cs", "ToolTip": "D:\\WORK\\ManLin\\Verify\\UserProgram_time\\Testrong.User.Program\\UserProgram.cs", "RelativeToolTip": "Testrong.User.Program\\UserProgram.cs", - "ViewState": "AgIAABYMAAAAAAAAAAAAwCcMAAAeAAAAAAAAAA==", + "ViewState": "AgIAALsEAAAAAAAAAAAQwNAEAAA6AAAAAAAAAA==", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", "WhenOpened": "2024-06-18T12:27:43.78Z", "EditorCaption": "" diff --git a/Testrong.User.Program/UserProgram.cs b/Testrong.User.Program/UserProgram.cs index 56f290f..5385984 100644 --- a/Testrong.User.Program/UserProgram.cs +++ b/Testrong.User.Program/UserProgram.cs @@ -482,20 +482,20 @@ namespace Testrong.User.Program } - /* + /* ----------Metadata_handler------------- * StreamWriter swdata: File Handler, Should be Initialized ahead, * int SlotNum: Current Slot Number, * List slotList: Slot List, * string arm_dna: DNA Data from Zynq, * IFlowRunnerContext context: info from ATE Software, * bool init_Flag: choose from Header to Body| True=Header/False=Body, - * string Type:[OPTIONAL] Only need if init_Flag==False, Channel Type, Possible Value="PMU","DPS", "NULL"(Default), - * int Channel:[OPTIONAL] Only need if init_Flag==False, Channel Number, Default = -1, - * string Mode:[OPTIONAL] Only need if init_Flag==False, Test Mode, Possible Value="FVMV","FVMI","FIMV","FIMI","FZMV"(PMU Only), "NULL"(Default), - * string Rload:[OPTIONAL] Only need if init_Flag==False,Resistance Load, Default = "NaN", - * string Range:[OPTIONAL] Only need if init_Flag==False,Range, Possible Value="5uA", "20uA", "200uA", "2mA", "60mA", "1A"(DPS Only), Default = "N/A", - * string filepath:[OPTIONAL] Only need if init_Flag==False, CSV File Path, Default = "N/A", - * string filetime:[OPTIONAL] Only need if init_Flag==False, CSV File Creation Time, Default = "N/A" + * string Type:[OPTIONAL] Only need if init_Flag == False, Channel Type, Possible Value="PMU","DPS", "NULL"(Default), + * int Channel:[OPTIONAL] Only need if init_Flag == False, Channel Number, Default = -1, + * string Mode:[OPTIONAL] Only need if init_Flag == False, Test Mode, Possible Value="FVMV","FVMI","FIMV","FIMI","FZMV"(PMU Only), "NULL"(Default), + * string Rload:[OPTIONAL] Only need if init_Flag == False,Resistance Load, Default = "NaN", + * string Range:[OPTIONAL] Only need if init_Flag == False,Range, Possible Value="5uA", "20uA", "200uA", "2mA", "60mA", "1A"(DPS Only), Default = "N/A", + * string filepath:[OPTIONAL] Only need if init_Flag == False, CSV File Path, Default = "N/A", + * string filetime:[OPTIONAL] Only need if init_Flag == False, CSV File Creation Time, Default = "N/A" */ public void Metadata_handler(StreamWriter swdata, int SlotNum, List slotList, string arm_dna, IFlowRunnerContext context, bool init_Flag, string Type = "NULL", int Channel = -1, string Mode = "NULL", string Rload = "NaN", string Range = "N/A", string filepath = "N/A", string filetime = "N/A") { @@ -584,6 +584,76 @@ namespace Testrong.User.Program } } + /* ----------File_Mover------------- + * int SlotNum: Current Slot Number, + * List slotList: Slot List, + * string pathFlag: Path Selector, Possible Value="Freq","CAL_Single"(No Pre/Post),"CAL_Normal", + * bool isPreCheck:[OPTIONAL] Only need if pathFlag =="CAL_Normal",PreCheck Flag, Default = false + */ + public void File_Mover(int SlotNum, List slotList, string pathFlag, bool isPreCheck = false) + { + string DateCode = DateTime.Now.ToString("yyyy-MM-dd HH-mm-ss"); + + string WritePath; + string BakPath; + string HistoryPath; + + switch (pathFlag) + { + case "Freq": + WritePath = EXT_CAL_FREQ_PATH; + HistoryPath = EXT_CAL_FREQ_HISTORY_PATH; + BakPath = "C:\\ProgramData\\Testrong\\ATE_Tester"; + break; + default: + WritePath = EXT_CAL_PATH; + HistoryPath = EXT_CAL_HISTORY_PATH; + BakPath = EXT_CAL_MV_PATH; + break; + } + + try + { + if (SlotNum == slotList[0]) + { + + if (pathFlag == "CAL_Normal") + { + if (isPreCheck == true) + { + EmptyDir(CAL_COMPFILE_PATH); + ClearPrePostFile(CAL_PRECHECK_PATH); + ClearPrePostFile(CAL_POSTCHECK_PATH); + } + else if (isPreCheck == false) + { + Thread.Sleep(1); + } + } + + if (Directory.Exists(BakPath)) + { + if (!Directory.Exists(HistoryPath)) + { + Directory.CreateDirectory(HistoryPath); + } + Directory.Move(BakPath, HistoryPath + DateCode); + } + if (Directory.Exists(WritePath)) + { + Directory.Move(WritePath, BakPath); + } + Directory.CreateDirectory(WritePath); + } + } + catch (Exception ex) + { + LogRawText(ex.StackTrace); + throw ex; + } + + + } private int GetPMUTempSensorIndex(int channel) { if ((channel >= 65 && channel <= 80) || (channel >= 97 && channel <= 112) || (channel >= 193 && channel <= 208) || (channel >= 241 && channel <= 256)) @@ -1026,26 +1096,7 @@ namespace Testrong.User.Program } //creat dir - try - { - if (SlotNum == slotList[0]) - { - if (Directory.Exists(EXT_CAL_FREQ_PATH)) - { - if (!Directory.Exists(EXT_CAL_FREQ_HISTORY_PATH)) - { - Directory.CreateDirectory(EXT_CAL_FREQ_HISTORY_PATH); - } - Directory.Move(EXT_CAL_FREQ_PATH, EXT_CAL_FREQ_HISTORY_PATH + DateCode); - } - Directory.CreateDirectory(EXT_CAL_FREQ_PATH); - } - } - catch (Exception ex) - { - LogRawText(ex.StackTrace); - throw ex; - } + File_Mover(SlotNum:SlotNum,slotList:slotList,pathFlag:"Freq"); StreamWriter swResult; if (SlotNum == slotList[0]) @@ -1277,31 +1328,10 @@ namespace Testrong.User.Program string arm_dna = BitConverter.ToUInt64(armDnaRaw, 0).ToString(); int SlotNum = context.Communicator.SlotNo; double[,] ExtBoard_Res = ReadRext(EXT_CAL_INIT_PATH + "ExtBoardRes.csv"); - try - { - string DateCode = DateTime.Now.ToString("yyyy-MM-dd HH-mm-ss"); - if (SlotNum == slotList[0]) - { - if (Directory.Exists(EXT_CAL_MV_PATH)) - { - if (!Directory.Exists(EXT_CAL_HISTORY_PATH)) - { - Directory.CreateDirectory(EXT_CAL_HISTORY_PATH); - } - Directory.Move(EXT_CAL_MV_PATH, EXT_CAL_HISTORY_PATH + DateCode); - } - if (Directory.Exists(EXT_CAL_PATH)) - { - Directory.Move(EXT_CAL_PATH, EXT_CAL_MV_PATH); - } - Directory.CreateDirectory(EXT_CAL_PATH); - } - } - catch (Exception ex) - { - LogRawText(ex.StackTrace); - throw ex; - } + + //Folder Related + File_Mover(SlotNum:SlotNum,slotList:slotList,pathFlag:"CAL_Single"); + //-----Start Slot Number----- StreamWriter swdata; swdata = new StreamWriter(METADATA_PATH, true, Encoding.UTF8) @@ -1551,31 +1581,7 @@ namespace Testrong.User.Program double[,] ExtBoard_Res = ReadRext(EXT_CAL_INIT_PATH + "ExtBoardRes.csv"); //-----Move File To History----- - try - { - string DateCode = DateTime.Now.ToString("yyyy-MM-dd HH-mm-ss"); - if (SlotNum == slotList[0]) - { - if (Directory.Exists(EXT_CAL_MV_PATH)) - { - if (!Directory.Exists(EXT_CAL_HISTORY_PATH)) - { - Directory.CreateDirectory(EXT_CAL_HISTORY_PATH); - } - Directory.Move(EXT_CAL_MV_PATH, EXT_CAL_HISTORY_PATH + DateCode); - } - if (Directory.Exists(EXT_CAL_PATH)) - { - Directory.Move(EXT_CAL_PATH, EXT_CAL_MV_PATH); - } - Directory.CreateDirectory(EXT_CAL_PATH); - } - } - catch (Exception ex) - { - LogRawText(ex.StackTrace); - throw ex; - } + File_Mover(SlotNum:SlotNum,slotList:slotList,pathFlag:"CAL_Single"); //-----Start Slot Number----- StreamWriter swdata; swdata = new StreamWriter(METADATA_PATH, true, Encoding.UTF8) @@ -1730,6 +1736,8 @@ namespace Testrong.User.Program singlefile.Close(); } Pmur.Close(); + + #region Thread Lock if (SlotNum < slotList[slotList.Count - 1]) { StreamWriter swSignal = new StreamWriter(EXT_CAL_PATH + SlotNum + ".flag"); //Create file flagging end of current thread @@ -1737,7 +1745,7 @@ namespace Testrong.User.Program swSignal.Flush(); swSignal.Close(); } - + #endregion } void ExternalCalibrationReset(IFlowRunnerContext context) { @@ -1908,6 +1916,7 @@ namespace Testrong.User.Program } void ExternalCalibrationCollect(IFlowRunnerContext context, TestVersion testVersion, bool isFirstTest, bool isPreCheck) { + #region Read JSON bool isDefault = Readjson(CONFIG_JSON_PATH).Default; List Range_pmu_fvmv = Readjson(CONFIG_JSON_PATH).PMU_FVMV; List Range_pmu_fvmi = Readjson(CONFIG_JSON_PATH).PMU_FVMI; @@ -1948,7 +1957,9 @@ namespace Testrong.User.Program Dictionary testParaSet_dps_fvmv = new Dictionary(); Dictionary testParaSet_dps_fvmi = new Dictionary(); Dictionary testParaSet_dps_fimv = new Dictionary(); - //配置延时,采样次数,采样间隔 + #endregion + + #region 配置延时,采样次数,采样间隔 switch (testVersion) { case TestVersion.Board_1K_FT: @@ -2004,6 +2015,9 @@ namespace Testrong.User.Program testParaSet_pmu_fvmv = avgDelays_fvmv_pmu; testParaSet_pmu_fzmv = avgDelays_fzmv_pmu; testParaSet_dps_fvmv = avgDelays_fvmv_dps; + #endregion + + #region Do Configuration //-----get all connect slot number----- var slotInfos = context.FlowCatalog.GetAll(); List slotList = new List(); @@ -2029,6 +2043,7 @@ namespace Testrong.User.Program armDnaRaw = armDnaRaw.Reverse().ToArray(); string arm_dna = BitConverter.ToUInt64(armDnaRaw, 0).ToString(); int SlotNum = context.Communicator.SlotNo; + #endregion //-----Select PreTest or ReTest----- #region 选择第一次测试还是复测 if (isFirstTest == true) @@ -2136,42 +2151,10 @@ namespace Testrong.User.Program Dictionary RlDpsFi = ReadRload(EXT_CAL_INIT_PATH + "res.csv")[3]; double[,] ExtBoard_Res = ReadRext(EXT_CAL_INIT_PATH + "ExtBoardRes.csv"); + #region File/Folder Prepartion //-----Move File To History----- - try - { - string DateCode = DateTime.Now.ToString("yyyy-MM-dd HH-mm-ss"); - if (SlotNum == slotList[0]) - { - if (isPreCheck == true) - { - EmptyDir(CAL_COMPFILE_PATH); - ClearPrePostFile(CAL_PRECHECK_PATH); - ClearPrePostFile(CAL_POSTCHECK_PATH); - } - else if (isPreCheck == false) - { - Thread.Sleep(1); - } - if (Directory.Exists(EXT_CAL_MV_PATH)) - { - if (!Directory.Exists(EXT_CAL_HISTORY_PATH)) - { - Directory.CreateDirectory(EXT_CAL_HISTORY_PATH); - } - Directory.Move(EXT_CAL_MV_PATH, EXT_CAL_HISTORY_PATH + DateCode); - } - if (Directory.Exists(EXT_CAL_PATH)) - { - Directory.Move(EXT_CAL_PATH, EXT_CAL_MV_PATH); - } - Directory.CreateDirectory(EXT_CAL_PATH); - } - } - catch (Exception ex) - { - LogRawText(ex.StackTrace); - throw ex; - } + File_Mover(SlotNum: SlotNum, slotList: slotList, pathFlag: "CAL_Normal",isPreCheck:isPreCheck); + //-----Start Slot Number----- // Write MetaData.csv Header StreamWriter swdata; @@ -2188,6 +2171,10 @@ namespace Testrong.User.Program context: context, init_Flag: true ); + + #endregion + + #region Data Collection //-----Start Data Collection----- dmm.Init(ksightConnStr); List Info = slotTestInfo[SlotNum]; @@ -2327,12 +2314,15 @@ namespace Testrong.User.Program string[] PmuPinName_FV = new string[1]; string[] PmuPinName_FZFV = new string[2]; - double[] AteMeasure = new double[SampliCount]; - double[] ForceValue = new double[SampliCount]; - double[] TempValue = new double[SampliCount]; + #region Do Force/Measure/DMM for (int loopk = 0; loopk < ListChannels.Count/*ListChannels.Count*/; loopk++)//-----Loop Channel----- { + //Note: Must put them here as Dictionary `Add` do reference NOT clone + double[] AteMeasure = new double[SampliCount]; + double[] ForceValue = new double[SampliCount]; + double[] TempValue = new double[SampliCount]; + if (Type == "PMU") { int ch = ListChannels[loopk]; @@ -2720,13 +2710,16 @@ namespace Testrong.User.Program testCh.Add(ch); } } + //Read Back Value From DMM int DataCount = testCh.Count * SampliCount; double[] dmmRead = dmm.MultiRead(DataCount); dmm.ClearReadingMemory(); DmmMeasureDir = ReadBackDmm(dmmRead, testCh); + #endregion + #region WriteToFile //Write Data to File if (Type == "PMU") { @@ -2769,7 +2762,7 @@ namespace Testrong.User.Program ); } } - else + else if(Type == "DPS") { for (int writeNum = 0; writeNum < testCh.Count; writeNum++) { @@ -2813,9 +2806,12 @@ namespace Testrong.User.Program ); } } + #endregion } - } + #endregion + + #region Thread Lock if (SlotNum < slotList[slotList.Count - 1]) { StreamWriter swSignal = new StreamWriter(EXT_CAL_PATH + SlotNum + ".flag"); //Create file flagging end of current thread @@ -2823,9 +2819,12 @@ namespace Testrong.User.Program swSignal.Flush(); swSignal.Close(); } + #endregion + dmm.ResetInstrument(); swdata.Flush(); swdata.Close(); + } void ExternalCalibrationWriteCalFiles(IFlowRunnerContext context) @@ -2910,31 +2909,10 @@ namespace Testrong.User.Program string arm_dna = BitConverter.ToUInt64(armDnaRaw, 0).ToString(); int SlotNum = context.Communicator.SlotNo; double[,] ExtBoard_Res = ReadRext(EXT_CAL_INIT_PATH + "ExtBoardRes.csv"); - try - { - string DateCode = DateTime.Now.ToString("yyyy-MM-dd HH-mm-ss"); - if (SlotNum == slotList[0]) - { - if (Directory.Exists(EXT_CAL_MV_PATH)) - { - if (!Directory.Exists(EXT_CAL_HISTORY_PATH)) - { - Directory.CreateDirectory(EXT_CAL_HISTORY_PATH); - } - Directory.Move(EXT_CAL_MV_PATH, EXT_CAL_HISTORY_PATH + DateCode); - } - if (Directory.Exists(EXT_CAL_PATH)) - { - Directory.Move(EXT_CAL_PATH, EXT_CAL_MV_PATH); - } - Directory.CreateDirectory(EXT_CAL_PATH); - } - } - catch (Exception ex) - { - LogRawText(ex.StackTrace); - throw ex; - } + + //Folder Related + File_Mover(SlotNum: SlotNum, slotList: slotList, pathFlag: "CAL_Single"); + //-----Start Slot Number----- StreamWriter swdata; swdata = new StreamWriter(METADATA_PATH, true, Encoding.UTF8) diff --git a/Testrong.User.Program/bin/x64/Debug/Antlr4.Runtime.Standard.dll b/Testrong.User.Program/bin/x64/Debug/Antlr4.Runtime.Standard.dll deleted file mode 100644 index ed3b98b..0000000 Binary files a/Testrong.User.Program/bin/x64/Debug/Antlr4.Runtime.Standard.dll and /dev/null differ diff --git a/Testrong.User.Program/bin/x64/Debug/AutoMapper.dll b/Testrong.User.Program/bin/x64/Debug/AutoMapper.dll deleted file mode 100644 index 703875e..0000000 Binary files a/Testrong.User.Program/bin/x64/Debug/AutoMapper.dll and /dev/null differ diff --git a/Testrong.User.Program/bin/x64/Debug/AutoMapper.xml b/Testrong.User.Program/bin/x64/Debug/AutoMapper.xml deleted file mode 100644 index d825c14..0000000 --- a/Testrong.User.Program/bin/x64/Debug/AutoMapper.xml +++ /dev/null @@ -1,1809 +0,0 @@ - - - - AutoMapper - - - - - Add Action called against the IConfigurationProvider before it gets sealed - - - - - Add an action to be called when validating the configuration. - - the validation callback - - - - Allow the same map to exist in different profiles. - The default is to throw an exception, true means the maps are merged. - - - - - How many levels deep should AutoMapper try to inline the execution plan for child classes. - See the docs for details. - - - - - How many levels deep should recursive queries be expanded. - Must be zero for EF6. Can be greater than zero for EF Core. - - - - - Auto map to this destination type from the specified source type. - Discovered during scanning assembly scanning for configuration when calling - - - - - If set to true, construct the destination object using the service locator. - - - - - For self-referential types, limit recurse depth. - - - - - If set to true, preserve object identity. Useful for circular references. - - - - - If set to true, disable constructor validation. - - - - - If set to true, include this configuration in all derived types' maps. - - - - - Skip normal member mapping and convert using a instantiated during mapping. - - - - - Wraps mapping exceptions. Check exception.ToString() for the full error message. - - - - - Ignore this member for configuration validation and skip during mapping. - - - Must be used in combination with - - - - - Do not precompute the execution plan for this member, just map it at runtime. - Simplifies the execution plan by not inlining. - - - Must be used in combination with - - - - - Supply a custom mapping order instead of what the .NET runtime returns - - - Must be used in combination with - - - - - Substitute a custom value when the source member resolves as null - - - Must be used in combination with - - - - - Value to use if source value is null - - - - - Specify the source member to map from. Can only reference a member on the type - - - Must be used in combination with - - - - - Use the destination value instead of mapping from the source value or creating a new instance - - - Must be used in combination with - - - - - Specify a value converter type to convert from the matching source member to the destination member - Use with to specify a separate source member to supply to the value converter - - - Must be used in combination with - - - - - type - - - - - Map destination member using a custom value resolver. - Use with to specify an type. - - - Must be used in combination with - - - - - or type - - - - - Contains profile-specific configuration - - - - - Source extension methods included for search - - - - - Specify which properties should be mapped. - By default only public properties are mapped. - - - - - Specify which fields should be mapped. - By default only public fields are mapped. - - - - - Specify which methods, of those that are eligible (public, parameterless, and non-static or extension methods), should be mapped. - By default all eligible methods are mapped. - - - - - Specify which constructors should be considered for the destination objects. - By default all constructors are considered. - - - - - Contains member configuration relating to source members - - - - - if targetType is oldType, method will return newType - if targetType is not oldType, method will return targetType - if targetType is generic type with oldType arguments, method will replace all oldType arguments on newType - - - - - - - - - Member maps with default values. Used in dynamic/dictionary scenarios when source/destination members do not exist. - - - - - Gets the feature of type . - - The type of the feature. - The feature or null if feature not exists. - - - - Add or update the feature. Existing feature of the same type will be replaced. - - The feature. - - - - Get all configured type maps created - - All configured type maps - - - - Find the for the configured source and destination type - - Configured source type - Configured destination type - Type map configuration - - - - Find the for the configured type pair - - Type pair - Type map configuration - - - - Find the for the configured source and destination type - - Source type - Destination type - Type map configuration - - - - Resolve the for the configured source and destination type, checking parent types - - Configured source type - Configured destination type - Type map configuration - - - - Resolve the for the configured type pair, checking parent types - - Type pair - Type map configuration - - - - Dry run all configured type maps and throw for each problem - - - - - Dry run single type map - - Type map to check - - - - Dry run all type maps in given profile - - Profile name of type maps to test - - - - Dry run all type maps in given profile - - Profile type - - - - Get all configured mappers - - List of mappers - - - - Gets the features collection. - - The feature colection. - - - - Find a matching object mapper. - - the types to match - the matching mapper or null - - - - Factory method to create formatters, resolvers and type converters - - - - - Allows to enable null-value propagation for query mapping. - Some providers (such as EntityFrameworkQueryVisitor) do not work with this feature enabled! - - - - - Create a mapper instance based on this configuration. Mapper instances are lightweight and can be created as needed. - - The mapper instance - - - - Create a mapper instance with the specified service constructor to be used for resolvers and type converters. - - Service factory to create services - The mapper instance - - - - Compile all underlying mapping expressions to cached delegates. - Use if you want AutoMapper to compile all mappings up front instead of deferring expression compilation for each first map. - - - - - Builds the execution plan used to map the source to destination. - Useful to understand what exactly is happening during mapping. - See the wiki for details. - - the runtime type of the source object - the runtime type of the destination object - the execution plan - - - - Builds the execution plan used to map the source to destination. - Useful to understand what exactly is happening during mapping. - See the wiki for details. - - The source/destination map request - the execution plan - - - - Specify the source member(s) to map from. - - Property name referencing the source member to map against. Or a dot separated member path. - - - - Map constructor parameter from member expression - - Member type - Member expression - - - - Map constructor parameter from custom func that has access to - - Not used for LINQ projection (ProjectTo) - Custom func - - - - Ignore this member for validation and skip during mapping - - - - - Execute a mapping from the source object to a new destination object. - The source type is inferred from the source object. - - Destination type to create - Source object to map from - Mapped destination object - - - - Execute a mapping from the source object to a new destination object. - - Source type to use, regardless of the runtime type - Destination type to create - Source object to map from - Mapped destination object - - - - Execute a mapping from the source object to the existing destination object. - - Source type to use - Destination type - Source object to map from - Destination object to map into - The mapped destination object, same instance as the object - - - - Execute a mapping from the source object to a new destination object with explicit objects - - Source object to map from - Source type to use - Destination type to create - Mapped destination object - - - - Execute a mapping from the source object to existing destination object with explicit objects - - Source object to map from - Destination object to map into - Source type to use - Destination type to use - Mapped destination object, same instance as the object - - - - Execute a mapping from the source object to a new destination object with supplied mapping options. - - Destination type to create - Source object to map from - Mapping options - Mapped destination object - - - - Execute a mapping from the source object to a new destination object with supplied mapping options. - - Source type to use - Destination type to create - Source object to map from - Mapping options - Mapped destination object - - - - Execute a mapping from the source object to the existing destination object with supplied mapping options. - - Source type to use - Destination type - Source object to map from - Destination object to map into - Mapping options - The mapped destination object, same instance as the object - - - - Execute a mapping from the source object to a new destination object with explicit objects and supplied mapping options. - - Source object to map from - Source type to use - Destination type to create - Mapping options - Mapped destination object - - - - Execute a mapping from the source object to existing destination object with supplied mapping options and explicit objects - - Source object to map from - Destination object to map into - Source type to use - Destination type to use - Mapping options - Mapped destination object, same instance as the object - - - - Configuration provider for performing maps - - - - - Factory method for creating runtime instances of converters, resolvers etc. - - - - - Project the input queryable. - - Projections are only calculated once and cached - Destination type - Queryable source - Optional parameter object for parameterized mapping expressions - Explicit members to expand - Queryable result, use queryable extension methods to project and execute result - - - - Project the input queryable. - - Destination type to map to - Queryable source - Optional parameter object for parameterized mapping expressions - Explicit members to expand - Queryable result, use queryable extension methods to project and execute result - - - - Project the input queryable. - - Queryable source - Destination type to map to - Optional parameter object for parameterized mapping expressions - Explicit members to expand - Queryable result, use queryable extension methods to project and execute result - - - - Add an existing profile - - Profile to add - - - - Add an existing profile type. Profile will be instantiated and added to the configuration. - - Profile type - - - - Add an existing profile type. Profile will be instantiated and added to the configuration. - - Profile type - - - - Add profiles contained in an IEnumerable - - IEnumerable of Profile - - - - Add mapping definitions contained in assemblies. - Looks for definitions and classes decorated with - - Assemblies containing mapping definitions - - - - Add mapping definitions contained in assemblies. - Looks for definitions and classes decorated with - - Assemblies containing mapping definitions - - - - Add mapping definitions contained in assemblies. - Looks for definitions and classes decorated with - - Assembly names to load and scan containing mapping definitions - - - - Add mapping definitions contained in assemblies. - Looks for definitions and classes decorated with - - Assembly names to load and scan containing mapping definitions - - - - Add mapping definitions contained in assemblies. - Looks for definitions and classes decorated with - - Types from assemblies containing mapping definitions - - - - Add mapping definitions contained in assemblies. - Looks for definitions and classes decorated with - - Types from assemblies containing mapping definitions - - - - Supply a factory method callback for creating resolvers and type converters - - Factory method - - - - Create a named profile with the supplied configuration - - Profile name, must be unique - Profile configuration - - - - Get the features collection. - - - - - Object mappers - - - - - Advance Configuration - - - - - Custom mapping action - - Source type - Destination type - - - - Implementors can modify both the source and destination objects - - Source object - Destination object - Resolution context - - - - Mapping configuration options for non-generic maps - - - - - Add extra configuration to the current map by also mapping the specified child objects to the destination object. - The maps from the child types to the destination need to be created explicitly. - - the names of child object properties to map to the destination - - - - - Create a type mapping from the destination to the source type, with validation disabled. - This allows for two-way mapping. - - Itself - - - - Customize configuration for all members - - Callback for member options - - - - Customize configuration for members not previously configured - - Callback for member options - - - - Customize individual members - - Name of the member - Callback for configuring member - Itself - - - - Mapping configuration options - - Source type - Destination type - - - - Add extra configuration to the current map by also mapping the specified child objects to the destination object. - The maps from the child types to the destination need to be created explicitly. - - the child objects to map to the destination - - - - - Customize configuration for a path inside the destination object. - - Expression to the destination sub object - Callback for member options - Itself - - - - Customize configuration for members not previously configured - - Callback for member options - - - - Customize configuration for individual member - - Expression to the top-level destination member. This must be a member on the TDestination type - Callback for member options - Itself - - - - Customize configuration for individual member. Used when the name isn't known at compile-time - - Destination member name - Callback for member options - Itself - - - - Customize configuration for all members - - Callback for member options - - - - Include this configuration in derived types' maps - - Derived source type - Derived destination type - Itself - - - - Include the base type map's configuration in this map - - Base source type - Base destination type - Itself - - - - Override the destination type mapping for looking up configuration and instantiation - - Destination type to use - - - - Customize configuration for an individual source member - - Expression to source member. Must be a member of the type - Callback for member configuration options - Itself - - - - Apply a transformation function after any resolved destination member value with the given type - - Value type to match and transform - Transformation expression - Itself - - - - Create a type mapping from the destination to the source type, with validation disabled. - This allows for two-way mapping. - - Itself - - - - Common mapping configuration options between generic and non-generic mapping configuration - - Source type - Destination type - Concrete return type for fluent interface - - - - Construct the destination object using the service locator - - Itself - - - - For self-referential types, limit recurse depth. - Enables PreserveReferences. - - Number of levels to limit to - Itself - - - - Preserve object identity. Useful for circular references. - - Itself - - - - Disable constructor validation. During mapping this map is used against an existing destination object and never constructed itself. - - Itself - - - - Value transformers, typically configured through explicit or extenstion methods. - - - - - Execute a custom function to the source and/or destination types before member mapping - - Not used for LINQ projection (ProjectTo) - Callback for the source/destination types - Itself - - - - Execute a custom function to the source and/or destination types before member mapping - - Not used for LINQ projection (ProjectTo) - Callback for the source/destination types - Itself - - - - Execute a custom mapping action before member mapping - - Not used for LINQ projection (ProjectTo) - Mapping action type instantiated during mapping - Itself - - - - Execute a custom function to the source and/or destination types after member mapping - - Not used for LINQ projection (ProjectTo) - Callback for the source/destination types - Itself - - - - Execute a custom function to the source and/or destination types after member mapping - - Not used for LINQ projection (ProjectTo) - Callback for the source/destination types - Itself - - - - Execute a custom mapping action after member mapping - - Not used for LINQ projection (ProjectTo) - Mapping action type instantiated during mapping - Itself - - - - Specify which member list to validate - - Member list to validate - Itself - - - - Include this configuration in all derived types' maps. Works by scanning all type maps for matches during configuration. - - Itself - - - - Include this configuration in derived types' maps - - Derived source type - Derived destination type - Itself - - - - Include the base type map's configuration in this map - - Base source type - Base destination type - - - - - Customize configuration for an individual source member. Member name not known until runtime - - Expression to source member. Must be a member of the type - Callback for member configuration options - Itself - - - - Ignores all properties that have either a private or protected setter, forcing the mapper to respect encapsulation (note: order matters, so place this before explicit configuration of any properties with an inaccessible setter) - - Itself - - - - When using ReverseMap, ignores all properties that have either a private or protected setter, keeping the reverse mapping consistent with the forward mapping (note: properties with an inaccessible setter may still be mapped unless IgnoreAllPropertiesWithAnInaccessibleSetter is also used) - - Itself - - - - Supply a custom instantiation expression for the destination type - - Expression to create the destination type given the source object - Itself - - - - Supply a custom instantiation function for the destination type, based on the entire resolution context - - Not used for LINQ projection (ProjectTo) - Callback to create the destination type given the current resolution context - Itself - - - - Customize configuration for individual constructor parameter - - Constructor parameter name - Options - Itself - - - - Override the destination type mapping for looking up configuration and instantiation - - - - - - Skip normal member mapping and convert using a instantiated during mapping - Use this method if you need to specify the converter type at runtime - - Type converter type - - - - Skip member mapping and use a custom expression to convert to the destination type - - Callback to convert from source type to destination type - - - - Skip member mapping and use a custom function to convert to the destination type - - Not used for LINQ projection (ProjectTo) - Callback to convert from source type to destination type, including destination object - - - - Skip member mapping and use a custom function to convert to the destination type - - Not used for LINQ projection (ProjectTo) - Callback to convert from source type to destination type, with source, destination and context - - - - Skip member mapping and use a custom type converter instance to convert to the destination type - - Not used for LINQ projection (ProjectTo) - Type converter instance - - - - Skip member mapping and use a custom type converter instance to convert to the destination type - - Not used for LINQ projection (ProjectTo) - Type converter type - - - - Options for a single map operation - - - - - Construct services using this callback. Use this for child/nested containers - - - - - - Add context items to be accessed at map time inside an or - - - - - Execute a custom function to the source and/or destination types before member mapping - - Callback for the source/destination types - - - - Execute a custom function to the source and/or destination types after member mapping - - Callback for the source/destination types - - - - Execute a custom function to the source and/or destination types before member mapping - - Callback for the source/destination types - - - - Execute a custom function to the source and/or destination types after member mapping - - Callback for the source/destination types - - - - Member configuration options - - Source type for this member - Type for this member - Destination type for this map - - - - Do not precompute the execution plan for this member, just map it at runtime. - Simplifies the execution plan by not inlining. - - - - - Substitute a custom value when the source member resolves as null - - Value to use - - - - Map destination member using a custom value resolver - - Not used for LINQ projection (ProjectTo) - Value resolver type - - - - Map destination member using a custom member value resolver supplied with a source member - - Not used for LINQ projection (ProjectTo) - Value resolver type - Source member to supply - - - - Map destination member using a custom member value resolver supplied from a source member name - - Not used for LINQ projection (ProjectTo) - Value resolver type - Source member to supply - Source member name - - - - Map destination member using a custom value resolver instance - - Not used for LINQ projection (ProjectTo) - Value resolver instance to use - - - - Map destination member using a custom value resolver instance - - Not used for LINQ projection (ProjectTo) - Value resolver instance to use - Source member to supply to value resolver - - - - Map destination member using a custom function. Access both the source and destination object. - - Not used for LINQ projection (ProjectTo) - Function to map to destination member - - - - Map destination member using a custom function. Access the source, destination object, and destination member. - - Not used for LINQ projection (ProjectTo) - Function to map to destination member - - - - Map destination member using a custom function. Access the source, destination object, destination member, and context. - - Not used for LINQ projection (ProjectTo) - Function to map to destination member - - - - Map destination member using a custom expression. Used in LINQ projection (ProjectTo). - - Member type of the source member to use - Map expression - - - - Specify the source member(s) to map from. - - Property name referencing the source member to map against. Or a dot separated member path. - - - - Ignore this member for configuration validation and skip during mapping - - - - - Allow this member to be null. Overrides AllowNullDestinationValues/AllowNullCollection. - - - - - Don't allow this member to be null. Overrides AllowNullDestinationValues/AllowNullCollection. - - - - - Supply a custom mapping order instead of what the .NET runtime returns - - Mapping order value - - - - Reset UseDestinationValue. - - - - - Use the destination value instead of mapping from the source value or creating a new instance - - - - - Conditionally map this member against the source, destination, source and destination members - - Condition to evaluate using the source object - - - - Conditionally map this member - - Condition to evaluate using the source object - - - - Conditionally map this member - - Condition to evaluate using the source object - - - - Conditionally map this member - - Condition to evaluate using the source object - - - - Conditionally map this member - - Condition to evaluate using the source object - - - - Conditionally map this member, evaluated before accessing the source value - - Condition to evaluate using the source object - - - - Conditionally map this member, evaluated before accessing the source value - - Condition to evaluate using the current resolution context - - - - Conditionally map this member, evaluated before accessing the source value - - Condition to evaluate using the source object and the current resolution context - - - - Conditionally map this member, evaluated before accessing the source value - - Condition to evaluate using the source object, the destination object, and the current resolution context - - - - Ignore this member for LINQ projections unless explicitly expanded during projection - - - - - The destination member being configured. - - - - - Apply a transformation function after any resolved destination member value with the given type - - Transformation expression - - - - Specify a value converter to convert from the matching source member to the destination member - - - Value converters are similar to type converters, but scoped to a single member. Value resolvers receive the enclosed source/destination objects as parameters. - Value converters do not. This makes it possible to reuse value converters across multiple members and multiple maps. - - Value converter type - Source member type - - - - Specify a value converter to convert from the specified source member to the destination member - - - Value converters are similar to type converters, but scoped to a single member. Value resolvers receive the enclosed source/destination objects as parameters. - Value converters do not. This makes it possible to reuse value converters across multiple members and multiple maps. - - Value converter type - Source member type - Source member to supply to the value converter - - - - Specify a value converter to convert from the specified source member name to the destination member - - - Value converters are similar to type converters, but scoped to a single member. Value resolvers receive the enclosed source/destination objects as parameters. - Value converters do not. This makes it possible to reuse value converters across multiple members and multiple maps. - - Value converter type - Source member type - Source member name to supply to the value converter - - - - Specify a value converter instance to convert from the matching source member to the destination member - - - Value converters are similar to type converters, but scoped to a single member. Value resolvers receive the enclosed source/destination objects as parameters. - Value converters do not. This makes it possible to reuse value converters across multiple members and multiple maps. - - Source member type - Value converter instance - - - - Specify a value converter instance from the specified source member to the destination member - - - Value converters are similar to type converters, but scoped to a single member. Value resolvers receive the enclosed source/destination objects as parameters. - Value converters do not. This makes it possible to reuse value converters across multiple members and multiple maps. - - Source member type - Value converter instance - Source member to supply to the value converter - - - - Specify a value converter instance to convert from the specified source member name to the destination member - - - Value converters are similar to type converters, but scoped to a single member. Value resolvers receive the enclosed source/destination objects as parameters. - Value converters do not. This makes it possible to reuse value converters across multiple members and multiple maps. - - Source member type - Value converter instance - Source member name to supply to the value converter - - - - Configuration options for an individual member - - - - - Map destination member using a custom value resolver. Used when the value resolver is not known at compile-time - - Not used for LINQ projection (ProjectTo) - Value resolver type - - - - Map destination member using a custom value resolver. Used when the value resolver is not known at compile-time - - Not used for LINQ projection (ProjectTo) - Value resolver type - Member to supply to value resolver - - - - Map destination member using a custom value resolver instance - - Not used for LINQ projection (ProjectTo) - Value resolver instance to use - Source member to supply to value resolver - - - - Specify a value converter type to convert from the matching source member to the destination member - - - Value converters are similar to type converters, but scoped to a single member. Value resolvers receive the enclosed source/destination objects as parameters. - Value converters do not. This makes it possible to reuse value converters across multiple members and multiple maps. - - Value converter type - - - - Specify a value converter type to convert from the specified source member name to the destination member - - - Value converters are similar to type converters, but scoped to a single member. Value resolvers receive the enclosed source/destination objects as parameters. - Value converters do not. This makes it possible to reuse value converters across multiple members and multiple maps. - - Value converter type - Source member name to supply to the value converter - - - - Specify a value converter instance to convert from the specified source member name to the destination member - - - Value converters are similar to type converters, but scoped to a single member. Value resolvers receive the enclosed source/destination objects as parameters. - Value converters do not. This makes it possible to reuse value converters across multiple members and multiple maps. - - Source member type - Destination member type - Value converter instance - Source member name to supply to the value converter - - - - Defines a naming convention strategy - - - - - Regular expression on how to tokenize a member - - - - - Mapping execution strategy, as a chain of responsibility - - - - - When true, the mapping engine will use this mapper as the strategy - - Resolution context - Is match - - - - Builds a mapping expression equivalent to the base Map method - - - - - Source parameter - Destination parameter - ResolutionContext parameter - Map expression - - - - Base class for simple object mappers that don't want to use expressions. - - type of the source - type of the destination - - - - When true, the mapping engine will use this mapper as the strategy - - Resolution context - Is match - - - - Performs conversion from source to destination type - - Source object - Destination object - The compile time type of the source object - The compile time type of the destination object - Resolution context - Destination object - - - - Member configuration options - - Source type for this member - Destination type for this map - Type for this member - - - - Specify the source member to map from. Can only reference a member on the type - Any null reference exceptions in this expression will be ignored (similar to flattening behavior) - - Member type of the source member to use - Expression referencing the source member to map against - - - - Ignore this member for configuration validation and skip during mapping - - - - - Configuration for profile-specific maps - - - - - Disable constructor mapping. Use this if you don't intend to have AutoMapper try to map to constructors - - - - - Creates a mapping configuration from the type to the type - - Source type - Destination type - Mapping expression for more configuration options - - - - Creates a mapping configuration from the type to the type. - Specify the member list to validate against during configuration validation. - - Source type - Destination type - Member list to validate - Mapping expression for more configuration options - - - - Create a mapping configuration from the source type to the destination type. - Use this method when the source and destination type are known at runtime and not compile time. - - Source type - Destination type - Mapping expression for more configuration options - - - - Creates a mapping configuration from the source type to the destination type. - Specify the member list to validate against during configuration validation. - - Source type - Destination type - Member list to validate - Mapping expression for more configuration options - - - - Clear the list of recognized prefixes. - - - - - Recognize a list of prefixes to be removed from source member names when matching - - List of prefixes - - - - Recognize a list of postfixes to be removed from source member names when matching - - List of postfixes - - - - Provide an alias for a member name when matching source member names - - Original member name - Alias to match against - - - - Provide a new value for a part of a members name - - Original member value - New member value - - - - Recognize a list of prefixes to be removed from destination member names when matching - - List of prefixes - - - - Recognize a list of postfixes to be removed from destination member names when matching - - List of postfixes - - - - Add a property name to globally ignore. Matches against the beginning of the property names. - - Property name to match against - - - - Allow null destination values. If false, destination objects will be created for deep object graphs. Default true. - - - - - Allow null destination collections. If true, null source collections result in null destination collections. Default false. - - - - - Allows to enable null-value propagation for query mapping. - Some providers (such as EntityFrameworkQueryVisitor) do not work with this feature enabled! - - - - - Naming convention for source members - - - - - Naming convention for destination members - - - - - Specify common configuration for all type maps. - - configuration callback - - - - Customize configuration for all members across all maps - - Condition - Callback for member options. Use the property map for conditional maps. - - - - Include extension methods against source members for matching destination members to. Default source extension methods from - - Static type that contains extension methods - - - - Value transformers. Modify the list directly or use - - - - - Source member configuration options - - - - - Ignore this member when validating source members, MemberList.Source. - Does not affect validation for the default case, MemberList.Destination. - - - - - Converts source type to destination type instead of normal member mapping - - Source type - Destination type - - - - Performs conversion from source to destination type - - Source object - Destination object - Resolution context - Destination object - - - - Converts a source member value to a destination member value - - Source member type - Destination member type - - - - Perform conversion from source member value to destination member value - - Source member object - Resolution context - Destination member value - - - - Extension point to provide custom resolution for a destination value - - - - - Implementors use source object to provide a destination object. - - Source object - Destination object, if exists - Destination member - The context of the mapping - Result, typically build from the source resolution result - - - - Extension point to provide custom resolution for a destination value - - - - - Implementors use source object to provide a destination object. - - Source object - Destination object, if exists - Source member - Destination member - The context of the mapping - Result, typically build from the source resolution result - - - - Used to ensure we capture the concrete parent type. For virtual members, AutoMapper's GetMemberInfo methods will return a - MemberInfo whose ReflectedType is the base class - not source or destination being mapped. - - - - - Member list to check for configuration validation - - - - - Check that all destination members are mapped - - - - - Check that all source members are mapped - - - - - Check neither source nor destination members, skipping validation - - - - - Provides a named configuration for maps. Naming conventions become scoped per profile. - - - - - Queryable extensions for AutoMapper - - - - - Maps a queryable expression of a source type to a queryable expression of a destination type - - Source type - Destination type - Source queryable - Destination queryable - - Mapped destination queryable - - - - Extension method to project from a queryable using the provided mapping engine - - Projections are only calculated once and cached - Destination type - Queryable source - Mapper configuration - Optional parameter object for parameterized mapping expressions - Explicit members to expand - Expression to project into - - - - Extension method to project from a queryable using the provided mapping engine - - Projections are only calculated once and cached - Destination type - Queryable source - Mapper configuration - Explicit members to expand - Expression to project into - - - - Projects the source type to the destination type given the mapping configuration - - Destination type to map to - Queryable source - Mapper configuration - Optional parameter object for parameterized mapping expressions - Explicit members to expand - Queryable result, use queryable extension methods to project and execute result - - - - Extension method to project from a queryable using the provided mapping engine - - Projections are only calculated once and cached - Queryable source - Destination type - Mapper configuration - Expression to project into - - - - Projects the source type to the destination type given the mapping configuration - - Queryable source - Destination type to map to - Mapper configuration - Optional parameter object for parameterized mapping expressions - Explicit members to expand - Queryable result, use queryable extension methods to project and execute result - - - - Expression visitor for making member access null-safe. - - - NullSafeQueryRewriter is copied from the NeinLinq project, licensed under the MIT license. - Copyright (c) 2014-2018 Axel Heer. - See https://github.com/axelheer/nein-linq/blob/master/src/NeinLinq/NullsafeQueryRewriter.cs - - - - - - - - - - - Context information regarding resolution of a destination value - - - - - Mapping operation options - - - - - Context items from - - - - - Current mapper - - - - - Instance cache for resolving circular references - - - - - Instance cache for resolving keeping track of depth - - - - - Contains cached reflection information for easy retrieval - - - - - Main configuration object holding all mapping configuration for a source and destination type - - - - - Apply a transformation function after any resolved destination member value with the given type - - Value type to match and transform - Value transformer list - Transformation expression - - - diff --git a/Testrong.User.Program/bin/x64/Debug/DotNetty.Buffers.dll b/Testrong.User.Program/bin/x64/Debug/DotNetty.Buffers.dll deleted file mode 100644 index cf37716..0000000 Binary files a/Testrong.User.Program/bin/x64/Debug/DotNetty.Buffers.dll and /dev/null differ diff --git a/Testrong.User.Program/bin/x64/Debug/DotNetty.Buffers.xml b/Testrong.User.Program/bin/x64/Debug/DotNetty.Buffers.xml deleted file mode 100644 index dd5654d..0000000 --- a/Testrong.User.Program/bin/x64/Debug/DotNetty.Buffers.xml +++ /dev/null @@ -1,1978 +0,0 @@ - - - - DotNetty.Buffers - - - - - - Abstract base class implementation of a - - - - - - Abstract base class for instances - - - - - - Abstract base class for implementations that wrap another - . - - - - - Returns a hex dump - of the specified buffer's sub-region. - - - - - Returns a hex dump - of the specified buffer's sub-region. - - - - - Returns a hex dump - of the specified buffer's sub-region. - - - - - Returns a hex dump - of the specified buffer's sub-region. - - - - - Calculates the hash code of the specified buffer. This method is - useful when implementing a new buffer type. - - - - - Returns the reader index of needle in haystack, or -1 if needle is not in haystack. - - - - - Returns {@code true} if and only if the two specified buffers are - identical to each other for {@code length} bytes starting at {@code aStartIndex} - index for the {@code a} buffer and {@code bStartIndex} index for the {@code b} buffer. - A more compact way to express this is: -

- {@code a[aStartIndex : aStartIndex + length] == b[bStartIndex : bStartIndex + length]} -

-
- - - Returns {@code true} if and only if the two specified buffers are - identical to each other as described in {@link ByteBuf#equals(Object)}. - This method is useful when implementing a new buffer type. - - - - - Compares the two specified buffers as described in {@link ByteBuf#compareTo(ByteBuf)}. - This method is useful when implementing a new buffer type. - - - - - The default implementation of . - This method is useful when implementing a new buffer type. - - - - - Read the given amount of bytes into a new {@link ByteBuf} that is allocated from the {@link ByteBufAllocator}. - - - - - Encode a string in http://en.wikipedia.org/wiki/UTF-8 and write it into reserveBytes of - a byte buffer. The reserveBytes must be computed (ie eagerly using {@link #utf8MaxBytes(string)} - or exactly with #utf8Bytes(string)}) to ensure this method not to not: for performance reasons - the index checks will be performed using just reserveBytes. - - This method returns the actual number of bytes written. - - - - Encode the given using the given into a new - which - is allocated via the . - - The to allocate {@link IByteBuffer}. - src The to encode. - charset The specified - - - - Encode the given using the given into a new - which - is allocated via the . - - The to allocate {@link IByteBuffer}. - src The to encode. - charset The specified - the extra capacity to alloc except the space for decoding. - - - - Returns a multi-line hexadecimal dump of the specified {@link ByteBuf} that is easy to read by humans. - - - - - Returns a multi-line hexadecimal dump of the specified {@link ByteBuf} that is easy to read by humans, - starting at the given {@code offset} using the given {@code length}. - - - - - Appends the prettified multi-line hexadecimal dump of the specified {@link ByteBuf} to the specified - {@link StringBuilder} that is easy to read by humans. - - - - - Appends the prettified multi-line hexadecimal dump of the specified {@link ByteBuf} to the specified - {@link StringBuilder} that is easy to read by humans, starting at the given {@code offset} using - the given {@code length}. - - - - - Toggles the endianness of the specified 64-bit long integer. - - - - - Toggles the endianness of the specified 32-bit integer. - - - - - Toggles the endianness of the specified 16-bit integer. - - - - - Default on most Windows systems - - - - - Add the given {@link IByteBuffer}. - Be aware that this method does not increase the {@code writerIndex} of the {@link CompositeByteBuffer}. - If you need to have it increased you need to handle it by your own. - @param buffer the {@link IByteBuffer} to add - - - - - Add the given {@link IByteBuffer}s. - Be aware that this method does not increase the {@code writerIndex} of the {@link CompositeByteBuffer}. - If you need to have it increased you need to handle it by your own. - @param buffers the {@link IByteBuffer}s to add - - - - - Add the given {@link IByteBuffer}s. - Be aware that this method does not increase the {@code writerIndex} of the {@link CompositeByteBuffer}. - If you need to have it increased you need to handle it by your own. - @param buffers the {@link IByteBuffer}s to add - - - - - Add the given {@link IByteBuffer} on the specific index. - Be aware that this method does not increase the {@code writerIndex} of the {@link CompositeByteBuffer}. - If you need to have it increased you need to handle it by your own. - @param cIndex the index on which the {@link IByteBuffer} will be added - @param buffer the {@link IByteBuffer} to add - - - - - Add the given {@link IByteBuffer}s on the specific index - Be aware that this method does not increase the {@code writerIndex} of the {@link CompositeByteBuffer}. - If you need to have it increased you need to handle it by your own. - @param cIndex the index on which the {@link IByteBuffer} will be added. - @param buffers the {@link IByteBuffer}s to add - - - - - Add the given {@link ByteBuf}s on the specific index - Be aware that this method does not increase the {@code writerIndex} of the {@link CompositeByteBuffer}. - If you need to have it increased you need to handle it by your own. - @param cIndex the index on which the {@link IByteBuffer} will be added. - @param buffers the {@link IByteBuffer}s to add - - - - - This should only be called as last operation from a method as this may adjust the underlying - array of components and so affect the index etc. - - - - - Remove the {@link IByteBuffer} from the given index. - @param cIndex the index on from which the {@link IByteBuffer} will be remove - - - - - Remove the number of {@link IByteBuffer}s starting from the given index. - @param cIndex the index on which the {@link IByteBuffer}s will be started to removed - @param numComponents the number of components to remove - - - - - Same with {@link #slice(int, int)} except that this method returns a list. - - - - - Return the current number of {@link IByteBuffer}'s that are composed in this instance - - - - - Return the max number of {@link IByteBuffer}'s that are composed in this instance - - - - - Return the index for the given offset - - - - - Return the {@link IByteBuffer} on the specified index - @param cIndex the index for which the {@link IByteBuffer} should be returned - @return buffer the {@link IByteBuffer} on the specified index - - - - - Return the {@link IByteBuffer} on the specified index - @param offset the offset for which the {@link IByteBuffer} should be returned - @return the {@link IByteBuffer} on the specified index - - - - - Return the internal {@link IByteBuffer} on the specified index. Note that updating the indexes of the returned - buffer will lead to an undefined behavior of this buffer. - @param cIndex the index for which the {@link IByteBuffer} should be returned - - - - - Return the internal {@link IByteBuffer} on the specified offset. Note that updating the indexes of the returned - buffer will lead to an undefined behavior of this buffer. - @param offset the offset for which the {@link IByteBuffer} should be returned - - - - - Consolidate the composed {@link IByteBuffer}s - - - - - Consolidate the composed {@link IByteBuffer}s - @param cIndex the index on which to start to compose - @param numComponents the number of components to compose - - - - - Discard all {@link IByteBuffer}s which are read. - - - - - - Represents an empty byte buffer - - - - - Inspired by the Netty ByteBuffer implementation - (https://github.com/netty/netty/blob/master/buffer/src/main/java/io/netty/buffer/ByteBuf.java) - Provides circular-buffer-esque security around a byte array, allowing reads and writes to occur independently. - In general, the guarantees: - /// LESS THAN OR EQUAL TO LESS THAN OR EQUAL TO - . - - - - - Expands the capacity of this buffer so long as it is less than . - - - - - The allocator who created this buffer - - - - - Sets the of this buffer - - thrown if exceeds the length of the buffer - - - - Sets the of this buffer - - - thrown if is greater than - or less than 0. - - - - - Sets both indexes - - - thrown if or exceeds - the length of the buffer - - - - - Returns true if - is greater than 0. - - - - - Is the buffer readable if and only if the buffer contains equal or more than the specified number of elements - - The number of elements we would like to read - - - - Returns true if and only if - is greater than zero. - - - - - Returns true if and only if the buffer has enough to accomodate - additional bytes. - - The number of additional elements we would like to write. - - - - Sets the and to 0. Does not erase any of the data - written into the buffer already, - but it will overwrite that data. - - - - - Marks the current in this buffer. You can reposition the current - - to the marked by calling . - The initial value of the marked is 0. - - - - - Repositions the current to the marked in this buffer. - - - is thrown if the current is less than the - marked - - - - - Marks the current in this buffer. You can reposition the current - - to the marked by calling . - The initial value of the marked is 0. - - - - - Repositions the current to the marked in this buffer. - - - is thrown if the current is greater than the - marked - - - - - Discards the bytes between the 0th index and . - It moves the bytes between and to the 0th index, - and sets and to 0 and - oldWriterIndex - oldReaderIndex respectively. - - - - - Similar to except that this method might discard - some, all, or none of read bytes depending on its internal implementation to reduce - overall memory bandwidth consumption at the cost of potentially additional memory - consumption. - - - - - Makes sure the number of is equal to or greater than - the specified value (.) If there is enough writable bytes in this buffer, - the method returns with no side effect. Otherwise, it raises an . - - The expected number of minimum writable bytes - - if + > - . - - - - - Tries to make sure the number of - is equal to or greater than the specified value. Unlike , - this method does not raise an exception but returns a code. - - the expected minimum number of writable bytes - - When + minWritableBytes > : -
    -
  • true - the capacity of the buffer is expanded to
  • -
  • false - the capacity of the buffer is unchanged
  • -
- - - 0 if the buffer has enough writable bytes, and its capacity is unchanged. - 1 if the buffer does not have enough bytes, and its capacity is unchanged. - 2 if the buffer has enough writable bytes, and its capacity has been increased. - 3 if the buffer does not have enough bytes, but its capacity has been increased to its maximum. - -
- - - Gets a boolean at the specified absolute in this buffer. - This method does not modify or - of this buffer. - - - if the specified is less than 0 or - index + 1 greater than - - - - - Gets a byte at the specified absolute in this buffer. - This method does not modify or - of this buffer. - - - if the specified is less than 0 or - index + 1 greater than - - - - - Gets a short at the specified absolute in this buffer. - This method does not modify or - of this buffer. - - - if the specified is less than 0 or - index + 2 greater than - - - - - Gets a short at the specified absolute in this buffer - in Little Endian Byte Order. This method does not modify - or of this buffer. - - - if the specified is less than 0 or - index + 2 greater than - - - - - Gets an ushort at the specified absolute in this buffer. - This method does not modify or - of this buffer. - - - if the specified is less than 0 or - index + 2 greater than - - - - - Gets an ushort at the specified absolute in this buffer - in Little Endian Byte Order. This method does not modify - or of this buffer. - - - if the specified is less than 0 or - index + 2 greater than - - - - - Gets an integer at the specified absolute in this buffer. - This method does not modify or - of this buffer. - - - if the specified is less than 0 or - index + 4 greater than - - - - - Gets an integer at the specified absolute in this buffer - in Little Endian Byte Order. This method does not modify - or of this buffer. - - - if the specified is less than 0 or - index + 4 greater than - - - - - Gets an unsigned integer at the specified absolute in this buffer. - This method does not modify or - of this buffer. - - - if the specified is less than 0 or - index + 4 greater than - - - - - Gets an unsigned integer at the specified absolute in this buffer - in Little Endian Byte Order. This method does not modify - or of this buffer. - - - if the specified is less than 0 or - index + 4 greater than - - - - - Gets a long integer at the specified absolute in this buffer. - This method does not modify or - of this buffer. - - - if the specified is less than 0 or - index + 8 greater than - - - - - Gets a long integer at the specified absolute in this buffer - in Little Endian Byte Order. This method does not modify or - of this buffer. - - - if the specified is less than 0 or - index + 8 greater than - - - - - Gets a 24-bit medium integer at the specified absolute index in this buffer. - This method does not modify or - of this buffer. - - - if the specified is less than 0 or - index + 3 greater than - - - - - Gets a 24-bit medium integer at the specified absolute index in this buffer - in Little Endian Byte Order. This method does not modify - or of this buffer. - - - if the specified is less than 0 or - index + 3 greater than - - - - - Gets an unsigned 24-bit medium integer at the specified absolute index in this buffer. - This method does not modify or - of this buffer. - - - if the specified is less than 0 or - index + 3 greater than - - - - - Gets an unsigned 24-bit medium integer at the specified absolute index in this buffer - in Little Endian Byte Order. This method does not modify - or of this buffer. - - - if the specified is less than 0 or - index + 3 greater than - - - - - Gets a char at the specified absolute in this buffer. - This method does not modify or - of this buffer. - - - if the specified is less than 0 or - index + 2 greater than - - - - - Gets a float at the specified absolute in this buffer. - This method does not modify or - of this buffer. - - - if the specified is less than 0 or - index + 4 greater than - - - - - Gets a float at the specified absolute in this buffer - in Little Endian Byte Order. This method does not modify - or of this buffer. - - - if the specified is less than 0 or - index + 4 greater than - - - - - Gets a double at the specified absolute in this buffer. - This method does not modify or - of this buffer. - - - if the specified is less than 0 or - index + 8 greater than - - - - - Gets a double at the specified absolute in this buffer - in Little Endian Byte Order. This method does not modify - or of this buffer. - - - if the specified is less than 0 or - index + 8 greater than - - - - - Transfers this buffers data to the specified buffer starting at the specified - absolute until the destination becomes non-writable. - - - if the specified is less than 0 or - index + 1 greater than - - - - - Transfers this buffers data to the specified buffer starting at the specified - absolute until the destination becomes non-writable. - - - if the specified is less than 0 or - index + 1 greater than - - - - - Transfers this buffers data to the specified buffer starting at the specified - absolute until the destination becomes non-writable. - - - if the specified is less than 0 or - index + 1 greater than - - - - - Transfers this buffers data to the specified buffer starting at the specified - absolute until the destination becomes non-writable. - - - if the specified is less than 0 or - index + 1 greater than - - - - - Transfers this buffers data to the specified buffer starting at the specified - absolute until the destination becomes non-writable. - - - if the specified is less than 0 or - index + 1 greater than - - - - - Transfers this buffer's data to the specified stream starting at the - specified absolute index. - - - This method does not modify readerIndex or writerIndex of - this buffer. - - absolute index in this buffer to start getting bytes from - destination stream - the number of bytes to transfer - - if the specified index is less than 0 or - if index + length is greater than - this.capacity - - - - - Gets a string with the given length at the given index. - - - length the length to read - charset that should be use - the string value. - - if length is greater than readable bytes. - - - - - Sets the specified boolean at the specified absolute in this buffer. - This method does not directly modify or of this buffer. - - - if the specified is less than 0 or - index + 1 greater than - - - - - Sets the specified byte at the specified absolute in this buffer. - This method does not directly modify or of this buffer. - - - if the specified is less than 0 or - index + 1 greater than - - - - - Sets the specified short at the specified absolute in this buffer. - This method does not directly modify or of this buffer. - - - if the specified is less than 0 or - index + 2 greater than - - - - - Sets the specified short at the specified absolute in this buffer - in the Little Endian Byte Order. This method does not directly modify - or of this buffer. - - - if the specified is less than 0 or - index + 2 greater than - - - - - Sets the specified unsigned short at the specified absolute in this buffer. - This method does not directly modify or of this buffer. - - - if the specified is less than 0 or - index + 2 greater than - - - - - Sets the specified unsigned short at the specified absolute in this buffer - in the Little Endian Byte Order. This method does not directly modify - or of this buffer. - - - if the specified is less than 0 or - index + 2 greater than - - - - - Sets the specified integer at the specified absolute in this buffer. - This method does not directly modify or of this buffer. - - - if the specified is less than 0 or - index + 4 greater than - - - - - Sets the specified integer at the specified absolute in this buffer - in the Little Endian Byte Order. This method does not directly modify - or of this buffer. - - - if the specified is less than 0 or - index + 4 greater than - - - - - Sets the specified unsigned integer at the specified absolute in this buffer. - This method does not directly modify or of this buffer. - - - if the specified is less than 0 or - index + 4 greater than - - - - - Sets the specified unsigned integer at the specified absolute in this buffer - in the Little Endian Byte Order. This method does not directly modify or - of this buffer. - - - if the specified is less than 0 or - index + 4 greater than - - - - - Sets the specified 24-bit medium integer at the specified absolute in this buffer. - Note that the most significant byte is ignored in the specified value. - This method does not directly modify or of this buffer. - - - if the specified is less than 0 or - index + 3 greater than - - - - - Sets the specified 24-bit medium integer at the specified absolute in this buffer. - Note that the most significant byte is ignored in the specified value. - This method does not directly modify or of this buffer. - - - if the specified is less than 0 or - index + 3 greater than - - - - - Sets the specified long integer at the specified absolute in this buffer. - This method does not directly modify or of this buffer. - - - if the specified is less than 0 or - index + 8 greater than - - - - - Sets the specified long integer at the specified absolute in this buffer - in the Little Endian Byte Order. This method does not directly modify or - of this buffer. - - - if the specified is less than 0 or - index + 8 greater than - - - - - Sets the specified UTF-16 char at the specified absolute in this buffer. - This method does not directly modify or of this buffer. - - - if the specified is less than 0 or - index + 2 greater than - - - - - Sets the specified double at the specified absolute in this buffer. - This method does not directly modify or of this buffer. - - - if the specified is less than 0 or - index + 8 greater than - - - - - Sets the specified float at the specified absolute in this buffer. - This method does not directly modify or of this buffer. - - - if the specified is less than 0 or - index + 4 greater than - - - - - Sets the specified float at the specified absolute in this buffer - in Little Endian Byte Order. This method does not directly modify - or of this buffer. - - - if the specified is less than 0 or - index + 4 greater than - - - - - Sets the specified float at the specified absolute in this buffer - in Little Endian Byte Order. This method does not directly modify - or of this buffer. - - - if the specified is less than 0 or - index + 4 greater than - - - - - Transfers the byte buffer's contents starting at the specified absolute . - This method does not directly modify or of this buffer. - - - if the specified is less than 0 or - + .ReadableBytes greater than - - - - - Transfers the byte buffer's contents starting at the specified absolute . - This method does not directly modify or of this buffer. - - - if the specified is less than 0 or - is less than 0 or - + greater than - - - - - Transfers the byte buffer's contents starting at the specified absolute . - This method does not directly modify or of this buffer. - - - if the specified is less than 0 or - is less than 0 or - is less than 0 or - + greater than or - + greater than .Capacity - - - - - Transfers the byte buffer's contents starting at the specified absolute . - This method does not directly modify or of this buffer. - - - if the specified is less than 0 or - + .Length greater than - - - - - Transfers the byte buffer's contents starting at the specified absolute . - This method does not directly modify or of this buffer. - - - if the specified is less than 0 or - is less than 0 or - is less than 0 or - + greater than or - + greater than .Length - - - - - Transfers the content of the specified source stream to this buffer - starting at the specified absolute . - This method does not modify or of - this buffer. - - absolute index in this byte buffer to start writing to - - number of bytes to transfer - cancellation token - the actual number of bytes read in from the specified channel. - - if the specified index is less than 0 or - if index + length is greater than this.capacity - - - - - Fills this buffer with NULL (0x00) starting at the specified - absolute index. This method does not modify reader index - or writer index of this buffer - - absolute index in this byte buffer to start writing to - length the number of NULs to write to the buffer - - if the specified index is less than 0 or if index + length - is greater than capacity. - - - - - Writes the specified string at the current writer index and increases - the writer index by the written bytes. - - Index on which the string should be written - The string value. - Encoding that should be used. - The written number of bytes. - - if writable bytes is not large enough to write the whole string. - - - - - Gets a boolean at the current and increases the - by 1 in this buffer. - - if is less than 1 - - - - Gets a byte at the current and increases the - by 1 in this buffer. - - if is less than 1 - - - - Gets a short at the current and increases the - by 2 in this buffer. - - if is less than 2 - - - - Gets a short at the current in the Little Endian Byte Order and increases - the by 2 in this buffer. - - if is less than 2 - - - - Gets a 24-bit medium integer at the current and increases the - by 3 in this buffer. - - if is less than 3 - - - - Gets a 24-bit medium integer at the current in the Little Endian Byte Order and - increases the by 3 in this buffer. - - if is less than 3 - - - - Gets an unsigned 24-bit medium integer at the current and increases the - by 3 in this buffer. - - if is less than 3 - - - - Gets an unsigned 24-bit medium integer at the current in the Little Endian Byte Order - and increases the by 3 in this buffer. - - if is less than 3 - - - - Gets an unsigned short at the current and increases the - by 2 in this buffer. - - if is less than 2 - - - - Gets an unsigned short at the current in the Little Endian Byte Order and - increases the by 2 in this buffer. - - if is less than 2 - - - - Gets an integer at the current and increases the - by 4 in this buffer. - - if is less than 4 - - - - Gets an integer at the current in the Little Endian Byte Order and increases - the by 4 in this buffer. - - if is less than 4 - - - - Gets an unsigned integer at the current and increases the - by 4 in this buffer. - - if is less than 4 - - - - Gets an unsigned integer at the current in the Little Endian Byte Order and - increases the by 4 in this buffer. - - if is less than 4 - - - - Gets an long at the current and increases the - by 8 in this buffer. - - if is less than 4 - - - - Gets an long at the current in the Little Endian Byte Order and - increases the by 8 in this buffer. - - if is less than 4 - - - - Gets a 2-byte UTF-16 character at the current and increases the - - by 2 in this buffer. - - if is less than 2 - - - - Gets an 8-byte Decimaling integer at the current and increases the - - by 8 in this buffer. - - if is less than 8 - - - - Gets an 8-byte Decimaling integer at the current and increases the - by 8 in this buffer in Little Endian Byte Order. - - if is less than 8 - - - - Gets an 4-byte Decimaling integer at the current and increases the - - by 4 in this buffer. - - if is less than 4 - - - - Gets an 4-byte Decimaling integer at the current and increases the - by 4 in this buffer in Little Endian Byte Order. - - if is less than 4 - - - - Reads bytes from this buffer into a new destination buffer. - - - if is less than - - - - - Transfers bytes from this buffer's data into the specified destination buffer - starting at the curent until the destination becomes - non-writable and increases the by the number of transferred bytes. - - - if destination. is greater than - . - - - - - Gets a string with the given length at the current reader index - and increases the reader index by the given length. - - The length to read - Encoding that should be used - The string value - - - - Increases the current by the specified in this buffer. - - if is greater than . - - - - Returns the maximum of that this buffer holds. Note that - - or might return a less number of s of - . - - - -1 if this buffer cannot represent its content as of . - the number of the underlying s if this buffer has at least one underlying segment. - Note that this method does not return 0 to avoid confusion. - - - - - - - - - Exposes this buffer's readable bytes as an of . Returned segment - shares the content with this buffer. This method is identical - to buf.GetIoBuffer(buf.ReaderIndex, buf.ReadableBytes). This method does not - modify or of this buffer. Please note that the - returned segment will not see the changes of this buffer if this buffer is a dynamic - buffer and it adjusted its capacity. - - - if this buffer cannot represent its content as - of - - - - - - - - Exposes this buffer's sub-region as an of . Returned segment - shares the content with this buffer. This method does not - modify or of this buffer. Please note that the - returned segment will not see the changes of this buffer if this buffer is a dynamic - buffer and it adjusted its capacity. - - - if this buffer cannot represent its content as - of - - - - - - - - Exposes this buffer's readable bytes as an array of of . Returned - segments - share the content with this buffer. This method does not - modify or of this buffer. Please note that - returned segments will not see the changes of this buffer if this buffer is a dynamic - buffer and it adjusted its capacity. - - - if this buffer cannot represent its content with - of - - - - - - - - Exposes this buffer's bytes as an array of of for the specified - index and length. - Returned segments share the content with this buffer. This method does - not modify or of this buffer. Please note that - returned segments will not see the changes of this buffer if this buffer is a dynamic - buffer and it adjusted its capacity. - - - if this buffer cannot represent its content with - of - - - - - - - - Flag that indicates if this is backed by a byte array or not - - - - - Grabs the underlying byte array for this buffer - - - - - Returns {@code true} if and only if this buffer has a reference to the low-level memory address that points - to the backing data. - - - - - Returns the low-level memory address that point to the first byte of ths backing data. - - The low-level memory address - - - - Returns the pointer address of the buffer if the memory is pinned. - - IntPtr.Zero if not pinned. - - - - Creates a deep clone of the existing byte array and returns it - - - - - Unwraps a nested buffer - - - - - Returns a copy of this buffer's readable bytes. Modifying the content of the - returned buffer or this buffer does not affect each other at all.This method is - identical to {@code buf.copy(buf.readerIndex(), buf.readableBytes())}. - This method does not modify {@code readerIndex} or {@code writerIndex} of this buffer. - - - - - Iterates over the readable bytes of this buffer with the specified processor in ascending order. - - - -1 if the processor iterated to or beyond the end of the readable bytes. - The last-visited index If the returned false. - - Processor. - - - - Iterates over the specified area of this buffer with the specified in ascending order. - (i.e. , (index + 1), .. (index + length - 1)) - - - -1 if the processor iterated to or beyond the end of the specified area. - The last-visited index If the returned false. - - Index. - Length. - Processor. - - - - Iterates over the readable bytes of this buffer with the specified in descending order. - - - -1 if the processor iterated to or beyond the beginning of the readable bytes. - The last-visited index If the returned false. - - Processor. - - - - Iterates over the specified area of this buffer with the specified in descending order. - (i.e. (index + length - 1), (index + length - 2), ... ) - - - -1 if the processor iterated to or beyond the beginning of the specified area. - The last-visited index If the returned false. - - Index. - Length. - Processor. - - - - Thread-safe interface for allocating /. - - - - - Returns the number of bytes of heap memory used by a {@link ByteBufAllocator} or {@code -1} if unknown. - - - - - Returns the number of bytes of direct memory used by a {@link ByteBufAllocator} or {@code -1} if unknown. - - - - - Returns a for a - - - - - Return the data which is held by this {@link ByteBufHolder}. - - - - - Create a deep copy of this {@link ByteBufHolder}. - - - - - Duplicate the {@link ByteBufHolder}. Be aware that this will not automatically call {@link #retain()}. - - - - - Duplicates this {@link ByteBufHolder}. This method returns a retained duplicate unlike {@link #duplicate()}. - - - - - Returns a new {@link ByteBufHolder} which contains the specified {@code content}. - - - - Returns the number of thread caches backed by this arena. - - - Returns the number of tiny sub-pages for the arena. - - - Returns the number of small sub-pages for the arena. - - - Returns the number of chunk lists for the arena. - - - Returns an unmodifiable {@link List} which holds {@link PoolSubpageMetric}s for tiny sub-pages. - - - Returns an unmodifiable {@link List} which holds {@link PoolSubpageMetric}s for small sub-pages. - - - Returns an unmodifiable {@link List} which holds {@link PoolChunkListMetric}s. - - - Return the number of allocations done via the arena. This includes all sizes. - - - Return the number of tiny allocations done via the arena. - - - Return the number of small allocations done via the arena. - - - Return the number of normal allocations done via the arena. - - - Return the number of huge allocations done via the arena. - - - Return the number of deallocations done via the arena. This includes all sizes. - - - Return the number of tiny deallocations done via the arena. - - - Return the number of small deallocations done via the arena. - - - Return the number of normal deallocations done via the arena. - - - Return the number of huge deallocations done via the arena. - - - Return the number of currently active allocations. - - - Return the number of currently active tiny allocations. - - - Return the number of currently active small allocations. - - - Return the number of currently active normal allocations. - - - Return the number of currently active huge allocations. - - - Return the number of active bytes that are currently allocated by the arena. - - - Return the minum usage of the chunk list before which chunks are promoted to the previous list. - - - Return the minum usage of the chunk list after which chunks are promoted to the next list. - - - Return the percentage of the current usage of the chunk. - - - Return the size of the chunk in bytes, this is the maximum of bytes that can be served out of the chunk. - - - Return the number of free bytes in the chunk. - - - Return the number of maximal elements that can be allocated out of the sub-page. - - - Return the number of available elements to be allocated. - - - Return the size (in bytes) of the elements that will be allocated. - - - Return the size (in bytes) of this page. - - - - Description of algorithm for PageRun/PoolSubpage allocation from PoolChunk - Notation: The following terms are important to understand the code - > page - a page is the smallest unit of memory chunk that can be allocated - > chunk - a chunk is a collection of pages - > in this code chunkSize = 2^{maxOrder} /// pageSize - To begin we allocate a byte array of size = chunkSize - Whenever a ByteBuf of given size needs to be created we search for the first position - in the byte array that has enough empty space to accommodate the requested size and - return a (long) handle that encodes this offset information, (this memory segment is then - marked as reserved so it is always used by exactly one ByteBuf and no more) - For simplicity all sizes are normalized according to PoolArena#normalizeCapacity method - This ensures that when we request for memory segments of size >= pageSize the normalizedCapacity - equals the next nearest power of 2 - To search for the first offset in chunk that has at least requested size available we construct a - complete balanced binary tree and store it in an array (just like heaps) - memoryMap - The tree looks like this (the size of each node being mentioned in the parenthesis) - depth=0 1 node (chunkSize) - depth=1 2 nodes (chunkSize/2) - .. - .. - depth=d 2^d nodes (chunkSize/2^d) - .. - depth=maxOrder 2^maxOrder nodes (chunkSize/2^{maxOrder} = pageSize) - depth=maxOrder is the last level and the leafs consist of pages - With this tree available searching in chunkArray translates like this: - To allocate a memory segment of size chunkSize/2^k we search for the first node (from left) at height k - which is unused - Algorithm: - ---------- - Encode the tree in memoryMap with the notation - memoryMap[id] = x => in the subtree rooted at id, the first node that is free to be allocated - is at depth x (counted from depth=0) i.e., at depths [depth_of_id, x), there is no node that is free - As we allocate and free nodes, we update values stored in memoryMap so that the property is maintained - Initialization - - In the beginning we construct the memoryMap array by storing the depth of a node at each node - i.e., memoryMap[id] = depth_of_id - Observations: - ------------- - 1) memoryMap[id] = depth_of_id => it is free / unallocated - 2) memoryMap[id] > depth_of_id => at least one of its child nodes is allocated, so we cannot allocate it, but - some of its children can still be allocated based on their availability - 3) memoryMap[id] = maxOrder + 1 => the node is fully allocated and thus none of its children can be allocated, it - is thus marked as unusable - Algorithm: [allocateNode(d) => we want to find the first node (from left) at height h that can be allocated] - ---------- - 1) start at root (i.e., depth = 0 or id = 1) - 2) if memoryMap[1] > d => cannot be allocated from this chunk - 3) if left node value <= h; we can allocate from left subtree so move to left and repeat until found - 4) else try in right subtree - Algorithm: [allocateRun(size)] - ---------- - 1) Compute d = log_2(chunkSize/size) - 2) Return allocateNode(d) - Algorithm: [allocateSubpage(size)] - ---------- - 1) use allocateNode(maxOrder) to find an empty (i.e., unused) leaf (i.e., page) - 2) use this handle to construct the PoolSubpage object or if it already exists just call init(normCapacity) - note that this PoolSubpage object is added to subpagesPool in the PoolArena when we init() it - Note: - ----- - In the implementation for improving cache coherence, - we store 2 pieces of information (i.e, 2 byte vals) as a short value in memoryMap - memoryMap[id]= (depth_of_id, x) - where as per convention defined above - the second value (i.e, x) indicates that the first node which is free to be allocated is at depth x (from root) - - - - Used to determine if the requested capacity is equal to or greater than pageSize. - - - Used to mark memory as unusable - - - Creates a special chunk that is not pooled. - - - Update method used by allocate - This is triggered only when a successor is allocated and all its predecessors - need to update their state - The minimal depth at which subtree rooted at id has some free space - - @param id id - - - Update method used by free - This needs to handle the special case when both children are completely free - in which case parent be directly allocated on request of size = child-size * 2 - - @param id id - - - Algorithm to allocate an index in memoryMap when we query for a free node - at depth d - - @param d depth - @return index in memoryMap - - - Allocate a run of pages (>=1) - - @param normCapacity normalized capacity - @return index in memoryMap - - - Create/ initialize a new PoolSubpage of normCapacity - Any PoolSubpage created/ initialized here is added to subpage pool in the PoolArena that owns this PoolChunk - - @param normCapacity normalized capacity - @return index in memoryMap - - - Free a subpage or a run of pages - When a subpage is freed from PoolSubpage, it might be added back to subpage pool of the owning PoolArena - If the subpage pool in PoolArena has at least one other PoolSubpage of given elemSize, we can - completely free the owning Page so it is available for subsequent allocations - - @param handle handle to free - - - represents the size in #bytes supported by node 'id' in the tree - - - Calculates the maximum capacity of a buffer that will ever be possible to allocate out of the {@link PoolChunk}s - that belong to the {@link PoolChunkList} with the given {@code minUsage} and {@code maxUsage} settings. - - - Moves the {@link PoolChunk} down the {@link PoolChunkList} linked-list so it will end up in the right - {@link PoolChunkList} that has the correct minUsage / maxUsage in respect to {@link PoolChunk#usage()}. - - - Adds the {@link PoolChunk} to this {@link PoolChunkList}. - - - Method must be called before reuse this {@link PooledByteBufAllocator} - - - Returns the status of the allocator (which contains all metrics) as string. Be aware this may be expensive - and so should not called too frequently. - - - Special constructor that creates a linked list head - - - Returns the bitmap index of the subpage allocation. - - - @return {@code true} if this subpage is in use. - {@code false} if this subpage is not used by its chunk and thus it's OK to be released. - - - - Acts a Thread cache for allocations. This implementation is moduled after - jemalloc and the descripted - technics of - - Scalable - memory allocation using jemalloc - - . - - - - Try to allocate a tiny buffer out of the cache. Returns {@code true} if successful {@code false} otherwise - - - Try to allocate a small buffer out of the cache. Returns {@code true} if successful {@code false} otherwise - - - Try to allocate a small buffer out of the cache. Returns {@code true} if successful {@code false} otherwise - - - Add {@link PoolChunk} and {@code handle} to the cache if there is enough room. - Returns {@code true} if it fit into the cache {@code false} otherwise. - - - Should be called if the Thread that uses this cache is about to exist to release resources out of the cache - - - Cache used for buffers which are backed by TINY or SMALL size. - - - Cache used for buffers which are backed by NORMAL size. - - - Init the {@link PooledByteBuffer} using the provided chunk and handle with the capacity restrictions. - - - Add to cache if not already full. - - - Allocate something out of the cache if possible and remove the entry from the cache. - - - Clear out this cache and free up all previous cached {@link PoolChunk}s and {@code handle}s. - - - Free up cached {@link PoolChunk}s if not allocated frequently enough. - - - - Utility class for managing and creating unpooled buffers - - - - - Creates a new big-endian buffer which wraps the specified array. - A modification on the specified array's content will be visible to the returned buffer. - - - - - Creates a new big-endian buffer which wraps the sub-region of the - specified array. A modification on the specified array's content - will be visible to the returned buffer. - - - - - Creates a new buffer which wraps the specified buffer's readable bytes. - A modification on the specified buffer's content will be visible to the returned buffer. - - The buffer to wrap. Reference count ownership of this variable is transfered to this method. - The readable portion of the buffer, or an empty buffer if there is no readable portion. - - - - Creates a new big-endian composite buffer which wraps the specified arrays without copying them. - A modification on the specified arrays' content will be visible to the returned buffer. - - - - - Creates a new big-endian composite buffer which wraps the readable bytes of the specified buffers without copying them. - A modification on the content of the specified buffers will be visible to the returned buffer. - - The buffers to wrap. Reference count ownership of all variables is transfered to this method. - The readable portion of the buffers. The caller is responsible for releasing this buffer. - - - - Creates a new big-endian composite buffer which wraps the specified arrays without copying them. - A modification on the specified arrays' content will be visible to the returned buffer. - - - - - Creates a new big-endian composite buffer which wraps the readable bytes of the specified buffers without copying them. - A modification on the content of the specified buffers will be visible to the returned buffer. - - Advisement as to how many independent buffers are allowed to exist before consolidation occurs. - The buffers to wrap. Reference count ownership of all variables is transfered to this method. - The readable portion of the buffers. The caller is responsible for releasing this buffer. - - - - Creates a new big-endian buffer whose content is a copy of the specified array - The new buffer's and - are 0 and respectively. - - A buffer we're going to copy. - The new buffer that copies the contents of array. - - - - Creates a new big-endian buffer whose content is a copy of the specified array. - The new buffer's and - are 0 and respectively. - - A buffer we're going to copy. - The index offset from which we're going to read array. - - The number of bytes we're going to read from array beginning from position offset. - - The new buffer that copies the contents of array. - - - - Creates a new big-endian buffer whose content is a copy of the specified . - The new buffer's and - are 0 and respectively. - - A buffer we're going to copy. - The new buffer that copies the contents of buffer. - - - - Creates a new big-endian buffer whose content is a merged copy of of the specified arrays. - The new buffer's and - are 0 and respectively. - - - - - - - Creates a new big-endian buffer whose content is a merged copy of the specified . - The new buffer's and - are 0 and respectively. - - Buffers we're going to copy. - The new buffer that copies the contents of buffers. - - - - Creates a new 4-byte big-endian buffer that holds the specified 32-bit integer. - - - - - Create a big-endian buffer that holds a sequence of the specified 32-bit integers. - - - - - Creates a new 2-byte big-endian buffer that holds the specified 16-bit integer. - - - - - Create a new big-endian buffer that holds a sequence of the specified 16-bit integers. - - - - - Create a new big-endian buffer that holds a sequence of the specified 16-bit integers. - - - - - Creates a new 3-byte big-endian buffer that holds the specified 24-bit integer. - - - - - Create a new big-endian buffer that holds a sequence of the specified 24-bit integers. - - - - - Creates a new 8-byte big-endian buffer that holds the specified 64-bit integer. - - - - - Create a new big-endian buffer that holds a sequence of the specified 64-bit integers. - - - - - Creates a new single-byte big-endian buffer that holds the specified boolean value. - - - - - Create a new big-endian buffer that holds a sequence of the specified boolean values. - - - - - Creates a new 4-byte big-endian buffer that holds the specified 32-bit floating point number. - - - - - Create a new big-endian buffer that holds a sequence of the specified 32-bit floating point numbers. - - - - - Creates a new 8-byte big-endian buffer that holds the specified 64-bit floating point number. - - - - - Create a new big-endian buffer that holds a sequence of the specified 64-bit floating point numbers. - - - - - Return a unreleasable view on the given {@link ByteBuf} which will just ignore release and retain calls. - - - - - Unpooled implementation of . - - - - Wraps another . - - It's important that the {@link #readerIndex()} and {@link #writerIndex()} will not do any adjustments on the - indices on the fly because of internal optimizations made by {@link ByteBufUtil#writeAscii(ByteBuf, CharSequence)} - and {@link ByteBufUtil#writeUtf8(ByteBuf, CharSequence)}. - -
-
diff --git a/Testrong.User.Program/bin/x64/Debug/DotNetty.Codecs.dll b/Testrong.User.Program/bin/x64/Debug/DotNetty.Codecs.dll deleted file mode 100644 index 5205d0f..0000000 Binary files a/Testrong.User.Program/bin/x64/Debug/DotNetty.Codecs.dll and /dev/null differ diff --git a/Testrong.User.Program/bin/x64/Debug/DotNetty.Codecs.xml b/Testrong.User.Program/bin/x64/Debug/DotNetty.Codecs.xml deleted file mode 100644 index 8bcbd67..0000000 --- a/Testrong.User.Program/bin/x64/Debug/DotNetty.Codecs.xml +++ /dev/null @@ -1,646 +0,0 @@ - - - - DotNetty.Codecs - - - - - http://www.faqs.org/rfcs/rfc3548.html - Table 1: The Base 64 Alphabet - - - - - http://www.faqs.org/rfcs/rfc3548.html - Table 2: The "URL and Filename safe" Base 64 Alphabet - - - - - Cumulates instances of by merging them into one , using memory - copies. - - - - - Cumulate instances of by add them to a and therefore - avoiding memory copy when possible. - - - Be aware that use a more complex indexing implementation so depending on your - use-case - and the decoder implementation this may be slower then just use the . - - - - - Determines whether only one message should be decoded per call. - Default is false as this has performance impacts. - - Is particularly useful in support of protocol upgrade scenarios. - - - - Returns the actual number of readable bytes in the internal cumulative - buffer of this decoder. You usually do not need to rely on this value - to write a decoder. Use it only when you must use it at your own risk. - This method is a shortcut to of . - - - - - An which is thrown by a codec. - - - - - https://github.com/ymnk/jzlib/blob/master/src/main/java/com/jcraft/jzlib/Adler32.java - - - - - https://github.com/ymnk/jzlib/blob/master/src/main/java/com/jcraft/jzlib/CRC32.java - - - - - https://github.com/ymnk/jzlib/blob/master/src/main/java/com/jcraft/jzlib/Deflate.java - - - - - https://github.com/ymnk/jzlib/blob/master/src/main/java/com/jcraft/jzlib/Deflater.java - - - - - https://github.com/ymnk/jzlib/blob/master/src/main/java/com/jcraft/jzlib/GZIPException.java - - - - - https://github.com/ymnk/jzlib/blob/master/src/main/java/com/jcraft/jzlib/GZIPHeader.java - - http://www.ietf.org/rfc/rfc1952.txt - - - - - https://github.com/ymnk/jzlib/blob/master/src/main/java/com/jcraft/jzlib/InfBlocks.java - - - - - https://github.com/ymnk/jzlib/blob/master/src/main/java/com/jcraft/jzlib/InfCodes.java - - - - - https://github.com/ymnk/jzlib/blob/master/src/main/java/com/jcraft/jzlib/Inflate.java - - - - - https://github.com/ymnk/jzlib/blob/master/src/main/java/com/jcraft/jzlib/Inflater.java - - - - - https://github.com/ymnk/jzlib/blob/master/src/main/java/com/jcraft/jzlib/InfTree.java - - - - - https://github.com/ymnk/jzlib/blob/master/src/main/java/com/jcraft/jzlib/JZlib.java - - - - Creates a new zlib encoder with the specified {@code compressionLevel}, - the specified {@code windowBits}, the specified {@code memLevel}, and - the specified wrapper. - - @param compressionLevel - {@code 1} yields the fastest compression and {@code 9} yields the - best compression. {@code 0} means no compression. The default - compression level is {@code 6}. - @param windowBits - The base two logarithm of the size of the history buffer. The - value should be in the range {@code 9} to {@code 15} inclusive. - Larger values result in better compression at the expense of - memory usage. The default value is {@code 15}. - @param memLevel - How much memory should be allocated for the internal compression - state. {@code 1} uses minimum memory and {@code 9} uses maximum - memory. Larger values result in better and faster compression - at the expense of memory usage. The default value is {@code 8} - - @throws CompressionException if failed to initialize zlib - - - - https://github.com/ymnk/jzlib/blob/master/src/main/java/com/jcraft/jzlib/StaticTree.java - - - - - https://github.com/ymnk/jzlib/blob/master/src/main/java/com/jcraft/jzlib/Tree.java - - - - Close this {@link ZlibEncoder} and so finish the encoding. - - The returned {@link ChannelFuture} will be notified once the - operation completes. - - - The container file formats that wrap the stream compressed by the DEFLATE - algorithm. - - - The ZLIB wrapper as specified in RFC 1950. - - - The GZIP wrapper as specified in RFC 1952. - - - Raw DEFLATE stream only (no header and no footer). - - - Try {@link #ZLIB} first and then {@link #NONE} if the first attempt fails. - Please note that you can specify this wrapper type only when decompressing. - - - - https://github.com/ymnk/jzlib/blob/master/src/main/java/com/jcraft/jzlib/ZStream.java - - - - Those methods are expected to be override by Inflater and Deflater. - In the future, they will become abstract methods. - - - - A which is thrown when the received frame data could not - be decoded by an inbound handler. - - - - - A decoder that splits the received by one or more - delimiters.It is particularly useful for decoding the frames which ends - with a delimiter such as or - -

Specifying more than one delimiter

- allows you to specify more than one - delimiter. If more than one delimiter is found in the buffer, it chooses - the delimiter which produces the shortest frame. For example, if you have - the following data in the buffer: - +--------------+ - | ABC\nDEF\r\n | - +--------------+ - a will choose '\n' as the first delimiter and produce two - frames: - +-----+-----+ - | ABC | DEF | - +-----+-----+ - rather than incorrectly choosing '\r\n' as the first delimiter: - +----------+ - | ABC\nDEF | - +----------+ -
-
- - Common constructor - - The maximum length of the decoded frame - NOTE: A see is thrown if the length of the frame exceeds this - value. - - whether the decoded frame should strip out the delimiter or not - - If true, a is - thrown as soon as the decoder notices the length of the - frame will exceedmaxFrameLength regardless of - whether the entire frame has been read. - If false, a is - thrown after the entire frame that exceeds maxFrameLength has been read. - - delimiters - - - Returns true if the delimiters are "\n" and "\r\n" - - - ReturnsReturn true if the current instance is a subclass of DelimiterBasedFrameDecoder - - - Create a frame out of the and return it - - the which this - belongs to - - the from which to read data - - the which represent the frame or null if no frame could be - created. - - - - Returns the number of bytes between the readerIndex of the haystack and - the first needle found in the haystack. -1 is returned if no needle is - found in the haystack. - - - Returns a null (0x00) delimiter, which could be used for Flash XML socket or any similar protocols - - - - Returns {@code CR ('\r')} and {@code LF ('\n')} delimiters, which could - be used for text-based line protocols. - - - - - Splits a byte stream of JSON objects and arrays into individual objects/arrays and passes them up the - . - This class does not do any real parsing or validation. A sequence of bytes is considered a JSON object/array - if it contains a matching number of opening and closing braces/brackets. It's up to a subsequent - - to parse the JSON text into a more usable form i.e.a POCO. - - - - - - Create a new instance. - - - The maximum length of the frame. If the length of the frame is - greater than this value then will be thrown. - - The offset of the length field. - The length of the length field. - - - - Create a new instance. - - - The maximum length of the frame. If the length of the frame is - greater than this value then will be thrown. - - The offset of the length field. - The length of the length field. - The compensation value to add to the value of the length field. - the number of first bytes to strip out from the decoded frame. - - - - Create a new instance. - - - The maximum length of the frame. If the length of the frame is - greater than this value then will be thrown. - - The offset of the length field. - The length of the length field. - The compensation value to add to the value of the length field. - the number of first bytes to strip out from the decoded frame. - - If true, a is thrown as soon as the decoder notices the length - of the frame will exceeed regardless of whether the entire frame has been - read. If false, a is thrown after the entire frame that exceeds - has been read. - Defaults to true in other overloads. - - - - - Create a new instance. - - The of the lenght field. - - The maximum length of the frame. If the length of the frame is - greater than this value then will be thrown. - - The offset of the length field. - The length of the length field. - The compensation value to add to the value of the length field. - the number of first bytes to strip out from the decoded frame. - - If true, a is thrown as soon as the decoder notices the length - of the frame will exceeed regardless of whether the entire frame has been - read. If false, a is thrown after the entire frame that exceeds - has been read. - Defaults to true in other overloads. - - - - - Create a frame out of the and return it. - - - The which this belongs - to. - - The from which to read data. - The which represents the frame or null if no frame could be created. - - - - Decodes the specified region of the buffer into an unadjusted frame length. The default implementation is - capable of decoding the specified region into an unsigned 8/16/24/32/64 bit integer. Override this method to - decode the length field encoded differently. - Note that this method must not modify the state of the specified buffer (e.g. - , - , and the content of the buffer.) - - The buffer we'll be extracting the frame length from. - The offset from the absolute . - The length of the framelenght field. Expected: 1, 2, 3, 4, or 8. - The preferred of buffer. - A long integer that represents the unadjusted length of the next frame. - - - - An encoder that prepends the length of the message. The length value is - prepended as a binary form. -

- For example, {@link LengthFieldPrepender}(2) will encode the - following 12-bytes string: -

-                    +----------------+
-                    | "HELLO, WORLD" |
-                    +----------------+
-                
- into the following: -
-                    +--------+----------------+
-                    + 0x000C | "HELLO, WORLD" |
-                    +--------+----------------+
-                
- If you turned on the {@code lengthIncludesLengthFieldLength} flag in the - constructor, the encoded data would look like the following - (12 (original data) + 2 (prepended data) = 14 (0xE)): -
-                    +--------+----------------+
-                    + 0x000E | "HELLO, WORLD" |
-                    +--------+----------------+
-                
-
-
- - - Creates a new instance. - - - The length of the prepended length field. - Only 1, 2, 3, 4, and 8 are allowed. - - - - - Creates a new instance. - - - The length of the prepended length field. - Only 1, 2, 3, 4, and 8 are allowed. - - - If true, the length of the prepended length field is added - to the value of the prepended length field. - - - - - Creates a new instance. - - - The length of the prepended length field. - Only 1, 2, 3, 4, and 8 are allowed. - - The compensation value to add to the value of the length field. - - - - Creates a new instance. - - - The length of the prepended length field. - Only 1, 2, 3, 4, and 8 are allowed. - - - If true, the length of the prepended length field is added - to the value of the prepended length field. - - The compensation value to add to the value of the length field. - - - - Creates a new instance. - - The of the length field. - - The length of the prepended length field. - Only 1, 2, 3, 4, and 8 are allowed. - - - If true, the length of the prepended length field is added - to the value of the prepended length field. - - The compensation value to add to the value of the length field. - - - - A decoder that splits the received {@link ByteBuf}s on line endings. - Both {@code "\n"} and {@code "\r\n"} are handled. - For a more general delimiter-based decoder, see {@link DelimiterBasedFrameDecoder}. - - - - Maximum length of a frame we're willing to decode. - - - Whether or not to throw an exception as soon as we exceed maxLength. - - - True if we're discarding input because we're already over maxLength. - - - - Initializes a new instance of the class. - - - the maximum length of the decoded frame. - A {@link TooLongFrameException} is thrown if - the length of the frame exceeds this value. - - - - - Initializes a new instance of the class. - - - the maximum length of the decoded frame. - A {@link TooLongFrameException} is thrown if - the length of the frame exceeds this value. - - - whether the decoded frame should strip out the - delimiter or not - - - If true, a {@link TooLongFrameException} is - thrown as soon as the decoder notices the length of the - frame will exceed maxFrameLength regardless of - whether the entire frame has been read. - If false, a {@link TooLongFrameException} is - thrown after the entire frame that exceeds - maxFrameLength has been read. - - - - - Create a frame out of the {@link ByteBuf} and return it. - - the {@link ChannelHandlerContext} which this {@link ByteToMessageDecoder} belongs to - the {@link ByteBuf} from which to read data - - - - - An abstract that aggregates a series of message objects - into a single aggregated message. - 'A series of messages' is composed of the following: - a single start message which optionally contains the first part of the content, and - 1 or more content messages. The content of the aggregated message will be the merged - content of the start message and its following content messages. If this aggregator - encounters a content message where { @link #isLastContentMessage(ByteBufHolder)} - return true for, the aggregator will finish the aggregation and produce the aggregated - message and expect another start message. - - The type that covers both start message and content message - The type of the start message - The type of the content message - The type of the aggregated message - - - - Message to message decoder. - - - - - Decode from one message to an other. This method will be called for each written message that can be handled - by this encoder. - - the {@link ChannelHandlerContext} which this {@link MessageToMessageDecoder} belongs to - the message to decode to an other one - the {@link List} to which decoded messages should be added - - - - Returns {@code true} if the given message should be handled. If {@code false} it will be passed to the next - {@link ChannelHandler} in the {@link ChannelPipeline}. - - - - - Encode from one message to an other. This method will be called for each written message that can be handled - by this encoder. - @param context the {@link ChannelHandlerContext} which this {@link MessageToMessageEncoder} belongs to - @param message the message to encode to an other one - @param output the {@link List} into which the encoded message should be added - needs to do some kind of aggragation - @throws Exception is thrown if an error accour - - - - - A decoder that splits the received {@link ByteBuf}s dynamically by the - value of the Google Protocol Buffers - http://code.google.com/apis/protocolbuffers/docs/encoding.html#varints - Base 128 Varints integer length field in the message. - For example: - - BEFORE DECODE (302 bytes) AFTER DECODE (300 bytes) - +--------+---------------+ +---------------+ - | Length | Protobuf Data |----->| Protobuf Data | - | 0xAC02 | (300 bytes) | | (300 bytes) | - +--------+---------------+ +---------------+ - - - - - An encoder that prepends the the Google Protocol Buffers - http://code.google.com/apis/protocolbuffers/docs/encoding.html#varints - Base 128 Varints integer length field. - For example: - - BEFORE ENCODE (300 bytes) AFTER ENCODE (302 bytes) - +---------------+ +--------+---------------+ - | Protobuf Data |-------------->| Length | Protobuf Data | - | (300 bytes) | | 0xAC02 | (300 bytes) | - +---------------+ +--------+---------------+ - - - - Initializes a new instance of the class with the current system - character set. - - - - - Initializes a new instance of the class with the specified character - set.. - - Encoding. - - - Encodes the requested {@link String} into a {@link ByteBuf}. - A typical setup for a text-based line protocol in a TCP/IP socket would be: -
-             {@link ChannelPipeline} pipeline = ...;
-            
-             // Decoders
-             pipeline.addLast("frameDecoder", new {@link LineBasedFrameDecoder}(80));
-             pipeline.addLast("stringDecoder", new {@link StringDecoder}(CharsetUtil.UTF_8));
-            
-             // Encoder
-             pipeline.addLast("stringEncoder", new {@link StringEncoder}(CharsetUtil.UTF_8));
-             
- and then you can use a {@link String} instead of a {@link ByteBuf} - as a message: -
-             void channelRead({@link ChannelHandlerContext} ctx, {@link String} msg) {
-                 ch.write("Did you say '" + msg + "'?\n");
-             }
-             
-
- - - Initializes a new instance of the class with the current system - character set. - - - - - Initializes a new instance of the class with the specified character - set.. - - Encoding. - - - - A which is thrown when the length of the frame - decoded is greater than the allowed maximum. - - - - - Thrown if an unsupported message is received by an codec. - - -
-
diff --git a/Testrong.User.Program/bin/x64/Debug/DotNetty.Common.dll b/Testrong.User.Program/bin/x64/Debug/DotNetty.Common.dll deleted file mode 100644 index 950e638..0000000 Binary files a/Testrong.User.Program/bin/x64/Debug/DotNetty.Common.dll and /dev/null differ diff --git a/Testrong.User.Program/bin/x64/Debug/DotNetty.Common.xml b/Testrong.User.Program/bin/x64/Debug/DotNetty.Common.xml deleted file mode 100644 index e11cdd4..0000000 --- a/Testrong.User.Program/bin/x64/Debug/DotNetty.Common.xml +++ /dev/null @@ -1,2113 +0,0 @@ - - - - DotNetty.Common - - - - - Abstract base class for implementations - - - - Creates an instance of . - - - Creates an instance of . - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Abstract base class for s that need to support scheduling. - - - - - Cancel all scheduled tasks - This method MUST be called only when is true. - - - - - Parent . - - - - - Returns true if the current belongs to this event loop, - false otherwise. - - - It is a convenient way to determine whether code can be executed directly or if it - should be posted for execution to this executor instance explicitly to ensure execution in the loop. - - - - - Returns true if the given belongs to this event loop, - false> otherwise. - - - - - Provides an access to a set of s it manages. - - - - - Returns list of owned event executors. - - - - - Returns true if and only if this executor is being shut down via . - - - - - Terminates this and all its s. - - for completion of termination. - - - - Terminates this and all its s. - - for completion of termination. - - - - A for completion of termination. . - - - - - Returns . - - - - - Executes the given task. - - Threading specifics are determined by IEventExecutor implementation. - - - - Executes the given action. - - - parameter is useful to when repeated execution of an action against - different objects is needed. - Threading specifics are determined by IEventExecutor implementation. - - - - - Executes the given . - - Threading specifics are determined by IEventExecutor implementation. - - - - Executes the given action. - - - and parameters are useful when repeated execution of - an action against different objects in different context is needed. - Threading specifics are determined by IEventExecutor implementation. - - - - - Returns true if this executor has been shut down, false otherwise. - - - - - Returns true if all tasks have completed following shut down. - - - Note that is never true unless was called first. - - - - - Executes the given function and returns indicating completion status and result of - execution. - - - Threading specifics are determined by IEventExecutor implementation. - - - - - Executes the given action and returns indicating completion status and result of execution. - - - Threading specifics are determined by IEventExecutor implementation. - - - - - Executes the given action and returns indicating completion status and result of execution. - - - parameter is useful to when repeated execution of an action against - different objects is needed. - Threading specifics are determined by IEventExecutor implementation. - - - - - Executes the given action and returns indicating completion status and result of execution. - - - parameter is useful to when repeated execution of an action against - different objects is needed. - Threading specifics are determined by IEventExecutor implementation. - - - - - Executes the given action and returns indicating completion status and result of execution. - - - and parameters are useful when repeated execution of - an action against different objects in different context is needed. - Threading specifics are determined by IEventExecutor implementation. - - - - - Executes the given action and returns indicating completion status and result of execution. - - - and parameters are useful when repeated execution of - an action against different objects in different context is needed. - Threading specifics are determined by IEventExecutor implementation. - - - - - Creates and executes a one-shot action that becomes enabled after the given delay. - - the task to execute - the time from now to delay execution - an representing pending completion of the task. - - - - Schedules the given action for execution after the specified delay would pass. - - - Threading specifics are determined by IEventExecutor implementation. - - - - - Schedules the given action for execution after the specified delay would pass. - - - parameter is useful to when repeated execution of an action against - different objects is needed. - Threading specifics are determined by IEventExecutor implementation. - - - - - Schedules the given action for execution after the specified delay would pass. - - - and parameters are useful when repeated execution of - an action against different objects in different context is needed. - Threading specifics are determined by IEventExecutor implementation. - - - - - Schedules the given action for execution after the specified delay would pass. - - - parameter is useful to when repeated execution of an action against - different objects is needed. - Threading specifics are determined by IEventExecutor implementation. - - - - - Schedules the given action for execution after the specified delay would pass. - - - parameter is useful to when repeated execution of an action against - different objects is needed. - Threading specifics are determined by IEventExecutor implementation. - - - - - Schedules the given action for execution after the specified delay would pass. - - - Threading specifics are determined by IEventExecutor implementation. - - - - - Schedules the given action for execution after the specified delay would pass. - - - Threading specifics are determined by IEventExecutor implementation. - - - - - Schedules the given action for execution after the specified delay would pass. - - - and parameters are useful when repeated execution of - an action against different objects in different context is needed. - Threading specifics are determined by IEventExecutor implementation. - - - - - Schedules the given action for execution after the specified delay would pass. - - - and parameters are useful when repeated execution of - an action against different objects in different context is needed. - Threading specifics are determined by IEventExecutor implementation. - - - - - backed by a single thread. - - - - Creates a new instance of . - - - Creates a new instance of . - - - - Task Scheduler that will post work to this executor's queue. - - - - - Allows to track whether executor is progressing through its backlog. Useful for diagnosing / mitigating stalls due to blocking calls in conjunction with IsBacklogEmpty property. - - - - - Indicates whether executor's backlog is empty. Useful for diagnosing / mitigating stalls due to blocking calls in conjunction with Progress property. - - - - - Gets length of backlog of tasks queued for immediate execution. - - - - - - - - - - - - - - - - - - - - - - - Adds an which will be executed on shutdown of this instance. - - The to run on shutdown. - - - - Removes a previously added from the collection of s which will be - executed on shutdown of this instance. - - The to remove. - - - - - - - Removes all variables bound to the current thread. This operation is useful when you - are in a container environment, and you don't want to leave the thread local variables in the threads you do not - manage. - - - - - Destroys the data structure that keeps all variables accessed from - non-s. This operation is useful when you are in a container environment, and - you do not want to leave the thread local variables in the threads you do not manage. Call this method when - your application is being unloaded from the container. - - - - - Sets the value to uninitialized; a proceeding call to get() will trigger a call to GetInitialValue(). - - - - - - Returns the number of thread local variables bound to the current thread. - - - - - Gets or sets current value for the current thread. - - - - - Returns the current value for the specified thread local map. - The specified thread local map must be for the current thread. - - - - - Set the value for the specified thread local map. The specified thread local map must be for the current thread. - - - - - Returns true if and only if this thread-local variable is set. - - - - - Returns true if and only if this thread-local variable is set. - The specified thread local map must be for the current thread. - - - - - Returns the initial value for this thread-local variable. - - - - - Sets the value to uninitialized for the specified thread local map; - a proceeding call to will trigger a call to . - The specified thread local map must be for the current thread. - - - The from which this should be removed. - - - - - Invoked when this thread local variable is removed by . - - - - - The internal data structure that stores the thread-local variables for DotNetty and all - s. Note that this class is for internal use only and is subject to change at any - time. Use unless you know what you are doing. - - - - - Used by . - - - - - Sets a value at the given index in this . - - The desired index at which a value should be set. - The value to set at the given index. - true if and only if a new thread-local variable has been created. - - - - Resets the . Be aware this will only reset the current internal - position and not shrink the internal char array. - - - - - Create a new ascii string, this method assumes all chars has been sanitized to ascii chars when appending - to the array. - - - - Forked from - JCTools - . - A concurrent access enabling class used by circular array based queues this class exposes an offset computation - method along with differently memory fenced load/store methods into the underlying array. The class is pre-padded and - the array is padded on either side to help with False sharing prvention. It is expected theat subclasses handle post - padding. -

- Offset calculation is separate from access to enable the reuse of a give compute offset. -

- Load/Store methods using a - buffer - parameter are provided to allow the prevention of field reload after a - LoadLoad barrier. -

- - -

- Calculates an element offset based on a given array index. - - The desirable element index. - The offset in bytes within the array for a given index. -
- - - A plain store (no ordering/fences) of an element to a given offset. - - Computed via . - A kitty. - - - - An ordered store(store + StoreStore barrier) of an element to a given offset. - - Computed via . - An orderly kitty. - - - - A plain load (no ordering/fences) of an element from a given offset. - - Computed via . - The element at the offset. - - - - A volatile load (load + LoadLoad barrier) of an element from a given offset. - - Computed via . - The element at the offset. - - - - A skeletal implementation of . This class implements - all methods that have a parameter by default to call - specific logger methods such as or . - - - - - Creates a new instance. - - A friendly name for the new logger instance. - - - - Holds the results of formatting done by . - - - - - Internal-use-only logger used by DotNetty. DO NOT - access this class outside of DotNetty. - - - - - Return the name of this instance. - - name of this logger instance - - - - Is this logger instance enabled for the TRACE level? - - true if this Logger is enabled for level TRACE, false otherwise. - - - - Log a message object at level TRACE. - - the message object to be logged - - - - Log a message at level TRACE according to the specified format and - argument. - - This form avoids superfluous object creation when the logger is disabled - for level TRACE. - - - the format string - the argument - - - - Log a message at level TRACE according to the specified format and - arguments. - - This form avoids superfluous object creation when the logger is disabled - for level TRACE. - - - the format string - the first argument - the second argument - - - - Log a message at level TRACE according to the specified format and - arguments. - - This form avoids superfluous object creation when the logger is disabled - for level TRACE. However, this variant incurs the hidden - (and relatively small) cost of creating an object[] - before invoking the method, - even if this logger is disabled for TRACE. The variants - and - arguments exist solely to avoid this hidden cost. - - - the format string - an array of arguments - - - - Log an exception at level TRACE with an accompanying message. - - the message accompanying the exception - the exception to log - - - - Log an exception at level TRACE. - - the exception to log - - - - Is this logger instance enabled for the DEBUG level? - - true if this Logger is enabled for level DEBUG, false otherwise. - - - - Log a message object at level DEBUG. - - the message object to be logged - - - - Log a message at level DEBUG according to the specified format and - argument. - - This form avoids superfluous object creation when the logger is disabled - for level DEBUG. - - - the format string - the argument - - - - Log a message at level DEBUG according to the specified format and - arguments. - - This form avoids superfluous object creation when the logger is disabled - for level DEBUG. - - - the format string - the first argument - the second argument - - - - Log a message at level DEBUG according to the specified format and - arguments. - - This form avoids superfluous object creation when the logger is disabled - for level DEBUG. However, this variant incurs the hidden - (and relatively small) cost of creating an object[] - before invoking the method, - even if this logger is disabled for DEBUG. The variants - and - arguments exist solely to avoid this hidden cost. - - - the format string - an array of arguments - - - - Log an exception at level DEBUG with an accompanying message. - - the message accompanying the exception - the exception to log - - - - Log an exception at level DEBUG. - - the exception to log - - - - Is this logger instance enabled for the INFO level? - - true if this Logger is enabled for level INFO, false otherwise. - - - - Log a message object at level INFO. - - the message object to be logged - - - - Log a message at level INFO according to the specified format and - argument. - - This form avoids superfluous object creation when the logger is disabled - for level INFO. - - - the format string - the argument - - - - Log a message at level INFO according to the specified format and - arguments. - - This form avoids superfluous object creation when the logger is disabled - for level INFO. - - - the format string - the first argument - the second argument - - - - Log a message at level INFO according to the specified format and - arguments. - - This form avoids superfluous object creation when the logger is disabled - for level INFO. However, this variant incurs the hidden - (and relatively small) cost of creating an object[] - before invoking the method, - even if this logger is disabled for INFO. The variants - and - arguments exist solely to avoid this hidden cost. - - - the format string - an array of arguments - - - - Log an exception at level INFO with an accompanying message. - - the message accompanying the exception - the exception to log - - - - Log an exception at level INFO. - - the exception to log - - - - Is this logger instance enabled for the WARN level? - - true if this Logger is enabled for level WARN, false otherwise. - - - - Log a message object at level WARN. - - the message object to be logged - - - - Log a message at level WARN according to the specified format and - argument. - - This form avoids superfluous object creation when the logger is disabled - for level WARN. - - - the format string - the argument - - - - Log a message at level WARN according to the specified format and - arguments. - - This form avoids superfluous object creation when the logger is disabled - for level WARN. However, this variant incurs the hidden - (and relatively small) cost of creating an object[] - before invoking the method, - even if this logger is disabled for WARN. The variants - and - arguments exist solely to avoid this hidden cost. - - - the format string - an array of arguments - - - - Log a message at level WARN according to the specified format and - arguments. - - This form avoids superfluous object creation when the logger is disabled - for level WARN. - - - the format string - the first argument - the second argument - - - - Log an exception at level WARN with an accompanying message. - - the message accompanying the exception - the exception to log - - - - Log an exception at level WARN. - - the exception to log - - - - Is this logger instance enabled for the ERROR level? - - true if this Logger is enabled for level ERROR, false otherwise. - - - - Log a message object at level ERROR. - - the message object to be logged - - - - Log a message at level ERROR according to the specified format and - argument. - - This form avoids superfluous object creation when the logger is disabled - for level ERROR. - - - the format string - the argument - - - - Log a message at level ERROR according to the specified format and - arguments. - - This form avoids superfluous object creation when the logger is disabled - for level ERROR. - - - the format string - the first argument - the second argument - - - - Log a message at level ERROR according to the specified format and - arguments. - - This form avoids superfluous object creation when the logger is disabled - for level ERROR. However, this variant incurs the hidden - (and relatively small) cost of creating an object[] - before invoking the method, - even if this logger is disabled for ERROR. The variants - and - arguments exist solely to avoid this hidden cost. - - - the format string - an array of arguments - - - - Log an exception at level ERROR with an accompanying message. - - the message accompanying the exception - the exception to log - - - - Log an exception at level ERROR. - - the exception to log - - - - Is the logger instance enabled for the specified ? - - log level - true if this Logger is enabled for the specified , false otherwise. - - - - Log a message object at a specified . - - log level - the message object to be logged - - - - Log a message at a specified according to the specified format and - argument. - - This form avoids superfluous object creation when the logger is disabled - for the specified . - - - log level - the format string - the argument - - - - Log a message at a specified according to the specified format and - arguments. - - This form avoids superfluous object creation when the logger is disabled - for the specified . - - - log level - the format string - the first argument - the second argument - - - - Log a message at the specified according to the specified format - and arguments. - - This form avoids superfluous string concatenation when the logger - is disabled for the specified . However, this variant incurs the hidden - (and relatively small) cost of creating an object[] before invoking the method, - even if this logger is disabled for the specified . The variants - and - arguments exist solely - in order to avoid this hidden cost. - - - log level - the format string - an array of arguments - - - - Log an exception at the specified with an - accompanying message. - - log level - the message accompanying the exception - the exception to log - - - - Log an exception at the specified . - - log level - the exception to log - - - - Creates an or changes the default factory - implementation. This factory allows you to choose what logging framework - DotNetty should use. The default factory is own with registered. - You can change it to your preferred logging framework before other DotNetty classes are loaded: -
-                    InternalLoggerFactory.DefaultFactory = new LoggerFactory();
-                
- Please note that the new default factory is effective only for the classes - which were loaded after the default factory is changed. Therefore, should be set as early - as possible and should not be called more than once. -
-
- - - Gets or sets the default factory. - - - - - Creates a new logger instance with the name of the specified type. - - type where logger is used - logger instance - - - - Creates a new logger instance with the name of the specified type. - - type where logger is used - logger instance - - - - Creates a new logger instance with the specified name. - - logger name - logger instance - - - - The log level that can log at. - - - - - 'TRACE' log level. - - - - - 'DEBUG' log level. - - - - - 'INFO' log level. - - - - - 'WARN' log level. - - - - - 'ERROR' log level. - - - - - Formats messages according to very simple substitution rules. Substitutions can be made 1, 2 or more arguments. - For example, - - MessageFormatter.Format("Hi {}.", "there") - - - will return the string "Hi there.". - - - The {} pair is called the formatting anchor. It serves to designate the location where arguments need - to be substituted within the message pattern. - - - In case your message contains the '{' or the '}' character, you do not have to do anything special unless the - '}' character immediately follows '{'. For example, - - - MessageFormatter.Format("Set {1,2,3} is not equal to {}.", "1,2"); - - - will return the string "Set {1,2,3} is not equal to 1,2.". - - - If for whatever reason you need to place the string "{}" in the message without its formatting anchor - meaning, then you need to escape the '{' character with '\', that is the backslash character. Only the '{' - character should be escaped. There is no need to escape the '}' character. For example, - - - MessageFormatter.Format("Set \\{} is not equal to {}.", "1,2"); - - - will return the string "Set {} is not equal to 1,2.". - - - The escaping behavior just described can be overridden by escaping the escape character '\'. Calling - - - MessageFormatter.Format("File name is C:\\\\{}.", "file.zip"); - - - will return the string "File name is C:\file.zip". - - - - - - - - - Performs single argument substitution for the given . - - For example, - - - MessageFormatter.Format("Hi {}.", "there"); - - - will return the string "Hi there.". - - - The message pattern which will be parsed and formatted - The argument to be substituted in place of the formatting anchor - The formatted message - - - - Performs a two argument substitution for the given . - - For example, - - - MessageFormatter.Format("Hi {}. My name is {}.", "Alice", "Bob"); - - - will return the string "Hi Alice. My name is Bob.". - - - The message pattern which will be parsed and formatted - The argument to be substituted in place of the first formatting anchor - The argument to be substituted in place of the second formatting anchor - The formatted message - - - - Same principle as the and - methods, except that any number of arguments can be passed in an array. - - The message pattern which will be parsed and formatted - An array of arguments to be substituted in place of formatting anchors - The formatted message - - - Length of a valid MAC address. - - - Obtains the best MAC address found on local network interfaces. - Generally speaking, an active network interface used on public - networks is better than a local network interface. - byte array containing a MAC. null if no MAC can be found. - - - byte array of a MAC address. - hex formatted MAC address. - - - positive - current is better, 0 - cannot tell from MAC addr, negative - candidate is better. - - - positive - current is better, 0 - cannot tell, negative - candidate is better - - - - Forked from JCTools. - A Multi-Producer-Single-Consumer queue based on a . This implies - that any thread may call the Enqueue methods, but only a single thread may call poll/peek for correctness to - maintained. - - This implementation follows patterns documented on the package level for False Sharing protection. - - - This implementation is using the Fast Flow - method for polling from the queue (with minor change to correctly publish the index) and an extension of - the Leslie Lamport concurrent queue algorithm (originated by Martin Thompson) on the producer side. - - - The type of each item in the queue. - - - - Lock free Enqueue operation, using a single compare-and-swap. As the class name suggests, access is - permitted to many threads concurrently. - - The item to enqueue. - true if the item was added successfully, otherwise false. - - - - - A wait-free alternative to , which fails on compare-and-swap failure. - - The item to enqueue. - 1 if next element cannot be filled, -1 if CAS failed, and 0 if successful. - - - - Lock free poll using ordered loads/stores. As class name suggests, access is limited to a single thread. - - The dequeued item. - true if an item was retrieved, otherwise false. - - - - - Lock free peek using ordered loads. As class name suggests access is limited to a single thread. - - The peeked item. - true if an item was retrieved, otherwise false. - - - - - Returns the number of items in this . - - - - - A plain store (no ordering/fences) of an element to a given offset. - - The element type. - The source buffer. - Computed via - An orderly kitty. - - - - An ordered store(store + StoreStore barrier) of an element to a given offset. - - The element type. - The source buffer. - Computed via - - - - - A plain load (no ordering/fences) of an element from a given offset. - - The element type. - The source buffer. - Computed via - The element at the given in the given . - - - - A volatile load (load + LoadLoad barrier) of an element from a given offset. - - The element type. - The source buffer. - Computed via - The element at the given in the given . - - - - Gets the offset in bytes within the array for a given index. - - The desired element index. - Mask for the index. - The offset (in bytes) within the array for a given index. - - - - Called from a producer thread subject to the restrictions appropriate to the implementation and - according to the interface. - - The element to enqueue. - true if the element was inserted, false iff the queue is full. - - - - Called from the consumer thread subject to the restrictions appropriate to the implementation and - according to the interface. - - A message from the queue if one is available, null iff the queue is empty. - - - - Called from the consumer thread subject to the restrictions appropriate to the implementation and - according to the interface. - - A message from the queue if one is available, null iff the queue is empty. - - - - A collection of utility methods to retrieve and parse the values of the system properties (Environment variables). - - - - - Returns true if and only if the system property with the specified key - exists. - - - - - Returns the value of the system property with the specified - key, while falling back to null if the property access fails. - - the property value or null - - - - Returns the value of the system property with the specified - key, while falling back to the specified default value if - the property access fails. - - - the property value. - def if there's no such property or if an access to the - specified property is not allowed. - - - - - Returns the value of the system property with the specified - key, while falling back to the specified default value if - the property access fails. - - - the property value or def if there's no such property or - if an access to the specified property is not allowed. - - - - - Returns the value of the system property with the specified - key, while falling back to the specified default value if - the property access fails. - - - the property value. - def if there's no such property or if an access to the - specified property is not allowed. - - - - - Returns the value of the system property with the specified - key, while falling back to the specified default value if - the property access fails. - - - the property value. - def if there's no such property or if an access to the - specified property is not allowed. - - - - - Reference counting interface for reusable objects - - - - - Returns the reference count of this object - - - - - Increases the reference count by 1 - - - - - Increases the reference count by - - - - - Records the current access location of this object for debugging purposes. - If this object is determined to be leaked, the information recorded by this operation will be provided to you - via . This method is a shortcut to with null as - an argument. - - - - - - Records the current access location of this object with an additonal arbitrary information for debugging - purposes. If this object is determined to be leaked, the information recorded by this operation will be - provided to you via . - - - - - Decreases the reference count by 1 and deallocates this object if the reference count reaches 0. - - true if and only if the reference count is 0 and this object has been deallocated - - - - Decreases the reference count by and deallocates this object if the reference count - reaches 0. - - true if and only if the reference count is 0 and this object has been deallocated - - - - A hint object that provides human-readable message for easier resource leak tracking. - - - - - Returns a human-readable message that potentially enables easier resource leak tracking. - - - - - - Records the caller's current stack trace so that the can tell where the - leaked - resource was accessed lastly. This method is a shortcut to with null as an - argument. - - - - - Records the caller's current stack trace and the specified additional arbitrary information - so that the can tell where the leaked resource was accessed lastly. - - - - - - Close the leak so that does not warn about leaked resources. - - true if called first time, false if called already - - - - Represents the level of resource leak detection. - - - - - Disables resource leak detection. - - - - - Enables simplistic sampling resource leak detection which reports there is a leak or not, - at the cost of small overhead (default). - - - - - Enables advanced sampling resource leak detection which reports where the leaked object was accessed - recently at the cost of high overhead. - - - - - Enables paranoid resource leak detection which reports where the leaked object was accessed recently, - at the cost of the highest possible overhead (for testing purposes only). - - - - Returns true if resource leak detection is enabled. - - - - Gets or sets resource leak detection level - - - - - Creates a new which is expected to be closed - when the - related resource is deallocated. - - the or null - - - - Schedules the specified to run when the specified dies. - - - - - Cancels the task scheduled via . - - - - - Waits until the thread of this watcher has no threads to watch and terminates itself. - Because a new watcher thread will be started again on , - this operation is only useful when you want to ensure that the watcher thread is terminated - after your application is shut down and there's no chance of calling - afterwards. - - - true if and only if the watcher thread has been terminated. - - - - Allocate a new or return null if not possible. - - - - Base implementation of . - - - Creates a new instance. - - - - Extension methods used for slicing byte arrays - - - - - Merge the byte arrays into one byte array. - - - - - During normal use cases the AsciiString should be immutable, but if the - underlying array is shared, and changes then this needs to be called. - - - - - Implementation of the java.concurrent.util AtomicReference type. - - - - - Sets the initial value of this to . - - - - - Default constructor - - - - - The current value of this - - - - - If equals , then set the Value to - - Returns true if was set, false otherwise. - - - - - Implicit conversion operator = automatically casts the to an instance of - - - - - - Implicit conversion operator = allows us to cast any type directly into a - instance. - - - - - - - Key which can be used to access out of the . Be aware that - it is not be possible to have multiple keys with the same name. - - - the type of the which can be accessed via this . - - - - Returns the singleton instance of the {@link AttributeKey} which has the specified name. - - - Returns true if a exists for the given name. - - - - Creates a new for the given name or fail with an - if a for the given name exists. - - - - - Provides a mechanism to iterate over a collection of bytes. - - - - - Aborts on a NUL (0x00). - - - - - Aborts on a non-NUL (0x00). - - - - - Aborts on a CR ('\r'). - - - - - Aborts on a non-CR ('\r'). - - - - - Aborts on a LF ('\n'). - - - - - Aborts on a non-LF ('\n'). - - - - - Aborts on a CR (';'). - - - - - Aborts on a comma (','). - - - - - Aborts on a ascii space character (' '). - - - - - Aborts on a CR ('\r') or a LF ('\n'). - - - - - Aborts on a byte which is neither a CR ('\r') nor a LF ('\n'). - - - - - Aborts on a linear whitespace (a ' ' or a '\t'). - - - - - Aborts on a byte which is not a linear whitespace (neither ' ' nor '\t'). - - - - - A pool of s. - - - - Shortcut of this.ValueOf(firstNameComponent.Name + "#" + secondNameComponent). - - - - Returns the which is assigned to the specified name. - If there's no such , a new one will be created and returned. - Once created, the subsequent calls with the same name will always return the previously created one - (i.e. singleton.) - - the name of the - - - Returns true if a exists for the given name. - - - - Creates a new for the given name or fail with an - if a for the given name exists. - - - - - Default implementation which use simple synchronization per bucket to keep the memory - overhead - as low as possible. - - - - - Creates a new timer. - - the interval between two consecutive ticks - the size of the wheel - The maximum number of pending timeouts after which call to - newTimeout will result in being thrown. - No maximum pending timeouts limit is assumed if this value is 0 or negative. - if either of tickInterval and ticksPerWheel is <= 0 - - - - Starts the background thread explicitly. The background thread will - start automatically on demand even if you did not call this method. - - if this timer has been - stopped already. - - - - calculate timer firing time from startTime and current tick number, - then wait until that goal has been reached. - - long.MinValue if received a shutdown request, - current time otherwise (with long.MinValue changed by +1) - - - - - Bucket that stores HashedWheelTimeouts. These are stored in a linked-list like datastructure to allow easy - removal of HashedWheelTimeouts in the middle. Also the HashedWheelTimeout act as nodes themself and so no - extra object creation is needed. - - - - - Add a to this bucket. - - - - - Expire all s for the given deadline. - - - - - Clear this bucket and return all not expired / cancelled s. - - - - An attribute which allows to store a value reference. It may be updated atomically and so is thread-safe. - the type of the value it holds. - - - - Returns the key of this attribute. - - - - - Returns the current value, which may be null - - - - - Sets the value - - - - - Atomically sets to the given value and returns the old value which may be null if non was set before. - - - - - Atomically sets to the given value if this 's value is null. - If it was not possible to set the value as it contains a value it will just return the current value. - - - - - Removes this attribute from the and returns the old value. Subsequent - - calls will return null. - If you only want to return the old value and clear the while still keep it in - use with a value of null. - - - - - Atomically sets the value to the given updated value if the current value == the expected value. - If it the set was successful it returns true otherwise false. - - - - - Removes this attribute from the . Subsequent calls will return - null. - If you only want to remove the value and clear the while still keep it in - use with a value of null. - - - - Holds s which can be accessed via . - Implementations must be Thread-safe. - - - - Get the for the given . This method will never return - null, but may return an which does not have a value set yet. - - - - - Returns true if and only if the given exists in this - . - - - - Start is the inclusive start index to begin the subsequence. - End is the exclusive end index to end the subsequence. - - - - A singleton which is safe to compare via the == operator. Created and managed by - . - - - - Returns the unique number assigned to this . - - - Returns the name of this . - - - - - Exception thrown during instances where a reference count is used incorrectly - - - - - A handle associated with a that is returned by a - . - - - - - Returns the that created this handle. - - - - - Returns the which is associated with this handle. - - - - - Returns true if and only if the associated - with this handle has been expired. - - - - - Returns true if and only if the associated - with this handle has been canceled. - - - - - Attempts to cancel the associated with this handle. - If the task has been executed or canceled already, it will return with - no side effect. - - true if the cancellation completed successfully, otherwise false. - - - - Schedules s for one-time future execution in a background - thread. - - - - - Schedules the specified for one-time execution after the specified delay. - - a handle which is associated with the specified task - if this timer has been stopped already - if the pending timeouts are too many and creating new timeout - can cause instability in the system. - - - - Releases all resources acquired by this and cancels all - tasks which were scheduled but not executed yet. - - the handles associated with the tasks which were canceled by - this method - - - - A task which is executed after the delay specified with - . - - - - - Executed after the delay specified with - . - - a handle which is associated with this task - - - - Tries to call if the specified message implements - . If the specified message doesn't implement - , this method does nothing. - - - - - Tries to call if the specified message implements - . If the specified message doesn't implement - , this method does nothing. - - - - - Tries to call if the specified message implements - . - If the specified message doesn't implement , this method does nothing. - - - - - Tries to call if the specified message implements - . If the specified message doesn't implement - , this method does nothing. - - - - - Tries to call if the specified message implements - . If the specified message doesn't implement - , this method does nothing. - - - - - Tries to call if the specified message implements - . If the specified message doesn't implement - , this method does nothing. - - - - - Tries to call if the specified message implements - . If the specified message doesn't implement - , this method does nothing. Unlike , this - method catches an exception raised by and logs it, rather than - rethrowing it to the caller. It is usually recommended to use instead, unless - you absolutely need to swallow an exception. - - - - - Tries to call if the specified message implements - . If the specified message doesn't implement - , this method does nothing. Unlike , this - method catches an exception raised by and logs it, rather - than rethrowing it to the caller. It is usually recommended to use - instead, unless you absolutely need to swallow an exception. - - - - - Schedules the specified object to be released when the caller thread terminates. Note that this operation - is intended to simplify reference counting of ephemeral objects during unit tests. Do not use it beyond the - intended use case. - - - - - Schedules the specified object to be released when the caller thread terminates. Note that this operation - is intended to simplify reference counting of ephemeral objects during unit tests. Do not use it beyond the - intended use case. - - - - - String utility class. - - - - 2 - Quote character at beginning and end. - 5 - Extra allowance for anticipated escape characters that may be added. - - - - Converts the specified byte value into a 2-digit hexadecimal integer. - - - - - Converts the specified byte array into a hexadecimal value. - - - - - Converts the specified byte array into a hexadecimal value. - - - - - Converts the specified byte value into a hexadecimal integer. - - - - - The shortcut to SimpleClassName(o.GetType()). - - - - - The shortcut to SimpleClassName(o.GetType()). - - - - - Generates a simplified name from a . Similar to {@link Class#getSimpleName()}, but it works - fine - with anonymous classes. - - - - - Escapes the specified value, if necessary according to - RFC-4180. - - - The value which will be escaped according to - RFC-4180 - - - The value will first be trimmed of its optional white-space characters, according to - RFC-7230 - - the escaped value if necessary, or the value unchanged - - - - Time utility class. - - - - - Compare two timespan objects - - first timespan object - two timespan object - - - - Gets the system time. - - The system time. - -
-
diff --git a/Testrong.User.Program/bin/x64/Debug/DotNetty.Transport.dll b/Testrong.User.Program/bin/x64/Debug/DotNetty.Transport.dll deleted file mode 100644 index 68fdc86..0000000 Binary files a/Testrong.User.Program/bin/x64/Debug/DotNetty.Transport.dll and /dev/null differ diff --git a/Testrong.User.Program/bin/x64/Debug/DotNetty.Transport.xml b/Testrong.User.Program/bin/x64/Debug/DotNetty.Transport.xml deleted file mode 100644 index d1c40f5..0000000 --- a/Testrong.User.Program/bin/x64/Debug/DotNetty.Transport.xml +++ /dev/null @@ -1,2834 +0,0 @@ - - - - DotNetty.Transport - - - - - This is a helper class that makes it easy to bootstrap an . It supports method- - chaining to provide an easy way to configure the . - - When not used in a context, the methods - are useful for connectionless transports such as datagram (UDP). - - - - - Specifies the which will handle events for the being built. - - The which is used to handle all the events for the to-be-created . - The instance. - - - - Specifies the of which will be created. - - The which is used to create instances from. - The instance. - - - - Assigns the which is used to bind the local "end" to. - - The instance to bind the local "end" to. - The instance. - - - - Assigns the local which is used to bind the local "end" to. - This overload binds to a for any IP address on the local machine, given a specific port. - - The port to bind the local "end" to. - The instance. - - - - Assigns the local which is used to bind the local "end" to. - This overload binds to a for a given hostname and port. - - The hostname to bind the local "end" to. - The port to bind the local "end" to. - The instance. - - - - Assigns the local which is used to bind the local "end" to. - This overload binds to a for a given and port. - - The to bind the local "end" to. - The port to bind the local "end" to. - The instance. - - - - Allows the specification of a which is used for the - instances once they get created. Use a value of null to remove - a previously set . - - The to configure. - The value to set the given option. - - - - Allows specification of an initial attribute of the newly created . If the value is - null, the attribute of the specified key is removed. - - - - - Validates all the parameters. Sub-classes may override this, but should call the super method in that case. - - - - - Returns a deep clone of this bootstrap which has the identical configuration. This method is useful when making - multiple s with similar settings. Please note that this method does not clone the - deeply but shallowly, making the group a shared resource. - - - - - Creates a new and registers it with an . - - - - - Creates a new and binds it to the endpoint specified via the methods. - - The bound . - - - - Creates a new and binds it. - This overload binds to a for any IP address on the local machine, given a specific port. - - The port to bind the local "end" to. - The bound . - - - - Creates a new and binds it. - This overload binds to a for a given hostname and port. - - The hostname to bind the local "end" to. - The port to bind the local "end" to. - The bound . - - - - Creates a new and binds it. - This overload binds to a for a given and port. - - The to bind the local "end" to. - The port to bind the local "end" to. - The bound . - - - - Creates a new and binds it. - - The instance to bind the local "end" to. - The bound . - - - - Specifies the to use for serving the requests. - - The to use for serving requests. - The instance. - - - - Returns the configured or null if none is configured yet. - - - - - A that makes it easy to bootstrap an to use for clients. - - The methods are useful - in combination with connectionless transports such as datagram (UDP). For regular TCP connections, - please use the provided methods. - - - - - Sets the which will resolve the address of the unresolved named address. - - The which will resolve the address of the unresolved named address. - The instance. - - - - Assigns the remote to connect to once the method is called. - - The remote to connect to. - The instance. - - - - Assigns the remote to connect to once the method is called. - - The hostname of the endpoint to connect to. - The port at the remote host to connect to. - The instance. - - - - Assigns the remote to connect to once the method is called. - - The of the endpoint to connect to. - The port at the remote host to connect to. - The instance. - - - - Connects an to the remote peer. - - The . - - - - Connects an to the remote peer. - - The hostname of the endpoint to connect to. - The port at the remote host to connect to. - The . - - - - Connects an to the remote peer. - - The of the endpoint to connect to. - The port at the remote host to connect to. - The . - - - - Connects an to the remote peer. - - The remote to connect to. - The . - - - - Connects an to the remote peer. - - The remote to connect to. - The local to connect to. - The . - - - - Performs DNS resolution for the remote endpoint and connects to it. - - The remote to connect to. - The local to connect the remote to. - The . - - - - Returns a deep clone of this bootstrap which has the identical configuration except that it uses - the given . This method is useful when making multiple s with similar - settings. - - - - - A sub-class which allows easy bootstrapping of . - - - - - Specifies the which is used for the parent (acceptor) and the child (client). - - - - - Sets the for the parent (acceptor) and the child (client). These - 's are used to handle all the events and IO for - and 's. - - - - - Allows specification of a which is used for the - instances once they get created (after the acceptor accepted the ). Use a - value of null to remove a previously set . - - - - - Sets the specific with the given value on every child . - If the value is null, the is removed. - - - - - Sets the which is used to serve the request for the 's. - - - - - Returns the configured which will be used for the child channels or null - if none is configured yet. - - - - Cache for the string representation of this channel - - - - Creates a new instance. - - The parent of this channel. Pass null if there's no parent. - - - - Creates a new instance. - - The parent of this channel. Pass null if there's no parent. - An for the new channel. - - - - Resets the stored . - - - - - Returns a new instance. Subclasses may override this method to assign custom - s to s that use the constructor. - - A new instance. - - - Returns a new pipeline instance. - - - - Create a new instance which will be used for the life-time of the - - - - - - Returns the ID of this channel. - - - - - Returns true if and only if the specified object is identical - with this channel (i.e. this == o). - - - - - Returns the string representation of this channel. The returned string contains a hex dump of the - , the , and the of this - channel for easier identification. - - - - - implementation which sub-classes must extend and use. - - - - true if the channel has never been registered, false otherwise /// - - - - This method must NEVER be called directly, but be executed as an - extra task with a clean call stack instead. The reason for this - is that this method calls - directly, which might lead to an unfortunate nesting of independent inbound/outbound - events. See the comments input for more details. - - - - - Prepares to close the . If this method returns an , the - caller must call the method with a task that calls - on the returned . If this method returns null, - must be called from the caller thread. (i.e. ) - - - - - Checks whether a given is compatible with the . - - The to check compatibility. - - true if the given is compatible with this - instance, otherwise false. - - - - - Is called after the is registered with its as part of the - register process. Sub-classes may override this method. - - - - - Binds the to the . - - The to bind. - - - - Disconnects this from its remote peer. - - - - - Closes the . - - - - - Deregisters the from its . Sub-classes may override this - method. - - - - - ScheduleAsync a read operation. - - - - - Flush the content of the given buffer to the remote peer. - - - - - Invoked when a new message is added to a of this - , so that the implementation converts the message to - another. (e.g. heap buffer -> direct buffer). - - The message to be filtered. - The filtered message. - - - Neither nor was called. - - - was called. - - - was called. - - - - Makes best possible effort to detect if was - called - yet. If not return false and if called or could not detect return true. - If this method returns true we will not invoke the but just forward the - event. - This is needed as may already put the in the - linked-list - but not called - - - - - A skeletal server-side implementation. A server-side does not - allow the following operations: , - , , - . - - - - - Creates a new instance. - - - - - The that automatically increases and - decreases the predicted buffer size on feed back. -

- It gradually increases the expected number of readable bytes if the previous - read fully filled the allocated buffer. It gradually decreases the expected - number of readable bytes if the read operation was not able to fill a certain - amount of the allocated buffer two times consecutively. Otherwise, it keeps - returning the same prediction. -

-
- - - Creates a new predictor with the default parameters. With the default - parameters, the expected buffer size starts from 1024, does not - go down below 64, and does not go up above 65536. - - - - Creates a new predictor with the specified parameters. - the inclusive lower bound of the expected buffer size - the initial buffer size when no feed back was received - the inclusive upper bound of the expected buffer size - - - - that works as a wrapper for another providing affinity on call. - - - - - - - - Creates a new instance of . - - serving as an actual provider of s. - - - - If running in a context of an existing , this is returned. - Otherwise, is retrieved from underlying . - - - - - - - - A queue of write operations which are pending for later execution. It also updates the - writability of the associated , so that - the pending write operations are also considered to determine the writability. - - - - Returns true if there are no pending write operations left in this queue. - - - Returns the number of pending write operations. - - - Add the given msg and returns for completion of processing msg. - - - - Remove all pending write operation and fail them with the given . The messages will be - released - via . - - - - - Remove a pending write operation and fail it with the given . The message will be released - via - . - - - - - Remove all pending write operation and performs them via - . - - - if something was written and null if the - is empty. - - - - - Removes a pending write operation and performs it via - . - - - if something was written and null if the - is empty. - - - - - Removes a pending write operation and release it's message via . - - of the pending write or null if the queue is empty. - - - - Return the current message or null if empty. - - - - Holds all meta-data and construct the linked-list structure. - - - - It is a good starting point if your implementation needs to intercept operations and also - state updates. - - - - - A special which offers an easy way to initialize a once it was - registered to its . - - Implementations are most often used in the context of - and to setup the of a . - - Be aware that this class is marked as Sharable (via ) and so the implementation must be safe to be re-used. - - - - public class MyChannelInitializer extends { - public void InitChannel( channel) { - channel.Pipeline().AddLast("myHandler", new MyHandler()); - } - } - bootstrap = ...; - ... - bootstrap.childHandler(new MyChannelInitializer()); - ... - - - A sub-type of . - - - - This method will be called once the was registered. After the method returns this instance - will be removed from the of the . - - The which was registered. - - - Represents the properties of a implementation. - - - Create a new instance - - true if and only if the channel has the DisconnectAsync() operation - that allows a user to disconnect and then call - again, such as UDP/IP. - - - - Create a new instance - - true if and only if the channel has the DisconnectAsync operation - that allows a user to disconnect and then call - again, such as UDP/IP. - - - If a is in use, then this value will be - set for . Must be > 0. - - - - - Returns true if and only if the channel has the DisconnectAsync() operation - that allows a user to disconnect and then call again, - such as UDP/IP. - - - - - If a is in use, then this is the default value for - . - - - - - Returns the of the specified name. - - The type of option being retrieved. - The name of the desired option. - The matching instance. - - - - Returns the of the given pair: (, secondary name) - - The type of option being retrieved. - - A whose name will be used as the first part of the desired option's name. - - - A string representing the second part of the desired option's name. - - The matching instance. - - - - Checks whether a given exists. - - The name of the . - true if a exists for the given , otherwise false. - - - - Creates a new for the given . - - The type of option to create. - The name to associate with the new option. - Thrown if a for the given exists. - The new instance. - - - - Adds the given message to this . The given - will be notified once the message was written. - - The message to add to the buffer. - The size of the message. - The to notify once the message is written. - - - - Add a flush to this . This means all previous added messages are marked - as flushed and so you will be able to handle them. - - - - - Increments the number of pending bytes which will be written at some point. - This method is thread-safe! - - The number of bytes to increment the count by. - - - - Decrements the number of pending bytes which will be written at some point. - This method is thread-safe! - - The number of bytes to decrement the count by. - - - - Returns the current message to write, or null if nothing was flushed before and so is ready to be - written. - - - - - Notify the of the current message about writing progress. - - - - - Removes the current message, marks its as complete, and returns - true. If no flushed message exists at the time this method is called, it returns false to - signal that no more messages are ready to be handled. - - true if a message existed and was removed, otherwise false. - - - - Removes the current message, marks its as complete using the given - , and returns true. If no flushed message exists at the time this method is - called, it returns false to signal that no more messages are ready to be handled. - - The causing the message to be removed. - true if a message existed and was removed, otherwise false. - - - - Removes the fully written entries and updates the reader index of the partially written entry. - This operation assumes all messages in this buffer are instances. - - The number of bytes that have been written so far. - - - - Clears all ByteBuffer from the array so these can be GC'ed. - See https://github.com/netty/netty/issues/3837 - - - - - Returns a list of direct ArraySegment<byte>, if the currently pending messages are made of - instances only. will return the total number of - readable bytes of these buffers. - - Note that the returned array is reused and thus should not escape - . Refer to - for an example. - - - A list of ArraySegment<byte> buffers. - - - - Returns a list of direct ArraySegment<byte>, if the currently pending messages are made of - instances only. will return the total number of - readable bytes of these buffers. - - Note that the returned array is reused and thus should not escape - . Refer to - for an example. - - - The maximum amount of buffers that will be added to the return value. - A hint toward the maximum number of bytes to include as part of the return value. Note that this value maybe exceeded because we make a best effort to include at least 1 in the return value to ensure write progress is made. - A list of ArraySegment<byte> buffers. - - - - Returns the number of bytes that can be written out of the array that was - obtained via . This method MUST be called after - . - - - - - Returns true if and only if the total number of pending bytes () - did not exceed the write watermark of the and no user-defined writability flag - () has been set to false. - - - - - Returns true if and only if the user-defined writability flag at the specified index is set to - true. - - The index to check for user-defined writability. - - true if the user-defined writability flag at the specified index is set to true. - - - - - Sets a user-defined writability flag at the specified index. - - The index where a writability flag should be set. - Whether to set the index as writable or not. - - - - Returns the number of flushed messages in this . - - - - - Returns true if there are flushed messages in this , otherwise - false. - - - - - Gets the number of bytes that can be written before returns false. - This quantity will always be non-negative. If is already false, then 0 is - returned. - - - The number of bytes that can be written before returns false. - - - - - Gets the number of bytes that must be drained from the underlying buffer before - returns true. This quantity will always be non-negative. If is already - true, then 0 is returned. - - - The number of bytes that can be written before returns true. - - - - - Calls for each flushed message in this - until returns - false or there are no more flushed messages to process. - - - The intance to use to process each flushed message. - - - - - Will be called for each flushed message until it either there are no more flushed messages or this method returns false. - - The message to process. - true if the given message was successfully processed, otherwise false. - - - - Shared configuration for SocketAsyncChannel. Provides access to pre-configured resources like ByteBuf allocator and - IO buffer pools - - - - - This is the head of a linked list that is processed by and so - process all the pending . We only keep the head because it is expected that - the list is used infrequently and its size is small. Thus full iterations to do insertions is assumed to be - a good compromised to saving memory and tail management complexity. - - - - - Set to true once the is registered. Once set to true, the - value will never change. - - - - - Returns the string representation of this pipeline. - - - - - Removes all handlers from the pipeline one by one from tail (exclusive) to head (exclusive) to trigger - . Note that we traverse up the pipeline - before traversing down so that the handlers are removed after all events are - handled. - See: https://github.com/netty/netty/issues/3156 - - - - - Called once an hits the end of the without being - handled by the user in . - - - - - Called once a message hits the end of the without being handled by the user - in . This method is responsible - for calling on the given msg at some point. - - - - - Default implementation of which respects - - and also prevents overflow. - - - - Focuses on enforcing the maximum messages per read condition for . - - - Only is used. - - - - Returns the default implementation, which returns 0 for unknown messages. - - - - - Creates a new instance. - - The size which is returned for unknown messages. - - - - Create a new instance with an empty pipeline. - - - - - Create a new instance with an empty pipeline with the specified . - - The of this channel. - - - - Create a new instance with the pipeline initialized with the specified handlers. - - - The s that will be added to the - - - - Create a new instance with the pipeline initialized with the specified handlers. - The of this channel. - - false if this will delegate - to , true otherwise. - - - The s that will be added to the - - - - - Returns the which holds all of the s that - were received by this . - - - - - Returns the which holds all of the s that - were written by this . - - - - - Return received data from this . - - - - - Read data from the outbound. This may return null if nothing is readable. - - - - - Run all tasks (which also includes scheduled tasks) that are pending in the - for this . - - - - - Run all pending scheduled tasks in the for this . - - - The when the next scheduled task is ready to run. If no other task is - scheduled then it will return . - - - - - Write messages to the inbound of this - - The messages to be written. - true if the write operation did add something to the inbound buffer - - - - Write messages to the outbound of this . - - The messages to be written. - true if the write operation did add something to the inbound buffer - - - - Mark this as finished. Any further try to write data to it will fail. - - bufferReadable returns true - - - - Marks this as finished and releases all pending message in the inbound and outbound - buffer. Any futher try to write data to it will fail. - - true if any of the used buffers has something left to read, otherwise false. - - - - Marks this as finished. Any futher attempt to write data to it will fail. - - If true, all pending messages in the inbound and outbound buffer are released. - true if any of the used buffers has something left to read, otherwise false. - - - - Releases all buffered inbound messages. - - true if any were in the inbound buffer, otherwise false. - - - - Releases all buffered outbound messages. - - true if any were in the outbound buffer, otherwise false. - - - - Check to see if there was any and rethrow if so. - - - - - Ensure the is open and if not throw an exception. - - - - - A dummy implementation - - - - - Create a new instance with an empty pipeline. - - - - - Create a new instance with an empty pipeline with the specified . - - The of this channel. - - - - Create a new instance with the pipeline initialized with the specified handlers. - - - The s that will be added to the - - - - Create a new instance with the pipeline initialized with the specified handlers. - The of this channel. - - false if this will delegate - to , true otherwise. - - - The s that will be added to the - - - - - Returns the which holds all of the s that - were received by this . - - - - - Returns the which holds all of the s that - were written by this . - - - - - Return received data from this . - - - - - Read data from the outbound. This may return null if nothing is readable. - - - - - Write messages to the inbound of this - - The messages to be written. - true if the write operation did add something to the inbound buffer - - - - Write messages to the outbound of this . - - The messages to be written. - true if the write operation did add something to the inbound buffer - - - - Mark this as finished. Any further try to write data to it will fail. - - bufferReadable returns true - - - - Marks this as finished and releases all pending message in the inbound and outbound - buffer. Any futher try to write data to it will fail. - - true if any of the used buffers has something left to read, otherwise false. - - - - Marks this as finished. Any futher attempt to write data to it will fail. - - If true, all pending messages in the inbound and outbound buffer are released. - true if any of the used buffers has something left to read, otherwise false. - - - - Releases all buffered inbound messages. - - true if any were in the inbound buffer, otherwise false. - - - - Releases all buffered outbound messages. - - true if any were in the outbound buffer, otherwise false. - - - - Check to see if there was any and rethrow if so. - - - - - Ensure the is open and if not throw an exception. - - - - - The that always yields the same buffer - size prediction. This predictor ignores the feedback from the I/O thread. - - - - - Creates a new predictor that always returns the same prediction of - the specified buffer size. - - - - - Returns the name of this group. A group name is purely for helping - you to distinguish one group from others. - - - - - Return the of the which describe the nature of the - . - - - - - The of the was registered with its - . - - - - - The of the was unregistered from its - . - - - - - Gets called once the writable state of a changed. You can check the state with - . - - - - - Called once a bind operation is made. - - - The for which the bind operation is made. - - The to which it should bind. - An await-able task. - - - - Called once a connect operation is made. - - - The for which the connect operation is made. - - The to which it should connect. - The which is used as source on connect. - An await-able task. - - - - Called once a disconnect operation is made. - - - The for which the disconnect operation is made. - - An await-able task. - - - - Returns the which is used to execute an arbitrary task. - - - - - The unique name of the . - - - The name was used when the was added to the . - This name can also be used to access the registered from the - . - - - - - A was registered to its . This will result in having the - method called of the next - contained in the of the . - - The current . - - - - A was unregistered from its . This will result in having the - method called of the next - contained in the of the . - - The current . - - - - Request to bind to the given . - - This will result in having the method called of the next - contained in the of the - . - - - The to bind to. - An await-able task. - - - - Request to connect to the given . - - This will result in having the method called of the next - contained in the of the - . - - - The to connect to. - An await-able task. - - - - Request to connect to the given while also binding to the localAddress. - - This will result in having the method called of the next - contained in the of the - . - - - The to connect to. - The to bind to. - An await-able task. - - - - Request to disconnect from the remote peer. - - This will result in having the method called of the next - contained in the of the - . - - - An await-able task. - - - - Request to deregister from the previous assigned . - - This will result in having the method called of the next - contained in the of the - . - - - An await-able task. - - - - A list of s which handles or intercepts inbound events and outbound operations of - a . implements an advanced form of the - Intercepting Filter pattern - to give a user full control over how an event is handled and how the s in a - pipeline interact with each other. - Creation of a pipeline - Each channel has its own pipeline and it is created automatically when a new channel is created. - How an event flows in a pipeline - - The following diagram describes how I/O events are processed by s in a - typically. An I/O event is handled by a and is - forwarded by the which handled the event to the - which is placed right next to it. A can also trigger an arbitrary I/O event if - necessary. To forward or trigger an event, a calls the event propagation methods - defined in , such as - and . - - -
-                    I/O Request
-                    via  or
-                    {@link ChannelHandlerContext} 
-                    |
-                    +---------------------------------------------------+---------------+
-                    |                           ChannelPipeline         |               |
-                    |                                                  \|/              |
-                    |    +----------------------------------------------+----------+    |
-                    |    |                   ChannelHandler  N                     |    |
-                    |    +----------+-----------------------------------+----------+    |
-                    |              /|\                                  |               |
-                    |               |                                  \|/              |
-                    |    +----------+-----------------------------------+----------+    |
-                    |    |                   ChannelHandler N-1                    |    |
-                    |    +----------+-----------------------------------+----------+    |
-                    |              /|\                                  .               |
-                    |               .                                   .               |
-                    | ChannelHandlerContext.fireIN_EVT() ChannelHandlerContext.OUT_EVT()|
-                    |          [method call]                      [method call]         |
-                    |               .                                   .               |
-                    |               .                                  \|/              |
-                    |    +----------+-----------------------------------+----------+    |
-                    |    |                   ChannelHandler  2                     |    |
-                    |    +----------+-----------------------------------+----------+    |
-                    |              /|\                                  |               |
-                    |               |                                  \|/              |
-                    |    +----------+-----------------------------------+----------+    |
-                    |    |                   ChannelHandler  1                     |    |
-                    |    +----------+-----------------------------------+----------+    |
-                    |              /|\                                  |               |
-                    +---------------+-----------------------------------+---------------+
-                    |                                  \|/
-                    +---------------+-----------------------------------+---------------+
-                    |               |                                   |               |
-                    |       [ Socket.read() ]                    [ Socket.write() ]     |
-                    |                                                                   |
-                    |  Netty Internal I/O Threads (Transport Implementation)            |
-                    +-------------------------------------------------------------------+
-                
-
- - An inbound event is handled by the s in the bottom-up direction as shown on the - left side of the diagram. An inbound event is usually triggered by the I/O thread on the bottom of the diagram - so that the s are notified when the state of a changes - (e.g. newly established connections and closed connections) or the inbound data was read from a remote peer. If - an inbound event goes beyond the at the top of the diagram, it is discarded and - logged, depending on your loglevel. - - - An outbound event is handled by the s in the top-down direction as shown on the - right side of the diagram. An outbound event is usually triggered by your code that requests an outbound I/O - operation, such as a write request and a connection attempt. If an outbound event goes beyond the - at the bottom of the diagram, it is handled by an I/O thread associated with the - . The I/O thread often performs the actual output operation such as - . - - Forwarding an event to the next handler - - As explained briefly above, a has to invoke the event propagation methods in - to forward an event to its next handler. Those methods include: -
    -
  • - Inbound event propagation methods: -
      -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    -
  • -
  • - Outbound event propagation methods: -
      -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    -
  • -
-
- - and the following example shows how the event propagation is usually done: - - public class MyInboundHandler : - { - public override void ChannelActive( ctx) - { - Console.WriteLine("Connected!"); - ctx.FireChannelActive(); - } - } - - public class MyOutboundHandler : - { - public override async Task CloseAsync( ctx) - { - Console.WriteLine("Closing..."); - await ctx.CloseAsync(); - } - } - - - Building a pipeline - - A user is supposed to have one or more s in a pipeline to receive I/O events - (e.g. read) and to request I/O operations (e.g. write and close). For example, a typical server will have the - following handlers in each channel's pipeline, but your mileage may vary depending on the complexity and - characteristics of the protocol and business logic: -
    -
  1. Protocol Decoder - translates binary data (e.g. ) into a Java object.
  2. -
  3. Protocol Encoder - translates a Java object into binary data.
  4. -
  5. Business Logic Handler - performs the actual business logic (e.g. database access).
  6. -
-
- - and it could be represented as shown in the following example: - - static readonly group = new (); - ... - pipeline = ch.Pipeline; - pipeline.AddLast("decoder", new MyProtocolDecoder()); - pipeline.AddLast("encoder", new MyProtocolEncoder()); - - // Tell the pipeline to run MyBusinessLogicHandler's event handler methods - // in a different thread than an I/O thread so that the I/O thread is not blocked by - // a time-consuming task. - // If your business logic is fully asynchronous or finished very quickly, you don't - // need to specify a group. - pipeline.AddLast(group, "handler", new MyBusinessLogicHandler()); - - - Thread safety - - An can be added or removed at any time because an - is thread safe. For example, you can insert an encryption handler when sensitive information is about to be - exchanged, and remove it after the exchange. - -
-
- - - Inserts an at the first position of this pipeline. - - - The name of the handler to insert first. Pass null to let the name auto-generated. - - The to insert first. - The . - - Thrown if an entry with the same already exists. - - Thrown if the specified handler is null. - - - - Inserts a at the first position of this pipeline. - - - The which invokes the 's event handler methods. - - - The name of the handler to insert first. Pass null to let the name be auto-generated. - - The to insert first. - This . - - Thrown if an entry with the same already exists. - - Thrown if the specified handler is null. - - - - Appends an at the last position of this pipeline. - - - The name of the handler to append. Pass null to let the name be auto-generated. - - The to append. - This . - - Thrown if an entry with the same already exists. - - Thrown if the specified handler is null. - - - - Appends a at the last position of this pipeline. - - - The which invokes the 's event handler methods. - - - The name of the handler to append. Pass null to let the name be auto-generated. - - The to append. - This . - - Thrown if an entry with the same already exists. - - Thrown if the specified handler is null. - - - - Inserts a before an existing handler of this pipeline. - - The name of the existing handler. - - The name of the new handler being appended. Pass null to let the name be auto-generated. - - The to append. - This . - - Thrown if an entry with the same already exists, or if no match was found for the - given . - - Thrown if the specified handler is null. - - - - Inserts a before an existing handler of this pipeline. - - - The which invokes the 's event handler methods. - - The name of the existing handler. - - The name of the new handler being appended. Pass null to let the name be auto-generated. - - The to append. - This . - - Thrown if an entry with the same already exists, or if no match was found for the - given . - - Thrown if the specified handler is null. - - - - Inserts a after an existing handler of this pipeline. - - The name of the existing handler. - - The name of the new handler being appended. Pass null to let the name be auto-generated. - - The handler to insert after. - This . - - Thrown if an entry with the same already exists, or if no match was found for the - given . - - Thrown if the specified handler is null. - - - - Inserts a after an existing handler of this pipeline. - - - The which invokes the 's event handler methods. - - The name of the existing handler. - - The name of the new handler being appended. Pass null to let the name be auto-generated. - - The handler to insert after. - This . - - Thrown if an entry with the same already exists, or if no match was found for the - given . - - Thrown if the specified handler is null. - - - - Inserts multiple s at the first position of this pipeline. - - The s to insert. - This . - - - - Inserts multiple s at the first position of this pipeline. - - - The which invokes the ' event handler methods. - - The s to insert. - This . - - - - Inserts multiple s at the last position of this pipeline. - - The s to insert. - This . - - - - Inserts multiple s at the last position of this pipeline. - - - The which invokes the ' event handler methods. - - The s to insert. - This . - - - - Removes the specified from this pipeline. - - The to remove. - This . - Thrown if the specified handler was not found. - - - - Removes the with the specified name from this pipeline. - - The name under which the was stored. - The removed . - - Thrown if there's no such handler with the specified name in this pipeline. - - - - - Removes the of the specified type from this pipeline. - - The type of handler to remove. - The removed . - Thrown if there's no handler of the specified type in this pipeline. - - - - Removes the first in this pipeline. - - The removed . - Thrown if this pipeline is empty. - - - - Removes the last in this pipeline. - - The removed . - Thrown if this pipeline is empty. - - - - Replaces the specified with a new handler in this pipeline. - - The to be replaced. - - The name of the new handler being inserted. Pass null to let the name be auto-generated. - - The new to be inserted. - This . - - Thrown if an entry with the same already exists, or if the - was not found. - - - - - Replaces the of the specified name with a new handler in this pipeline. - - The name of the to be replaced. - - The name of the new handler being inserted. Pass null to let the name be auto-generated. - - The new to be inserted. - The that was replaced. - - Thrown if an entry with the same already exists, or if no match was found for - the given . - - - - - Replaces the of the specified type with a new handler in this pipeline. - - The type of the handler to be removed. - - The name of the new handler being inserted. Pass null to let the name be auto-generated. - - The new to be inserted. - The that was replaced. - - Thrown if an entry with the same already exists, or if no match was found for - the given type. - - - - - Returns the first in this pipeline. - - The first handler in the pipeline, or null if the pipeline is empty. - - - - Returns the context of the first in this pipeline. - - - The context of the first handler in the pipeline, or null if the pipeline is empty. - - - - - Returns the last in this pipeline. - - The last handler in the pipeline, or null if the pipeline is empty. - - - - Returns the context of the last in this pipeline. - - - The context of the last handler in the pipeline, or null if the pipeline is empty. - - - - - Returns the with the specified name in this pipeline. - - The name of the desired . - - The handler with the specified name, or null if there's no such handler in this pipeline. - - - - - Returns the of the specified type in this pipeline. - - The type of handler to retrieve. - - The handler with the specified type, or null if there's no such handler in this pipeline. - - - - - Returns the context object of the specified in this pipeline. - - The whose context should be retrieved. - - The context object of the specified handler, or null if there's no such handler in this pipeline. - - - - - Returns the context object of the with the specified name in this pipeline. - - The name of the whose context should be retrieved. - - The context object of the handler with the specified name, or null if there's no such handler in - this pipeline. - - - - - Returns the context object of the of the specified type in this pipeline. - - The type of whose context should be retrieved. - - The context object of the handler with the specified type, or null if there's no such handler in - this pipeline. - - - - - Returns the that this pipeline is attached to. - Returns null if this pipeline is not attached to any channel yet. - - - - - An was registered to its . - This will result in having the method - called of the next contained in the of the - . - - This . - - - - An was unregistered from its . - This will result in having the method - called of the next contained in the of the - . - - This . - - - - An is active now, which means it is connected. - This will result in having the method - called of the next contained in the of the - . - - This . - - - - An is inactive now, which means it is closed. - This will result in having the method - called of the next contained in the of the - . - - This . - - - - An received an in one of its inbound operations. - This will result in having the method - called of the next contained in the of the - . - - The that was caught. - This . - - - - An received an user defined event. - This will result in having the method - called of the next contained in the of the - . - - The user-defined event that was triggered. - This . - - - - An received a message. - This will result in having the method - called of the next contained in the of the - . - - The message that was received. - This . - - - - An completed a message after reading it. - This will result in having the method - called of the next contained in the of the - . - - This . - - - - Triggers an event to the next - in the . - - This . - - - - Request to bind to the given . - - This will result in having the method called of the next - contained in the of the - . - - - - - - Request to connect to the given . - - This will result in having the method called of the next - contained in the of the - . - - - The remote to connect to. - An await-able task. - - - - Request to connect to the given . - - This will result in having the method called of the next - contained in the of the - . - - - The remote to connect to. - The local to bind. - An await-able task. - - - - Request to disconnect from the remote peer. - - This will result in having the method called of the next - contained in the of the - . - - - An await-able task. - - - - Request to close the . After it is closed it is not possible to reuse it again. - - This will result in having the method called of the next - contained in the of the - . - - - An await-able task. - - - - Request to deregister the bound this from the - previous assigned . - - This will result in having the method called of the next - contained in the of the - . - - - An await-able task. - - - - Request to Read data from the into the first inbound buffer, triggers an - event if data was read, and triggers a - event so the handler can decide whether to continue - reading. If there's a pending read operation already, this method does nothing. - - This will result in having the method called of the next - contained in the of the - . - - - This . - - - - Request to write a message via this . - This method will not request to actual flush, so be sure to call - once you want to request to flush all pending data to the actual transport. - - An await-able task. - - - - Request to flush all pending messages. - - This . - - - - Shortcut for calling both and . - - - - - specialized to handle I/O operations of assigned s. - - - - - Parent . - - - - - - specialized for handling s. - - - - - Returns list of owned event loops. - - - - - Returns one of owned event loops. - - - - - Register the for this event loop. - - The to register. - The register task. - - - - that limits the number of read operations that will be attempted when a read - operation - is attempted by the event loop. - - - - - Gets or sets the maximum number of messages to read per read loop. - If this value is greater than 1, an event loop might attempt to read multiple times to procure multiple messages. - - - - - Creates a new handle. The handle provides the actual operations. - - - - - Calculates the size of the given message. - - The message for which the size should be calculated. - The size in bytes. The returned size must be >= 0 - - - - Allocates a new receive buffer whose capacity is probably large enough to read all inbound data and small enough - not to waste its space. - - - - - Creates a new handle. The handle provides the actual operations and keeps the internal information which is - required for predicting an optimal buffer capacity. - - - - - Creates a new receive buffer whose capacity is probably large enough to read all inbound data and small - enough not to waste its space. - - - - - Similar to except that it does not allocate anything but just tells the - capacity. - - - - - Reset any counters that have accumulated and recommend how many messages/bytes should be read for the next - read loop. -

- This may be used by to determine if the read operation should complete. -

- This is only ever a hint and may be ignored by the implementation. -
- The channel configuration which may impact this object's behavior. -
- - Increment the number of messages that have been read for the current read loop. - The amount to increment by. - - - - Get or set the bytes that have been read for the last read operation. - This may be used to increment the number of bytes that have been read. - - - Returned value may be negative if an read error - occurs. If a negative value is seen it is expected to be return on the next set to - . A negative value will signal a termination condition enforced externally - to this class and is not required to be enforced in . - - - - Get or set how many bytes the read operation will (or did) attempt to read. - - - Determine if the current read loop should should continue. - true if the read loop should continue reading. false if the read loop is complete. - - - Signals read completion. - - - - A that accepts an incoming connection attempt and creates its child - s by accepting them. is a good example. - - - - - A for the local transport. - - - - - A for the local transport which allows in VM communication. - - - - - A factory method for s. Users may override it to create custom instances of s. - - An existing that will act as a peer for the new channel. - The newly created instance. - - - - backed by a set of instances. - - - - - - - - - - - - - Creates a new instance of . - - - Creates a new instance of . - - - Creates a new instance of . - - - Creates a new instance of . - - - - - - - - - - - - - A queue of write operations which are pending for later execution. It also updates the writability of the - associated (), so that the pending write operations are - also considered to determine the writability. - - - - - Returns true if there are no pending write operations left in this queue. - - - - - Returns the number of pending write operations. - - - - - Adds the given message to this . - - The message to add to the . - An await-able task. - - - - Removes all pending write operations, and fail them with the given . The messages - will be released via . - - The to fail with. - - - - Remove a pending write operation and fail it with the given . The message will be - released via . - - The to fail with. - - - - Removes all pending write operation and performs them via - - An await-able task. - - - - Removes a pending write operation and performs it via . - - An await-able task. - - - - Removes a pending write operation and releases it's message via - . - - - The of the pending write, or null if the queue is empty. - - - - - Return the current message, or null if the queue is empty. - - - - - Holds all meta-data and constructs the linked-list structure. - - - - - Removes the from this . - - The key to remove. Must not be null. - true if removed, otherwise false. - - - - Returns the number of s currently in this . - - - - - Returns true if the is empty, otherwise false. - - - - - Called once a new needs to be created as none exists yet for the . - - The to create a new for. - The new corresponding to the given . - - - - implementation that checks if returns true. - - - - - An implementation that takes another implementation and - enforces a maximum number of concurrent connections. - - - - - Creates a new connection when the timeout is detected. - - - - - Fails the of the acquire call with a . - - - - - Creates a new instance using the . - - The  that is used for connections. - - The that will be notified for the different pool actions. - - - The number of maximal active connections. Once this is reached, new attempts to acquire an - will be delayed until a connection is returned to the pool again. - - - The maximum number of pending acquires. Once this is exceeded, acquire attempts will be failed. - - - - - Creates a new instance. - - The  that is used for connections. - - The that will be notified for the different pool actions. - - - The that will be used to check if a is still - healthy when obtained from the . - - - The to use or null if none should be used. In this case, - must also be null. - - - A after which an pending acquire must complete, or the - takes place. - - - The number of maximal active connections. Once this is reached, new attempts to acquire an - will be delayed until a connection is returned to the pool again. - - - The maximum number of pending acquires. Once this is exceeded, acquire attempts will be failed. - - - - - Creates a new instance. - - The  that is used for connections. - - The that will be notified for the different pool actions. - - - The that will be used to check if a is still - healthy when obtained from the . - - - The to use or null if none should be used. In this case, - must also be null. - - - A after which an pending acquire must complete, or the - takes place. - - - The number of maximal active connections. Once this is reached, new attempts to acquire an - will be delayed until a connection is returned to the pool again. - - - The maximum number of pending acquires. Once this is exceeded, acquire attempts will be failed. - - If true, will check channel health before offering it back. - - - - Creates a new instance. - - The  that is used for connections. - - The that will be notified for the different pool actions. - - - The that will be used to check if a is still - healthy when obtained from the . - - - The to use or null if none should be used. In this case, - must also be null. - - - A after which an pending acquire must complete, or the - takes place. - - - The number of maximal active connections. Once this is reached, new attempts to acquire an - will be delayed until a connection is returned to the pool again. - - - The maximum number of pending acquires. Once this is exceeded, acquire attempts will be failed. - - If true, will check channel health before offering it back. - - If true, selection will be LIFO. If false, it will be FIFO. - - - - - Called before an will be returned via . - - - - - Checks if the given channel is healthy (which means it can be used). This method will be called by the - of the given - - The to check for healthiness. - true if the given is healthy, otherwise false. - - - - Allows the acquisition and release of instances, and so act as a pool of these. - - - - - Acquires an from this . - - It is important that an acquired is always released to the pool again via the - method, even if the is explicitly closed. - - - The aquired . - - - - Releases a previously aquired from this , allowing it to - be aquired again by another caller. - - The instance to be released. - - true if the was successfully released, otherwise false. - - - - - Handler which is called for various actions done by the . - - - - - Called once a was released by calling . - This method will be called by the of the . - - The instance which was released. - - - - Called once a was acquired by calling . - - The instance which was aquired. - - - - Called once a new is created in the . - - The instance which was aquired. - - - - Allows the mapping of implementations to a specific key. - - The type of the key. - The type of the . - - - - Returns the for the . This will never return null, - but create a new if non exists for they requested . - Please note that null keys are not allowed. - - The key for the desired - The for the specified . - - - - Checks whether the contains an for the - given . Please note that null keys are not allowed. - - The key to search the for. - true if a exists for the given , otherwise false. - - - - Simple implementation which will create new s if someone tries to acquire - a but none is in the pool atm. No limit on the maximal concurrent s is enforced. - This implementation uses LIFO order for s in the . - - - - - Creates a new instance using the . - - The  that is used for connections. - The that will be notified for the different pool actions. - - - - Creates a new instance. - - The  that is used for connections. - - The that will be notified for the different pool actions. - - - The that will be used to check if a is still - healthy when obtained from the . - - - - - Creates a new instance. - - The  that is used for connections. - - The that will be notified for the different pool actions. - - - The that will be used to check if a is still - healthy when obtained from the . - - - If true, will check channel health before offering back. Otherwise, channel health is only checked - at acquisition time. - - - - - Creates a new instance. - - The  that is used for connections. - - The that will be notified for the different pool actions. - - - The that will be used to check if a is still - healthy when obtained from the . - - - If true, will check channel health before offering back. Otherwise, channel health is only checked - at acquisition time. - - - If true, selection will be LIFO. If false, it will be FIFO. - - - - - Returns the this pool will use to open new connections. - - - - - Returns the that will be notified for the different pool actions. - - - - - Returns the that will be used to check if an is healthy. - - - - - Indicates whether this pool will check the health of channels before offering them back into the pool. - Returns true if this pool will check the health of channels before offering them back into the pool, or - false if channel health is only checked at acquisition time. - - - - - Bootstrap a new . The default implementation uses - , sub-classes may override this. - - - The instance to use to bootstrap a new . - The passed here is cloned via - , so it is safe to modify. - - The newly connected . - - - - Releases the channel back to the pool only if the channel is healthy. - - The to put back to the pool. - - true if the was healthy, released, and offered back to the pool. - false if the was NOT healthy and was simply released. - - - - - Polls an out of the internal storage to reuse it. - - - Sub-classes may override and . - Be aware that implementations of these methods needs to be thread-safe! - - - An output parameter that will contain the obtained from the pool. - - - true if an was retrieved from the pool, otherwise false. - - - - - Offers a back to the internal storage. This will return - - - Sub-classes may override and . - Be aware that implementations of these methods needs to be thread-safe! - - - true if the could be added, otherwise false. - - - - implementation based on . - - - - Creates a new instance of . - - - Creates a new instance of . - - - Creates a new instance of . - - - Creates a new instance of . - - - Creates a new instance of . - - - Creates a new instance of . - - - Creates a new instance of . - - - Creates a new instance of . - - - - - - - - - - base class for s that operate on bytes. - - - - Create a new instance - the parent by which this instance was created. May be null - the underlying on which it operates - - - - Reads bytes into the given and returns the number of bytes that were read. - - The to read bytes into. - The number of bytes that were read into the buffer. - - - - Writes bytes from the given to the underlying . - - The from which the bytes should be written. - The number of bytes that were written from the buffer. - - - - Set read pending to false. - - - - state before modification - - - PORT NOTE: matches behavior of NioEventLoop.processSelectedKey - - - - Finish connect - - - - - Read from underlying {@link SelectableChannel} - - - - - Connect to the remote peer - - - - - Finish the connect - - - - - base class for s that operate on messages. - - - - - Creates a new instance. - - The parent . Pass null if there's no parent. - The used by the for communication. - - - - Returns true if we should continue the write loop on a write error. - - - - - Reads messages into the given list and returns the amount which was read. - - The list into which message objects should be inserted. - The number of messages which were read. - - - - Writes a message to the underlying . - - The message to be written. - The destination channel buffer for the message. - true if the message was successfully written, otherwise false. - - - - Special event which will be fired and passed to the - methods once the input of an was shutdown and the - property returns true. - - - - - Singleton instance to use. - - - - - The default implementation. - - - - - Creates a new instance. - - - - - The default implementation. - - - - - A TCP/IP which accepts incoming TCP/IP connections. - - - - - A implementation which uses Socket-based implementation to accept new - connections. - - - - - Create a new instance - - - - - Create a new instance - - - - - Create a new instance using the given . - - - - - which uses Socket-based implementation. - - - - Create a new instance - - - Create a new instance - - - Create a new instance using the given . - - - Create a new instance - - the which created this instance or null if it was created by the - user - - the which will be used - - - - Marks the specified as success. If the - is done already, logs a message. - - The to complete. - The to use to log a failure message. - - - - Marks the specified as failure. If the - is done already, log a message. - - The to complete. - The to fail the with. - The to use to log a failure message. - -
-
diff --git a/Testrong.User.Program/bin/x64/Debug/MWArray.dll b/Testrong.User.Program/bin/x64/Debug/MWArray.dll deleted file mode 100644 index 7c31371..0000000 Binary files a/Testrong.User.Program/bin/x64/Debug/MWArray.dll and /dev/null differ diff --git a/Testrong.User.Program/bin/x64/Debug/MathNet.Numerics.dll b/Testrong.User.Program/bin/x64/Debug/MathNet.Numerics.dll deleted file mode 100644 index ede75a8..0000000 Binary files a/Testrong.User.Program/bin/x64/Debug/MathNet.Numerics.dll and /dev/null differ diff --git a/Testrong.User.Program/bin/x64/Debug/Microsoft.Bcl.AsyncInterfaces.dll b/Testrong.User.Program/bin/x64/Debug/Microsoft.Bcl.AsyncInterfaces.dll deleted file mode 100644 index abe9406..0000000 Binary files a/Testrong.User.Program/bin/x64/Debug/Microsoft.Bcl.AsyncInterfaces.dll and /dev/null differ diff --git a/Testrong.User.Program/bin/x64/Debug/Microsoft.Extensions.DependencyInjection.Abstractions.dll b/Testrong.User.Program/bin/x64/Debug/Microsoft.Extensions.DependencyInjection.Abstractions.dll deleted file mode 100644 index d69b5ea..0000000 Binary files a/Testrong.User.Program/bin/x64/Debug/Microsoft.Extensions.DependencyInjection.Abstractions.dll and /dev/null differ diff --git a/Testrong.User.Program/bin/x64/Debug/Microsoft.Extensions.DependencyInjection.dll b/Testrong.User.Program/bin/x64/Debug/Microsoft.Extensions.DependencyInjection.dll deleted file mode 100644 index ee55c18..0000000 Binary files a/Testrong.User.Program/bin/x64/Debug/Microsoft.Extensions.DependencyInjection.dll and /dev/null differ diff --git a/Testrong.User.Program/bin/x64/Debug/Microsoft.Extensions.Logging.Abstractions.dll b/Testrong.User.Program/bin/x64/Debug/Microsoft.Extensions.Logging.Abstractions.dll deleted file mode 100644 index 943e203..0000000 Binary files a/Testrong.User.Program/bin/x64/Debug/Microsoft.Extensions.Logging.Abstractions.dll and /dev/null differ diff --git a/Testrong.User.Program/bin/x64/Debug/Microsoft.Extensions.Logging.dll b/Testrong.User.Program/bin/x64/Debug/Microsoft.Extensions.Logging.dll deleted file mode 100644 index 611afff..0000000 Binary files a/Testrong.User.Program/bin/x64/Debug/Microsoft.Extensions.Logging.dll and /dev/null differ diff --git a/Testrong.User.Program/bin/x64/Debug/Microsoft.Extensions.Options.dll b/Testrong.User.Program/bin/x64/Debug/Microsoft.Extensions.Options.dll deleted file mode 100644 index 9470a46..0000000 Binary files a/Testrong.User.Program/bin/x64/Debug/Microsoft.Extensions.Options.dll and /dev/null differ diff --git a/Testrong.User.Program/bin/x64/Debug/Microsoft.Extensions.Primitives.dll b/Testrong.User.Program/bin/x64/Debug/Microsoft.Extensions.Primitives.dll deleted file mode 100644 index 604a57f..0000000 Binary files a/Testrong.User.Program/bin/x64/Debug/Microsoft.Extensions.Primitives.dll and /dev/null differ diff --git a/Testrong.User.Program/bin/x64/Debug/MxFFTCalc.dll b/Testrong.User.Program/bin/x64/Debug/MxFFTCalc.dll deleted file mode 100644 index 6d64ef4..0000000 Binary files a/Testrong.User.Program/bin/x64/Debug/MxFFTCalc.dll and /dev/null differ diff --git a/Testrong.User.Program/bin/x64/Debug/NLog.dll b/Testrong.User.Program/bin/x64/Debug/NLog.dll deleted file mode 100644 index 91cc9e8..0000000 Binary files a/Testrong.User.Program/bin/x64/Debug/NLog.dll and /dev/null differ diff --git a/Testrong.User.Program/bin/x64/Debug/STDF.Library.dll b/Testrong.User.Program/bin/x64/Debug/STDF.Library.dll deleted file mode 100644 index b5c457e..0000000 Binary files a/Testrong.User.Program/bin/x64/Debug/STDF.Library.dll and /dev/null differ diff --git a/Testrong.User.Program/bin/x64/Debug/STDF.Library.xml b/Testrong.User.Program/bin/x64/Debug/STDF.Library.xml deleted file mode 100644 index ba485a9..0000000 --- a/Testrong.User.Program/bin/x64/Debug/STDF.Library.xml +++ /dev/null @@ -1,2059 +0,0 @@ - - - - STDF.Library - - - - - Represents a BinaryReader that reads binary streams in big endian format. - - - - - Creates an instance of a BigEndianBinaryReader that reads the passed stream - - - A which the BigEndianBinaryReader reads from. - - - - - Creates an instance of a BigEndianBinaryReader that reads the passed stream with a specified encoding. - - - A which the BigEndianBinaryReader reads from. - - - A which the BigEndianBinaryReader uses to read from the stream. - - - - - Reads an unsigned Int16 - - - A - - - - - Reads an unsigned Int32 - - - A - - - - - Reads an unsigned Int64 - - - - - - Reads a float - - - A - - - - - Cpu types enumeration as reported by STDF specifications. - - - - - Utility class for Endianness management. - - - - - Initializes an instance of this Cpu. - - The type of the cpu to initialize. - The byte value arrives from STDF field. - - - - Returns true if the passed cpu is LittleEndian, false otherwise - - - - - - - B*n - Variable length bit-encoded field: - First byte = unsigned count of bytes to follow(maximum of 255 bytes). - First data item in least significant bit of the second byte of the array(first byte is count.) - - - - - Returns the size in bytes of this field. - - - - - Reads this field's value from the binary reader. - - The binary reader from where to read the field's value. - - - - Writes this field's value to a binary writer. - - The binary writer where to write the field's value. - - - - C*1 One byte signed integer char - - - - - C*f - Variable length character string: string length is stored in another field - - - - - C*n - Variable length character string: - first byte = unsigned count of bytes to follow(maximum of 255 bytes) - - - - - D*n - Variable length bit-encoded field: - First two bytes = unsigned count of bits to follow(maximum of 65,535 bits). - First data item in least significant bit of the third byte of the array (first two bytes are count). - Unused bits at the high order end of the last byte must be zero. - - - - - Returns the size in bytes of this field. - - - - - Reads this field's value from the binary reader. - - The binary reader from where to read the field's value. - - - - Writes this field's value to a binary writer. - - The binary writer where to write the field's value. - - - - Represents the base class for all fields. - - The type of the field's value. - - - - Returns or sets the value of this field. - - - - - Returns the size in bytes of this field. - - - - - Reads this field's value from the binary reader. - - The binary reader from where to read the field's value. - - - - Reads this field from the binary reader. - - The binary reader from where to read the field's value. - If the passed reader is null. - - - - Writes this field to a binary writer. If the field's value is null nothing will be written. - - The binary writer to which to write - If the passed writer is null. - - - - Writes this field's value to a binary writer. - - The binary writer where to write the field's value. - - - - I*1 One byte signed integer char - - - - - I*2 Two byte signed integer short - - - - - I*4 Four byte signed integer int - - - - - Represents the size in bytes of the field. - - - - - resets the value of the field. - - - - - Defines a generic interface for field of STDF record. - - Used as internal type for size, reading and writing. - - - - Represents the value of the field which type is specified by the generic parameter. - - The value of the field - - - - N*1 - Unsigned integer data stored in a nibble. (Nibble = 4 bits of a byte). - First item in low 4 bits, second item in high 4 bits. - If an odd number of nibbles is indicated, the high nibble of the byte - will be zero.Only whole bytes can be written to the STDF file. - - - - - - kxTYPE - Array of data of the type specified. - The value of ‘k’ (the number of elements in the array) is defined in - an earlier field in the record.For example, an array of short unsigned integers is defined as kxU*2. - - - - - - - - R*4 Four byte floating point number float - - - - - R*4 Four byte floating point number float - - - - - U*1 One byte unsigned integer - - - - - U*2 Two byte unsigned integer - - - - - U*4 Four byte unsigned integer uint - - - - - - - U*4 Four byte unsigned integer - - - - - Creates an empty record of type and subtype specified by header. - - The header of the record. - A record of type and subtype. - If the type has no public constructor and hence no instance can be created. - - - - Creates a STDF record instance of the specified type and subtype. - - The type of record to create. - The subtype of record to create. - - A record of specified type and subtype. - - - - Represents the ATR record of STDF. - - - - - MOD_TIM U*4 Date and time of STDF file modification - Date and time of STDF file modification - - - - - CMD_LINE C*n Command line of program. - Command line of program - - - - - Represents the base class of bin records. - - - - - HEAD_NUM U*1 Test head number - - - - - SITE_NUM U*1 Test site number - - - - - SBIN_NUM U*2 Software/Hardware bin number - - - - - SBIN_CNT U*4 Number of parts in bin - - - - - SBIN_PF C*1 Pass/fail indication - - - - - SBIN_NAM C*n Name of software/Hardware bin - - - - - Represents the DTR record of STDF. - - - - - TEXT_DAT C*n ASCII text string - - - - - Dummy record - - - - - Represents the FAR record of STDF - - - - - Returns cpu type information. - - - - - CPU_TYPE U*1 CPU type that wrote this file - - The field which represents the raw value of cpu type. - For more meaningful information use Cpu property. - - - - STDF_VER U*1 STDF version number - STDF version number. - - - - - TEST_NUM - - - - - HEAD_NUM - - - - - SITE_NUM - - - - - CYCL_CNT - - - - - REL_VADR - - - - - REPT_CNT - - - - - NUM_FAIL - - - - - XFAIL_AD - - - - - YFAIL_AD - - - - - VECT_OFF - - - - - RTN_ICNT, Count (j) of return data PMR indexes for RTN_INDX, RTN_STAT - - - - - RTN_STAT, - - - - - RTN_INDX, - - - - - PGM_ICNT, Count (k) of programmed state indexes for PGM_INDX, PGM_STAT - - - - - PGM_INDX, - - - - - PGM_STAT, - - - - - FAIL_PIN - - - - - VECT_NAM - - - - - TIME_SET - - - - - OP_CODE - - - - - TEST_TXT - - - - - ALARM_ID - - - - - PROG_TXT - - - - - RSLT_TXT - - - - - PATG_NUM - - - - - SPIN_MAP - - - - - TEST_FLG - - - - - OPT_FLAG - - - - - U*4 Test number - - - - - U*1 Test head number - - - - - U*1 Test site number - - - - - B*1 Test flags (fail, alarm, etc.) - - - - - B*1 Optional data flag See note - - - - - U*4 Cycle count of vector OPT_FLAG bit 0 = 1 - - - - - U*4 Relative vector address OPT_FLAG bit 1 = 1 - - - - - U*4 Repeat count of vector OPT_FLAG bit 2 = 1 - - - - - U*4 Number of pins with 1 or more failures OPT_FLAG bit 3 = 1 - - - - - I*4 X logical device failure address OPT_FLAG bit 4 = 1 - - - - - I*4 Y logical device failure address OPT_FLAG bit 4 = 1 - - - - - I*2 Offset from vector of interest OPT_FLAG bit 5 = 1 - - - - - U*2 Count (j) of return data PMR indexes See note - - - - - U*2 Count (k) of programmed state indexes See note - - - - - jxU*2 Array of return data PMR indexes RTN_ICNT = 0 - - - - - jxN*1 Array of returned states RTN_ICNT = 0 - - - - - kxU*2 Array of programmed state indexes PGM_ICNT = 0 - - - - - kxN*1 Array of programmed states PGM_ICNT = 0 - - - - - D*n Failing pin bitfield length bytes = 0 - - - - - C*n Vector module pattern name length byte = 0 - - - - - C*n Time set name length byte = 0 - - - - - C*n Vector Op Code length byte = 0 - - - - - C*n Descriptive text or label length byte = 0 - - - - - C*n Name of alarm length byte = 0 - - - - - C*n Additional programmed information length byte = 0 - - - - - C*n Additional result information length byte = 0 - - - - - U*1 Pattern generator number 255 - - - - - D*n Bit map of enabled comparators length byte = 0 - - - - - Represents the HBR record of STDF. - - - - - Represents the MIR record of STDF - - - - - SETUP_T U*4 Date and time of job setup - - - - - START_T U*4 Date and time first part tested - - - - - STAT_NUM U*1 Tester station number - - - - - MODE_COD C*1 Test mode code (e.g. prod, dev) - - - - - RTST_COD C*1 Lot retest code - - - - - PROT_COD C*1 Data protection code - - - - - BURN_TIM U*2 Burn-in time (in minutes) - - - - - CMOD_COD C*1 Command mode code space - - - - - LOT_ID C*n Lot ID (customer specified) - - - - - PART_TYP C*n Part Type (or product ID) - - - - - NODE_NAM C*n Name of node that generated data - - - - - TSTR_TYP C*n Tester type - - - - - JOB_NAM C*n Job name (test program name) - - - - - OB_REV C*n Job (test program) revision number - - - - - SBLOT_ID C*n Sublot ID - - - - - OPER_NAM C*n Operator name or ID (at setup time) - - - - - EXEC_TYP C*n Tester executive software type - - - - - EXEC_VER C*n Tester exec software version number - - - - - TEST_COD C*n Test phase or step code - - - - - TST_TEMP C*n Test temperature - - - - - USER_TXT C*n Generic user text - - - - - AUX_FILE C*n Name of auxiliary data file length - - - - - PKG_TYP C*n Package type length - - - - - FAMLY_ID C*n Product family ID - - - - - DATE_COD C*n Date code - - - - - FACIL_ID C*n Test facility ID - - - - - FLOOR_ID C*n Test floor ID length byte = 0 - - - - - PROC_ID C*n Fabrication process ID - - - - - OPER_FRQ C*n Operation frequency or step - - - - - SPEC_NAM C*n Test specification name - - - - - SPEC_VER C*n Test specification version number - - - - - FLOW_ID C*n Test flow ID - - - - - SETUP_ID C*n Test setup ID - - - - - DSGN_REV C*n Device design revision - - - - - ENG_ID C*n Engineering lot ID - - - - - ROM_COD C*n ROM code ID - - - - - SERL_NUM C*n Tester serial number - - - - - SUPR_NAM C*n Supervisor name or ID - - - - - Represents the MPR record of STDF - - - - - TEST_NUM - - - - - HEAD_NUM - - - - - SITE_NUM - - - - - TEST_FLG - - - - - PARM_FLG - - - - - RTN_ICNT - - - - - RSLT_CNT - - - - - RTN_STAT - - - - - RTN_RSLT - - - - - TEST_TXT - - - - - ALARM_ID - - - - - OPT_FLAG - - - - - RES_SCAL - - - - - LLM_SCAL - - - - - HLM_SCAL - - - - - LO_LIMIT - - - - - HI_LIMIT - - - - - START_IN - - - - - INCR_IN - - - - - RTN_INDX - - - - - UNITS - - - - - UNITS_IN - - - - - C_RESFMT - - - - - C_LLMFMT - - - - - C_HLMFMT - - - - - LO_SPEC - - - - - HI_SPEC - - - - - U*4 Test number - - - - - U*1 Test head number - - - - - U*1 Test site number - - - - - B*1 Test flags (fail, alarm, etc.) - - - - - B*1 Parametric test flags (drift, etc.) - - - - - U*2 Count (j) of PMR indexes See note - - - - - U*2 Count (k) of returned results See note - - - - - jxN*1 Array of returned states RTN_ICNT = 0 - - - - - kxR*4 Array of returned results RSLT_CNT = 0 - - - - - C*n Descriptive text or label length byte = 0 - - - - - C*n Name of alarm length byte = 0 - - - - - B*1 Optional data flag See note - - - - - I*1 Test result scaling exponent OPT_FLAG bit 0 = 1 - - - - - I*1 Test low limit scaling exponent OPT_FLAG bit 4 or 6 = 1 - - - - - I*1 Test high limit scaling exponent OPT_FLAG bit 5 or 7 = 1 - - - - - R*4 Test low limit value OPT_FLAG bit 4 or 6 = 1 - - - - - R*4 Test high limit value OPT_FLAG bit 5 or 7 = 1 - - - - - R*4 Starting input value (condition) OPT_FLAG bit 1 = 1 - - - - - R*4 Increment of input condition OPT_FLAG bit 1 = 1 - - - - - jxU*2 Array of PMR indexes RTN_ICNT = 0 - - - - - C*n Units of returned results length byte = 0 - - - - - C*n Input condition units length byte = 0 - - - - - C*n ANSI C result format string length byte = 0 - - - - - C*n ANSI C low limit format string length byte = 0 - - - - - C*n ANSI C high limit format string length byte = 0 - - - - - R*4 Low specification limit value OPT_FLAG bit 2 = 1 - - - - - R*4 High specification limit value OPT_FLAG bit 3 = 1 - - - - - Represents the MRR record of STDF - - - - - FINISH_T U*4 Date and time last part tested - - - - - DISP_COD C*1 Lot disposition code - - - - - USR_DESC C*n Lot description supplied by user length byte = 0 - - - - - EXC_DESC C*n Lot description supplied by exec length byte = 0 - - - - - Represents the PCR record of STDF. - - - - - HEAD_NUM U*1 Test head number - - - - - SITE_NUM U*1 Test site number - - - - - PART_CNT U*4 Number of parts tested - - - - - RTST_CNT U*4 Number of parts retested - - - - - ABRT_CNT U*4 Number of aborts during testing - - - - - GOOD_CNT U*4 Number of good (passed) parts tested - - - - - FUNC_CNT U*4 Number of functional parts tested - - - - - Represents the PIR record of STDF - - - - - HEAD_NUM U*1 Test head number - - - - - SITE_NUM U*1 Test site number - - - - - PMR_INDX - - - - - CHAN_TYP - - - - - CHAN_NAM - - - - - PHY_NAM - - - - - LOG_NAM - - - - - HEAD_NUM - - - - - SITE_NUM - - - - - Represents the PRR record of STDF - - - - - HEAD_NUM U*1 Test head number - - - - - SITE_NUM U*1 Test site number - - - - - NUM_TEST U*2 Number of tests executed - - - - - HARD_BIN U*2 Hardware bin number - - - - - SOFT_BIN U*2 Software bin number - - - - - X_COORD I*2 (Wafer) X coordinate - - - - - Y_COORD I*2 (Wafer) Y coordinate - - - - - TEST_T U*4 Elapsed test time in milliseconds - - - - - PART_ID C*n Part identification - - - - - PART_TXT C*n Part identification - - - - - PART_FIX B*n Part repair information - - - - - PART_FLG B*1 Part information flag - Represents the field PART_FLG of PRR record. - - From STDF specification the first two bit must not be set both to 1. - So it possible to check if it happens checking the validity of this field through - - - - Represents the PTR record of STDF. - - - - - TEST_NUM - - - - - HEAD_NUM - - - - - SITE_NUM - - - - - RESULT - - - - - TEST_FLG - - - - - PARM_FLG - - - - - TEST_TXT - - - - - ALARM_ID - - - - - OPT_FLAG - - - - - RES_SCAL - - - - - LLM_SCAL - - - - - HLM_SCAL - - - - - LO_LIMIT - - - - - HI_LIMIT - - - - - UNITS - - - - - C_RESFMT - - - - - C_LLMFMT - - - - - C_HLMFMT - - - - - LO_SPEC - - - - - HI_SPEC - - - - - U*4 Test number - - - - - U*1 Test head number - - - - - U*1 Test site number - - - - - B*1 Test flags (fail, alarm, etc.) - - - - - B*1 Parametric test flags (drift, etc.) - - - - - R*4 Test result TEST_FLG bit 1 = 1 - - - - - C*n Test description text or label length byte = 0 - - - - - C*n Name of alarm length byte = 0 - - - - - B*1 Optional data flag See note - - - - - I*1 Test results scaling exponent OPT_FLAG bit 0 = 1 - - - - - I*1 Low limit scaling exponent OPT_FLAG bit 4 or 6 = 1 - - - - - I*1 High limit scaling exponent OPT_FLAG bit 5 or 7 = 1 - - - - - R*4 Low test limit value OPT_FLAG bit 4 or 6 = 1 - - - - - R*4 High test limit value OPT_FLAG bit 5 or 7 = 1 - - - - - C*n Test units length byte = 0 - - - - - C*n ANSI C result format string length byte = 0 - - - - - C*n ANSI C low limit format string length byte = 0 - - - - - C*n ANSI C high limit format string length byte = 0 - - - - - R*4 Low specification limit value OPT_FLAG bit 2 = 1 - - - - - R*4 High specification limit value OPT_FLAG bit 3 = 1 - - - - - Represents the SBR record of STDF. - - - - - Represents the SDR record of STDF. - - - - - HEAD_NUM U*1 Test head number - - - - - SITE_GRP U*1 Site group number - - - - - SITE_CNT U*1 Number (k) of test sites in site group - - - - - SITE_NUM kxU*1 Array of test site numbers - - - - - HAND_TYP C*n Handler or prober type - - - - - HAND_ID C*n Handler or prober ID - - - - - CARD_TYP C*n Probe card type - - - - - CARD_ID C*n Probe card ID - - - - - LOAD_TYP C*n Load board type - - - - - LOAD_ID C*n Load board ID - - - - - DIB_TYP C*n DIB board type - - - - - DIB_ID C*n DIB board ID - - - - - CABL_TYP C*n Interface cable type - - - - - CABL_ID C*n Interface cable ID - - - - - CONT_TYP C*n Handler contractor type - - - - - CONT_ID C*n Handler contractor ID - - - - - LASR_TYP C*n Laser type - - - - - LASR_ID C*n Laser ID - - - - - EXTR_TYP C*n Extra equipment type field - - - - - EXTR_ID C*n Extra equipment ID - - - - - Represents the TSR record of STDF. - - - - - HEAD_NUM U*1 Test head number - - - - - SITE_NUM U*1 Test site number - - - - - TEST_TYP C*1 Test type - - - - - TEST_NUM U*4 Test number - - - - - EXEC_CNT U*4 Number of test executions - - - - - FAIL_CNT U*4 Number of test failures - - - - - ALRM_CNT U*4 Number of alarmed tests - - - - - TEST_NAM C*n Test name - - - - - SEQ_NAME C*n Sequencer (program segment/flow) name - - - - - TEST_LBL C*n Test label or text - - - - - TEST_TIM R*4 Average test execution time in seconds - - - - - TEST_MIN R*4 Lowest test result value - - - - - TEST_MAX R*4 Highest test result value - - - - - TST_SUMS R*4 Sum of test result values - - - - - TST_SQRS R*4 Sum of squares of test result values - - - - - OPT_FLAG B*1 Optional data flag - - - - - Represents the WCR record of STDF - - - - - WAFR_SIZ R*4 Diameter of wafer in WF_UNITS - - - - - DIE_HT R*4 Height of die in WF_UNITS - - - - - DIE_WID R*4 Width of die in WF_UNITS - - - - - WF_UNITS U*1 Units for wafer and die dimensions - - - - - WF_FLAT C*1 Orientation of wafer flat - - - - - CENTER_X I*2 X coordinate of center die on wafer - - - - - CENTER_Y I*2 Y coordinate of center die on wafer - - - - - POS_X C*1 Positive X direction of wafer - - - - - POS_Y C*1 Positive Y direction of wafer - - - - - Represents the WIR record of STDF - - - - - HEAD_NUM U*1 Test head number - - - - - SITE_GRP U*1 Site group number - - - - - START_T U*4 Date and time first part tested - - - - - WAFER_ID C*n Wafer ID - - - - - Represents the WRR record of STDF - - - - - HEAD_NUM U*1 Test head number - - - - - SITE_GRP U*1 Site group number - - - - - FINISH_T U*4 Date and time first part tested - - - - - PART_CNT U*4 Number of parts tested - - - - - RTST_CNT U*4 Number of parts retested - - - - - ABRT_CNT U*4 Number of aborts during testing - - - - - GOOD_CNT U*4 Number of good (passed) parts tested - - - - - FUNC_CNT U*4 Number of functional parts tested - - - - - WAFER_ID C*n Wafer ID - - - - - FABWF_ID C*n Fab wafer ID - - - - - FRAME_ID C*n Wafer frame ID - - - - - MASK_ID C*n Wafer mask ID - - - - - USR_DESC C*n description supplied by user - - - - - EXC_DESC C*n Lot description supplied by exec - - - - - Represents a custom attribute used to set information of a record, such as type and subtype - - - - - Represents the type information of a record - - - - - Represents the subtype information of a record - - - - - Creates a StdfRecordAttribute with specific type and subtype. - - The type information of the record - The subtype information of the record - - - - Represents a factory of BinaryReader instances. Provides a default implementation - or a proper one depending on CPU architecture - - - - - - Defines the capability to read and write to a binary stream. - - - - - Reads from a binary reader. - - The binary reader from which to read - - - - Writes to a binary writer. - - The binary writer to which to write - - - - Reads each record sequentially until the end of the stream raising the event and notifying all registered delegates. - - Returns the read record or null if the end of the stream is reached or an error occurred. - If the object is already disposed. - - - - Closes the underlying resources used by this reader - - - - - Writes a record through the . - - The record to write. - If the object is already disposed. - - - - Writes a record through the . - - The record to write. - If the object is already disposed. - - - - Writes the array of records. - - The record to write through the . - If the object is already disposed. - - - - Closes the underlying resources used by this reader - - - - - Releases the unmanaged resources used by the StdfFileWriter and optionally releases the managed resources. - - true to release both managed and unmanaged resources; false to release only unmanaged resources. - - - - Releases the resources used by the . - - - - - - Reads the record from the binary reader. - - The binary reader used to read the record. - - - - Writes the header of each records and delegates the writing of fields to subclasses. - - The writer where to write the record - - - - Utility class for Endianness bytes swapping. - This class consider bytes in big endian and convert to little endian. - - - - - Swap a ushort. - - - A which represents the ushort to swap. - - - A which represents the swapped ushort. - - - - - Swaps a uint - - - A which represents the uint to swap - - - A which represents the swapped uint - - - - - Swaps a ulong - - - A which represents the ulong to swap. - - - A which represents the swapped ulong. - - - - - Swaps a float - - - A which represents the float to swap. - - - A which represents the float swapped. - - - - - Utility class for Unix time management in .NET framework - - - - - Converts a unix timestamp to a DateTime. - - Represents the unix timestamp - A DateTime obtained from the unix timestamp - - - - Converts a DateTime to a unix timestamp - - The DateTime to convert - The unix timestamp obtained from the DateTime - - - diff --git a/Testrong.User.Program/bin/x64/Debug/System.Runtime.CompilerServices.Unsafe.dll b/Testrong.User.Program/bin/x64/Debug/System.Runtime.CompilerServices.Unsafe.dll deleted file mode 100644 index 1908d92..0000000 Binary files a/Testrong.User.Program/bin/x64/Debug/System.Runtime.CompilerServices.Unsafe.dll and /dev/null differ diff --git a/Testrong.User.Program/bin/x64/Debug/System.Threading.Tasks.Dataflow.dll b/Testrong.User.Program/bin/x64/Debug/System.Threading.Tasks.Dataflow.dll deleted file mode 100644 index bd873ba..0000000 Binary files a/Testrong.User.Program/bin/x64/Debug/System.Threading.Tasks.Dataflow.dll and /dev/null differ diff --git a/Testrong.User.Program/bin/x64/Debug/System.Threading.Tasks.Dataflow.xml b/Testrong.User.Program/bin/x64/Debug/System.Threading.Tasks.Dataflow.xml deleted file mode 100644 index fa90079..0000000 --- a/Testrong.User.Program/bin/x64/Debug/System.Threading.Tasks.Dataflow.xml +++ /dev/null @@ -1,1763 +0,0 @@ - - - - System.Threading.Tasks.Dataflow - - - - Provides a dataflow block that invokes a provided delegate for every data element received. - The type of data that this operates on. - - - Initializes a new instance of the class with the specified action. - The action to invoke with each data element received. - - is . - - - Initializes a new instance of the class with the specified action and configuration options. - The action to invoke with each data element received. - The options with which to configure this . - - is . - - -or- - - is . - - - Initializes a new instance of the class with the specified action. - The action to invoke with each data element received. - - is . - - - Initializes a new instance of the class with the specified action and configuration options. - The action to invoke with each data element received. - The options with which to configure this . - - is . - - -or- - - is . - - - Signals to the dataflow block that it shouldn't accept or produce any more messages and shouldn't consume any more postponed messages. - - - Posts an item to the target dataflow block. - The item being offered to the target. - - if the item is posted to the dataflow block; otherwise, . - - - Causes the dataflow block to complete in a faulted state. - The exception that caused the faulting. - - is . - - - Offers a message to the dataflow block, and gives it the opportunity to consume or postpone the message. - The header of the message being offered. - The value of the message being offered. - The dataflow block that is offering the message. This may be . - - to instruct the target to call synchronously during the call to , prior to returning , in order to consume the message; otherwise, . - - is not valid. - - -or- may be only if provided with a non-null . - The status of the offered message. If the message was accepted by the target, is returned, and the source should no longer use the offered message, because it is now owned by the target. If the message was postponed by the target, is returned as a notification that the target may later attempt to consume or reserve the message; in the meantime, the source still owns the message and may offer it to other blocks. - - If the target would have otherwise postponed message, but source was , is returned. - - If the target tried to accept the message but missed it due to the source delivering the message to another target or simply discarding it, is returned. - - If the target chose not to accept the message, is returned. If the target chose not to accept the message and will never accept another message from this source, is returned. - - - Returns a string that represents the formatted name of this instance. - A string that represents the formatted name of this instance. - - - Gets a object that represents the asynchronous operation and completion of the dataflow block. - The completed task. - - - Gets the number of input items waiting to be processed by this block. - The number of input items waiting to be processed by this block. - - - Provides a dataflow block that batches inputs into arrays. - Specifies the type of data put into batches. - - - Initializes a new with the specified batch size. - The number of items to group into a batch. - The must be positive. - - - Initializes a new with the specified batch size, declining option, and block options. - The number of items to group into a batch. - The options with which to configure this . - The must be positive. - - -or- - - The must be smaller than the value of the option if a non-default value has been set. - The is . - - - Signals to the that it should not accept nor produce any more messages nor consume any more postponed messages. - - - Links the to the specified . - The to which to connect this source. - A instance that configures the link. - - is null (Nothing in Visual Basic) or is null (Nothing in Visual Basic). - An IDisposable that, upon calling Dispose, will unlink the source from the target. - - - Causes the to complete in a state. - The that caused the faulting. - The is . - - - Called by a linked to accept and consume a previously offered by this . - The of the message being consumed. - The consuming the message. - - if the message was successfully consumed; otherwise, . - The is not valid. - The is . - The value of the consumed message. This may correspond to a different instance than was previously reserved and passed as the to . The consuming must use the returned value instead of the value passed as messageValue through . - - If the message requested is not available, the return value will be . - - - Called by a linked to release a previously reserved by this . - The of the reserved message being released. - The releasing the message it previously reserved. - The is not valid. - The is . - The did not have the message reserved. - - - Called by a linked to reserve a previously offered by this . - The of the message being reserved. - The reserving the message. - The is not valid. - The is . - - if the message was successfully reserved; otherwise, . - - - Offers a message to the , giving the target the opportunity to consume or postpone the message. - A instance that represents the header of the message being offered. - The value of the message being offered. - The offering the message. This may be null. - Set to to instruct the target to call synchronously during the call to , prior to returning , in order to consume the message. - The is not valid. - - -or- may only be true if provided with a non-null . - The status of the offered message. If the message was accepted by the target, is returned, and the source should no longer use the offered message, because it is now owned by the target. If the message was postponed by the target, is returned as a notification that the target may later attempt to consume or reserve the message; in the meantime, the source still owns the message and may offer it to other blocks. - - If the target would have otherwise postponed message, but was , is instead returned. - - If the target tried to accept the message but missed it due to the source delivering the message to another target or simply discarding it, is returned. - - If the target chose not to accept the message, is returned. If the target chose not to accept the message and will never accept another message from this source, is returned. - - - Returns a string that represents the formatted name of this instance. - A string that represents the formatted name of this instance. - - - Triggers the to initiate a batching operation even if the number of currently queued or postponed items is less than the . - - - Attempts to synchronously receive an available output item from the . - The predicate a value must successfully pass in order for it to be received. may be , in which case all items will pass. - The item received from the source. - - if an item could be received; otherwise, . - - - Attempts to synchronously receive all available items from the . - The items received from the source. - - if one or more items could be received; otherwise, . - - - Gets the size of the batches generated by this . - The batch size. - - - Gets a that represents the asynchronous operation and completion of the dataflow block. - The task. - - - Gets the number of output items available to be received from this block. - The number of output items. - - - Provides a dataflow block that batches a specified number of inputs of potentially differing types provided to one or more of its targets. - Specifies the type of data accepted by the block's first target. - Specifies the type of data accepted by the block's second target. - - - Initializes a new with the specified configuration. - The number of items to group into a batch. - The must be positive. - - - Initializes a new with the specified configuration. - The number of items to group into a batch. - The options with which to configure this . - - is . - - is less than one. - - - Signals to the that it should not accept nor produce any more messages nor consume any more postponed messages. - - - Links the to the specified . - The to which to connect this source. - A instance that configures the link. - - is (Nothing in Visual Basic) or is (Nothing in Visual Basic). - An IDisposable that, upon calling Dispose, will unlink the source from the target. - - - Causes the to complete in a state. - The that caused the faulting. - The is . - - - Passes the ownership of the message identified by the from this instance to the . - The of the message that is to be consumed. - The for which the message is to be consumed. - - if the message was successfully consumed. otherwise. - The is not valid. - The is (Nothing in Visual Basic). - The value of the consumed message. This may correspond to a different instance than was previously reserved and passed as the to this method. The consuming must use the returned value instead of the value passed as to . If the message requested is not available, the return value is ( in Visual Basic). - - - Releases the right to pass the ownership of the message identified by the from this to the . - The of the reserved message. - The that currently holds the reservation. - The is not valid. - The is (Nothing in Visual Basic). - The did not have the message reserved. - - - Reserves the right to pass the ownership of the message identified by the from this to the . - The of the message that is to be reserved. - The for which the message is to be reserved. - The is not valid. - The is ( in Visual Basic). - - if the message was successfully reserved; otherwise, . - - - Returns a string that represents the formatted name of this instance. - A string that represents the formatted name of this instance. - - - Attempts to synchronously receive an available output item from the . - The predicate a value must successfully pass in order for it to be received. may be , in which case all items will pass. - The item received from the source. - - if an item could be received; otherwise, . - - - Attempts to synchronously receive all available items from the . - The items received from the source. - - if one or more items could be received; otherwise, . - - - Gets the size of the batches generated by this . - The batch size. - - - Gets a that represents the asynchronous operation and completion of the dataflow block. - The task. - - - Gets the number of output items available to be received from this block. - The number of output items. - - - Gets a target that may be used to offer messages of the first type. - The target. - - - Gets a target that may be used to offer messages of the second type. - The target. - - - Provides a dataflow block that batches a specified number of inputs of potentially differing types provided to one or more of its targets. - Specifies the type of data accepted by the block's first target. - Specifies the type of data accepted by the block's second target. - Specifies the type of data accepted by the block's third target. - - - Initializes a new with the specified configuration. - The number of items to group into a batch. - The must be positive. - - - Initializes a new with the specified configuration. - The number of items to group into a batch. - The options with which to configure this . - The must be positive. - The is . - - - Signals to the that it should not accept nor produce any more messages nor consume any more postponed messages. - - - Links the to the specified . - The to which to connect this source. - - if the source should unlink from the target after successfully propagating a single message; to remain connected even after a single message has been propagated. - - is (Nothing in Visual Basic) or is (Nothing in Visual Basic). - An IDisposable that, upon calling Dispose, will unlink the source from the target. - - - Causes the to complete in a state. - The that caused the faulting. - The is . - - - Passes the ownership of the message identified by the from this instance to the . - The of the message that is to be consumed. - The for which the message is to be consumed. - - if the message was successfully consumed. otherwise. - The is not valid. - The is (Nothing in Visual Basic). - The value of the consumed message. This may correspond to a different instance than was previously reserved and passed as the to this method. The consuming must use the returned value instead of the value passed as to . If the message requested is not available, the return value is ( in Visual Basic). - - - Releases the right to pass the ownership of the message identified by the from this to the . - The of the reserved message. - The that currently holds the reservation. - The is not valid. - The is (Nothing in Visual Basic). - The did not have the message reserved. - - - Reserves the right to pass the ownership of the message identified by the from this to the . - The of the message that is to be reserved. - The for which the message is to be reserved. - The is not valid. - The is ( in Visual Basic). - - if the message was successfully reserved; otherwise, . - - - Returns a string that represents the formatted name of this instance. - A string that represents the formatted name of this instance. - - - Attempts to synchronously receive an available output item from the . - The predicate a value must successfully pass in order for it to be received. may be in which case all items will pass. - The item received from the source. - - if an item could be received; otherwise, . - - - Attempts to synchronously receive all available items from the . - The items received from the source. - - if one or more items could be received; otherwise, . - - - Gets the size of the batches generated by this . - The batch size. - - - Gets a that represents the asynchronous operation and completion of the dataflow block. - The task. - - - Gets the number of output items available to be received from this block. - The number of output items. - - - Gets a target that may be used to offer messages of the first type. - The target. - - - Gets a target that may be used to offer messages of the second type. - The target. - - - Gets a target that may be used to offer messages of the third type. - The target. - - - Provides a buffer for storing at most one element at time, overwriting each message with the next as it arrives. - Specifies the type of the data buffered by this dataflow block. - - - Initializes the with the specified cloning function. - The function to use to clone the data when offered to other blocks. - - - Initializes the with the specified cloning function and . - The function to use to clone the data when offered to other blocks. - The options with which to configure this . - The is . - - - Signals to the that it should not accept nor produce any more messages nor consume any more postponed messages. - - - Links the to the specified . - The to which to connect this source. - A instance that configures the link. - - is null (Nothing in Visual Basic) or is null (Nothing in Visual Basic). - An IDisposable that, upon calling Dispose, will unlink the source from the target. - - - Causes the to complete in a state. - The that caused the faulting. - The is . - - - Attempts to synchronously receive all available items from the . - The items received from the source. - - if one or more items could be received; otherwise, . - - - Called by a linked to accept and consume a previously offered by this . - The of the message being consumed. - The consuming the message. - - if the message was successfully consumed; otherwise, . - The is not valid. - The is . - The value of the consumed message. This may correspond to a different instance than was previously reserved and passed as the to . The consuming must use the returned value instead of the value passed as through . - - If the message requested is not available, the return value will be . - - - Called by a linked to release a previously reserved by this . - The of the reserved message being released. - The releasing the message it previously reserved. - The is not valid. - The is . - The did not have the message reserved. - - - Called by a linked to reserve a previously offered by this . - The of the message being reserved. - The reserving the message. - The is not valid. - The is . - - if the message was successfully reserved; otherwise, . - - - Offers a message to the , giving the target the opportunity to consume or postpone the message. - A instance that represents the header of the message being offered. - The value of the message being offered. - The offering the message. This may be null. - Set to to instruct the target to call synchronously during the call to , prior to returning , in order to consume the message. - The is not valid. - - -or- may only be true if provided with a non-null . - The status of the offered message. If the message was accepted by the target, is returned, and the source should no longer use the offered message, because it is now owned by the target. If the message was postponed by the target, is returned as a notification that the target may later attempt to consume or reserve the message; in the meantime, the source still owns the message and may offer it to other blocks. - - If the target would have otherwise postponed message, but was , is instead returned. - - If the target tried to accept the message but missed it due to the source delivering the message to another target or simply discarding it, is returned. - - If the target chose not to accept the message, is returned. If the target chose not to accept the message and will never accept another message from this source, is returned. - - - Returns a string that represents the formatted name of this instance. - A string that represents the formatted name of this instance. - - - Attempts to synchronously receive an available output item from the . - The predicate a value must successfully pass in order for it to be received. may be , in which case all items will pass. - The item received from the source. - - if an item could be received; otherwise, . - - - Gets a that represents the asynchronous operation and completion of the dataflow block. - The task. - - - Provides a buffer for storing data for a Dataflow. - Specifies the type of the data buffered by this dataflow block. - - - Initializes a new . - - - Initializes a new with the specified . - The options with which to configure this . - The is . - - - Signals to the that it should not accept nor produce any more messages nor consume any more postponed messages. - - - Links the to the specified . - The to which to connect this source. - A instance that configures the link. - - is null (Nothing in Visual Basic) or is null (Nothing in Visual Basic). - An IDisposable that, upon calling Dispose, will unlink the source from the target. - - - Causes the to complete in a state. - The that caused the faulting. - The is . - - - Called by a linked to accept and consume a previously offered by this . - The of the message being consumed. - The consuming the message. - - if the message was successfully consumed; otherwise, . - The is not valid. - The is . - The value of the consumed message. This may correspond to a different instance than was previously reserved and passed as the to . The consuming must use the returned value instead of the value passed as through . - - If the message requested is not available, the return value will be . - - - Called by a linked to release a previously reserved by this . - The of the reserved message being released. - The releasing the message it previously reserved. - The is not valid. - The is . - The did not have the message reserved. - - - Called by a linked to reserve a previously offered by this . - The of the message being reserved. - The reserving the message. - The is not valid. - The is . - - if the message was successfully reserved; otherwise, . - - - Offers a message to the , giving the target the opportunity to consume or postpone the message. - A instance that represents the header of the message being offered. - The value of the message being offered. - The offering the message. This may be . - Set to true to instruct the target to call synchronously during the call to , prior to returning , in order to consume the message. - The is not valid. - - -or- may only be true if provided with a non-null . - The status of the offered message. If the message was accepted by the target, is returned, and the source should no longer use the offered message, because it is now owned by the target. If the message was postponed by the target, is returned as a notification that the target may later attempt to consume or reserve the message; in the meantime, the source still owns the message and may offer it to other blocks. - - If the target would have otherwise postponed message, but was , is instead returned. - - If the target tried to accept the message but missed it due to the source delivering the message to another target or simply discarding it, is returned. - - If the target chose not to accept the message, is returned. If the target chose not to accept the message and will never accept another message from this source, is returned. - - - Returns a string that represents the formatted name of this instance. - A string that represents the formatted name of this instance. - - - Attempts to synchronously receive an available output item from the . - The predicate value must successfully pass in order for it to be received. may be , in which case all items will pass. - The item received from the source. - - if an item could be received; otherwise, . - - - Attempts to synchronously receive all available items from the . - The items received from the source. - - if one or more items could be received; otherwise, . - - - Gets a that represents the asynchronous operation and completion of the dataflow block. - The task. - - - Gets the number of items currently stored in the buffer. - The number of items. - - - Provides a set of static (Shared in Visual Basic) methods for working with dataflow blocks. - - - Creates a new abstraction over the . - The source to wrap. - Specifies the type of data contained in the source. - The is . - An that enables observers to be subscribed to the source. - - - Creates a new abstraction over the . - The target to wrap. - Specifies the type of input accepted by the target block. - An observer that wraps the target block. - - - Monitors two dataflow sources, invoking the provided handler for whichever source makes data available first. - The first source. - The handler to execute on data from the first source. - The second source. - The handler to execute on data from the second source. - Specifies type of data contained in the first source. - Specifies type of data contained in the second source. - The is . - - -or- - - The is . - - -or- - - The is . - - -or- - - The is . - A that represents the asynchronous choice. If both sources are completed prior to the choice completing, the resulting task will be canceled. When one of the sources has data available and successfully propagates it to the choice, the resulting task will complete when the handler completes; if the handler throws an exception, the task will end in the state and will contain the unhandled exception. Otherwise, the task will end with its set to either 0 or 1 to represent the first or second source, respectively. - - This method will only consume an element from one of the two data sources, never both. - - - Monitors two dataflow sources, invoking the provided handler for whichever source makes data available first. - The first source. - The handler to execute on data from the first source. - The second source. - The handler to execute on data from the second source. - The options with which to configure this choice. - Specifies type of data contained in the first source. - Specifies type of data contained in the second source. - The is . - - -or- - - The is . - - -or- - - The is . - - -or- - - The is . - - -or- - - The is . - A that represents the asynchronous choice. If both sources are completed prior to the choice completing, or if the provided as part of is canceled prior to the choice completing, the resulting task will be canceled. When one of the sources has data available and successfully propagates it to the choice, the resulting task will complete when the handler completes; if the handler throws an exception, the task will end in the state and will contain the unhandled exception. Otherwise, the task will end with its set to either 0 or 1 to represent the first or second source, respectively. - - - Monitors three dataflow sources, invoking the provided handler for whichever source makes data available first. - The first source. - The handler to execute on data from the first source. - The second source. - The handler to execute on data from the second source. - The third source. - The handler to execute on data from the third source. - Specifies type of data contained in the first source. - Specifies type of data contained in the second source. - Specifies type of data contained in the third source. - The is . - - -or- - - The is . - - -or- - - The is . - - -or- - - The is . - - -or- - - The is . - - -or- - - The is . - A that represents the asynchronous choice. If all sources are completed prior to the choice completing, the resulting task will be canceled. When one of the sources has data available and successfully propagates it to the choice, the resulting task will complete when the handler completes; if the handler throws an exception, the task will end in the state and will contain the unhandled exception. Otherwise, the task will end with its set to the 0-based index of the source. - - This method will only consume an element from one of the data sources, never more than one. - - - Monitors three dataflow sources, invoking the provided handler for whichever source makes data available first. - The first source. - The handler to execute on data from the first source. - The second source. - The handler to execute on data from the second source. - The third source. - The handler to execute on data from the third source. - The options with which to configure this choice. - Specifies type of data contained in the first source. - Specifies type of data contained in the second source. - Specifies type of data contained in the third source. - The is . - - -or- - - The is . - - -or- - - The is . - - -or- - - The is . - - -or- - - The is . - - -or- - - The is . - - -or- - - The is . - A that represents the asynchronous choice. If all sources are completed prior to the choice completing, or if the provided as part of is canceled prior to the choice completing, the resulting task will be canceled. When one of the sources has data available and successfully propagates it to the choice, the resulting task will complete when the handler completes; if the handler throws an exception, the task will end in the state and will contain the unhandled exception. Otherwise, the task will end with its set to the 0-based index of the source. - - This method will only consume an element from one of the data sources, never more than one. If cancellation is requested after an element has been received, the cancellation request will be ignored, and the relevant handler will be allowed to execute. - - - Encapsulates a target and a source into a single propagator. - The target to encapsulate. - The source to encapsulate. - Specifies the type of input expected by the target. - Specifies the type of output produced by the source. - The encapsulated target and source. - - - Links the to the specified . - The source from which to link. - The to which to connect the source. - Specifies the type of data contained in the source. - The is . - - -or- - - The is . - An that, upon calling , will unlink the source from the target. - - - Links the to the specified using the specified filter. - The source from which to link. - The to which to connect the source. - The filter a message must pass in order for it to propagate from the source to the target. - Specifies the type of data contained in the source. - The is . - - -or- - - The is . - - -or- - - The is . - An that, upon calling , will unlink the source from the target. - - - Links the to the specified using the specified filter. - The source from which to link. - The to which to connect the source. - One of the enumeration values that specifies how to configure a link between dataflow blocks. - The filter a message must pass in order for it to propagate from the source to the target. - Specifies the type of data contained in the source. - The is null (Nothing in Visual Basic). - - -or- - - The is null (Nothing in Visual Basic). - - -or- - - The is null (Nothing in Visual Basic). - - -or- - - The is null (Nothing in Visual Basic). - An that, upon calling , will unlink the source from the target. - - - Gets a target block that synchronously accepts all messages offered to it and drops them. - The type of the messages this block can accept. - A that accepts and subsequently drops all offered messages. - - - Provides a that asynchronously monitors the source for available output. - The source to monitor. - Specifies the type of data contained in the source. - A that informs of whether and when more output is available. If, when the task completes, its is , more output is available in the source (though another consumer of the source may retrieve the data). - - If it returns , more output is not and will never be available, due to the source completing prior to output being available. - - - Provides a that asynchronously monitors the source for available output. - The source to monitor. - The cancellation token with which to cancel the asynchronous operation. - Specifies the type of data contained in the source. - A that informs of whether and when more output is available. If, when the task completes, its is , more output is available in the source (though another consumer of the source may retrieve the data). If it returns , more output is not and will never be available, due to the source completing prior to output being available. - - - Posts an item to the . - The target block. - The item being offered to the target. - Specifies the type of data accepted by the target block. - - if the item was accepted by the target block; otherwise, . - - - Synchronously receives a value from a specified source. - The source from which to receive the value. - The type of data contained in the source. - - is . - No item could be received from the source. - The received value. - - - Synchronously receives a value from a specified source and provides a token to cancel the operation. - The source from which to receive the value. - The token to use to cancel the receive operation. - The type of data contained in the source. - - is . - No item could be received from the source. - The operation was canceled before an item was received from the source. - The received value. - - - Synchronously receives a value from a specified source, observing an optional time-out period. - The source from which to receive the value. - The maximum time interval, in milliseconds, to wait for the synchronous operation to complete, or an interval that represents -1 milliseconds to wait indefinitely. - The type of data contained in the source. - - is a negative number other than -1 milliseconds, which represents an infinite time-out period. - - -or- - - is greater than . - - is . - No item could be received from the source. - The specified time-out expired before an item was received from the source. - The received value. - - - Synchronously receives a value from a specified source, providing a token to cancel the operation and observing an optional time-out interval. - The source from which to receive the value. - The maximum time interval, in milliseconds, to wait for the synchronous operation to complete, or an interval that represents -1 milliseconds to wait indefinitely. - The token to use to cancel the receive operation. - The type of data contained in the source. - The is . - - is a negative number other than -1 milliseconds, which represents an infinite time-out period. - - -or- - - is greater than . - No item could be received from the source. - The specified time-out expired before an item was received from the source. - The operation was canceled before an item was received from the source. - The received value. - - - Creates an that enables receiving all of the data from the source. - The source from which to asynchronously receive. - The that can be used to cancel the receive operation. - Specifies the type of data contained in the source. - The is . - The created async enumerable. - - - Asynchronously receives a value from a specified source. - The source from which to receive the value. - The type of data contained in the source. - - is . - A task that represents the asynchronous receive operation. When an item value is successfully received from the source, the returned task is completed and its returns the received value. If an item value cannot be retrieved because the source is empty and completed , an exception is thrown in the returned task. - - - Asynchronously receives a value from a specified source and provides a token to cancel the operation. - The source from which to receive the value. - The token to use to cancel the receive operation. - Specifies the type of data contained in the source. - - is . - A task that represents the asynchronous receive operation. When a value is successfully received from the source, the returned task is completed and its returns the value. If a value cannot be retrieved because cancellation was requested, the returned task is canceled. If the value cannot be retrieved because the source is empty and completed , an exception is thrown in the returned task. - - - Asynchronously receives a value from a specified source, observing an optional time-out period. - The source from which to receive the value. - The maximum time interval, in milliseconds, to wait for the synchronous operation to complete, or an interval that represents -1 milliseconds to wait indefinitely. - The type of data contained in the source. - - is . - - is a negative number other than -1 milliseconds, which represents an infinite time-out period. - - -or- - - is greater than . - A task that represents the asynchronous receive operation. When a value is successfully received from the source, the returned task is completed and its returns the value. If a value cannot be retrieved because the time-out expired, the returned task is canceled. If the value cannot be retrieved because the source is empty and completed , an exception is thrown in the returned task. - - - Asynchronously receives a value from a specified source, providing a token to cancel the operation and observing an optional time-out interval. - The source from which to receive the value. - The maximum time interval, in milliseconds, to wait for the synchronous operation to complete, or an interval that represents -1 milliseconds to wait indefinitely. - The token which may be used to cancel the receive operation. - The type of data contained in the source. - - is . - - is a negative number other than -1 milliseconds, which represents an infinite time-out period. - - -or- - - is greater than . - A task that represents the asynchronous receive operation. When a value is successfully received from the source, the returned task is completed and its returns the value. If a value cannot be retrieved because the time-out expired or cancellation was requested, the returned task is canceled. If the value cannot be retrieved because the source is empty and completed, an exception is thrown in the returned task. - - - Asynchronously offers a message to the target message block, allowing for postponement. - The target to which to post the data. - The item being offered to the target. - Specifies the type of the data to post to the target. - The is . - A that represents the asynchronous send. If the target accepts and consumes the offered element during the call to , upon return from the call the resulting will be completed and its property will return . If the target declines the offered element during the call, upon return from the call the resulting will be completed and its property will return . If the target postpones the offered element, the element will be buffered until such time that the target consumes or releases it, at which point the task will complete, with its indicating whether the message was consumed. If the target never attempts to consume or release the message, the returned task will never complete. - - - Asynchronously offers a message to the target message block, allowing for postponement. - The target to which to post the data. - The item being offered to the target. - The cancellation token with which to request cancellation of the send operation. - Specifies the type of the data to post to the target. - The is null (Nothing in Visual Basic). - A that represents the asynchronous send. If the target accepts and consumes the offered element during the call to SendAsync, upon return from the call the resulting will be completed and its Result property will return true. If the target declines the offered element during the call, upon return from the call the resulting will be completed and its Result property will return false. If the target postpones the offered element, the element will be buffered until such time that the target consumes or releases it, at which point the Task will complete, with its Result indicating whether the message was consumed. If the target never attempts to consume or release the message, the returned task will never complete. - - If cancellation is requested before the target has successfully consumed the sent data, the returned task will complete in the Canceled state and the data will no longer be available to the target. - - - Attempts to synchronously receive an item from the . - The source from which to receive. - The item received from the source. - Specifies the type of data contained in the source. - - if an item could be received; otherwise, . - - - Provides options used to configure the processing performed by dataflow blocks. - - - A constant used to specify an unlimited quantity for members that provide an upper bound. This field is constant. - - - Initializes a new . - - - Gets or sets the maximum number of messages that may be buffered by the block. - The maximum number of messages. The default is -1, which indicates an unlimited number of messages. - - - Gets or sets the to monitor for cancellation requests. - The token. - - - Gets or sets a value that indicates whether ordered processing should be enforced on a block's handling of messages. - - if ordered processing should be enforced; otherwise, . The default value is . - - - Gets or sets the maximum number of messages that may be processed per task. - The maximum number of messages. The default is -1, which indicates an unlimited number of messages. - - - Gets or sets the format string to use when a block is queried for its name. - The format string to use when a block is queried for its name. - - - Gets or sets the to use for scheduling tasks. - The task scheduler. - - - Provides options used to configure a link between dataflow blocks. - - - Initializes the . - - - Gets or sets whether the link should be appended to the source's list of links, or whether it should be prepended. - Returns . - - - Gets or sets the maximum number of messages that may be consumed across the link. - Returns . - - - Gets or sets whether the linked target will have completion and faulting notification propagated to it automatically. - Returns . - - - Provides a container of data attributes for passing between dataflow blocks. - - - Initializes a new with the specified attributes. - The ID of the message. Must be unique within the originating source block. It does not need to be globally unique. - - - Checks boxed instances for equality by ID. - A boxed instance. - - if the instances are equal; otherwise, . - - - Checks two instances for equality by ID without boxing. - Another instance. - - if the instances are equal; otherwise, . - - - Generates a hash code for the instance. - The hash code. - - - Checks two instances for equality by ID. - A instance. - A instance. - - if the instances are equal; otherwise, . - - - Checks two instances for non-equality by ID. - A instance. - A instance. - - if the instances are not equal; otherwise, . - - - Gets the ID of the message within the source. - The ID contained in the instance. - - - Gets the validity of the message. - - if the ID of the message is different from 0. if the ID of the message is 0. - - - Represents the status of a when passed between dataflow blocks. - - - Indicates that the accepted the message. Once a target has accepted a message, it is wholly owned by the target. - - - Indicates that the declined the message. The still owns the message. - - - Indicates that the declined the message. The still owns the message. - - Additionally, the will decline all future messages sent by the source. - - - Indicates that the tried to accept the message from the , but the message was no longer available. - - - Indicates that the postponed the message for potential consumption at a later time. - - The still owns the message. - - - Provides options used to configure the processing performed by dataflow blocks that process each message through the invocation of a user-provided delegate. These are dataflow blocks such as and . - - - Initializes a new . - - - Gets the maximum number of messages that may be processed by the block concurrently. - The maximum number of messages. - - - Gets whether code using the dataflow block is constrained to one producer at a time. - Returns . - - - Provides options used to configure the processing performed by dataflow blocks that group together multiple messages. These are dataflow blocks such as and . - - - Initializes a new . - - - Gets or sets the Boolean value to use to determine whether to greedily consume offered messages. - - to greedily consume offered messages; otherwise, . - - - Gets or sets the maximum number of groups that should be generated by the block. - The maximum number of groups. - - - Represents a dataflow block. - - - Signals to the that it should not accept nor produce any more messages nor consume any more postponed messages. - - - Causes the to complete in a state. - The that caused the faulting. - The is . - - - Gets a that represents the asynchronous operation and completion of the dataflow block. - The task. - - - Represents a dataflow block that is both a target for data and a source of data. - Specifies the type of data accepted by the . - Specifies the type of data supplied by the . - - - Represents a dataflow block that supports receiving messages without linking. - Specifies the type of data supplied by the . - - - Attempts to synchronously receive an available output item from the . - The predicate value must successfully pass in order for it to be received. may be , in which case all items will pass. - The item received from the source. - - if an item could be received; otherwise, . - - - Attempts to synchronously receive all available items from the . - The items received from the source. - - if one or more items could be received; otherwise, . - - - Represents a dataflow block that is a source of data. - Specifies the type of data supplied by the . - - - Called by a linked to accept and consume a previously offered by this . - The of the message being consumed. - The consuming the message. - - if the message was successfully consumed; otherwise, . - The messageHeader is not valid. - The target is . - The value of the consumed message. This may correspond to a different instance than was previously reserved and passed as the to . The consuming must use the returned value instead of the value passed as through . - - If the message requested is not available, the return value will be null. - - - Links the to the specified . - The to which to connect this source. - A instance that configures the link. - - is null (Nothing in Visual Basic) or is null (Nothing in Visual Basic). - An IDisposable that, upon calling Dispose, will unlink the source from the target. - - - Called by a linked to release a previously reserved by this . - The of the reserved message being released. - The releasing the message it previously reserved. - The is not valid. - The is . - The did not have the message reserved. - - - Called by a linked to reserve a previously offered by this . - The of the message being reserved. - The reserving the message. - The is not valid. - The is . - - if the message was successfully reserved; otherwise, . - - - Represents a dataflow block that is a target for data. - Specifies the type of data accepted by the . - - - Offers a message to the , giving the target the opportunity to consume or postpone the message. - A instance that represents the header of the message being offered. - The value of the message being offered. - The offering the message. This may be null. - Set to to instruct the target to call synchronously during the call to , prior to returning , in order to consume the message. - The is not valid. - - -or- may only be true if provided with a non-null . - The status of the offered message. If the message was accepted by the target, is returned, and the source should no longer use the offered message, because it is now owned by the target. If the message was postponed by the target, is returned as a notification that the target may later attempt to consume or reserve the message; in the meantime, the source still owns the message and may offer it to other blocks. - - If the target would have otherwise postponed message, but source was , is instead returned. - - If the target tried to accept the message but missed it due to the source delivering the message to another target or simply discarding it, is returned. - - If the target chose not to accept the message, is returned. If the target chose not to accept the message and will never accept another message from this source, is returned. - - - Provides a dataflow block that joins across multiple dataflow sources, not necessarily of the same type, waiting for one item to arrive for each type before they're all released together as a tuple consisting of one item per type. - Specifies the type of data accepted by the block's first target. - Specifies the type of data accepted by the block's second target. - - - Initializes a new . - - - Initializes a new . - The options with which to configure this . - The is . - - - Signals to the that it should not accept nor produce any more messages nor consume any more postponed messages. - - - Links the to the specified . - Links the to the specified . - A instance that configures the link. - - is (Nothing in Visual Basic) or is (Nothing in Visual Basic). - An IDisposable that, upon calling Dispose, will unlink the source from the target. - - - Causes the to complete in a state. - The that caused the faulting. - The is . - - - Passes the ownership of the message identified by the from this instance to the . - The of the message that is to be consumed. - The for which the message is to be consumed. - - if the message was successfully consumed. otherwise. - The is not valid. - The is (Nothing in Visual Basic). - The value of the consumed message. This may correspond to a different instance than was previously reserved and passed as the to this method. The consuming must use the returned value instead of the value passed as to . If the message requested is not available, the return value is ( in Visual Basic). - - - Releases the right to pass the ownership of the message identified by the from this to the . - The of the reserved message. - The that currently holds the reservation. - The is not valid. - The is (Nothing in Visual Basic). - The did not have the message reserved. - - - Reserves the right to pass the ownership of the message identified by the from this to the . - The of the message that is to be reserved. - The for which the message is to be reserved. - The is not valid. - The is (Nothing in Visual Basic). - - if the message was successfully reserved; otherwise, . - - - Returns a string that represents the formatted name of this instance. - A string that represents the formatted name of this instance. - - - Attempts to synchronously receive an available output item from the . - The predicate value must successfully pass in order for it to be received. may be , in which case all items will pass. - The item received from the source. - - if an item could be received; otherwise, . - - - Attempts to synchronously receive all available items from the . - The items received from the source. - - if one or more items could be received; otherwise, . - - - Gets a that represents the asynchronous operation and completion of the dataflow block. - The task. - - - Gets the number of output items available to be received from this block. - The number of output items. - - - Gets a target that may be used to offer messages of the first type. - The target. - - - Gets a target that may be used to offer messages of the second type. - The target. - - - Provides a dataflow block that joins across multiple dataflow sources, which are not necessarily of the same type, waiting for one item to arrive for each type before they're all released together as a tuple that contains one item per type. - Specifies the type of data accepted by the block's first target. - Specifies the type of data accepted by the block's second target. - Specifies the type of data accepted by the block's third target. - - - Initializes a new . - - - Initializes a new . - The options with which to configure this . - The is . - - - Signals to the that it should not accept nor produce any more messages nor consume any more postponed messages. - - - Links the source block to the specified target block. - The target block to which to connect this source. - An object that configures the link. - - is . - - -or- - - is . - A disposable object that unlinks the source from the target when its method is called. - - - Causes the to complete in a state. - The that caused the faulting. - The is . - - - Passes the ownership of the message identified by the from this instance to the . - The of the message that is to be consumed. - The for which the message is to be consumed. - - if the message was successfully consumed. otherwise. - The is not valid. - The is (Nothing in Visual Basic). - The value of the consumed message. This may correspond to a different instance than was previously reserved and passed as the to this method. The consuming must use the returned value instead of the value passed as to . If the message requested is not available, the return value is ( in Visual Basic). - - - Releases the right to pass the ownership of the message identified by the from this to the . - The of the reserved message. - The that currently holds the reservation. - The is not valid. - The is (Nothing in Visual Basic). - The did not have the message reserved. - - - Reserves the right to pass the ownership of the message identified by the from this to the . - The of the message that is to be reserved. - The for which the message is to be reserved. - The is not valid. - The is (Nothing in Visual Basic). - - if the message was successfully reserved; otherwise, . - - - Returns a string that represents the formatted name of this instance. - A string that represents the formatted name of this instance. - - - Attempts to synchronously receive an available output item from the . - The predicate value must successfully pass in order for it to be received. may be , in which case all items will pass. - The item received from the source. - - if an item could be received; otherwise, . - - - Attempts to synchronously receive all available items from the . - The items received from the source. - - if one or more items could be received; otherwise, . - - - Gets a that represents the asynchronous operation and completion of the dataflow block. - The task. - - - Gets the number of output items available to be received from this block. - The number of output items. - - - Gets a target that may be used to offer messages of the first type. - The target. - - - Gets a target that may be used to offer messages of the second type. - The target. - - - Gets a target that may be used to offer messages of the third type. - The target. - - - Provides a dataflow block that invokes a provided delegate for every data element received. - Specifies the type of data received and operated on by this . - Specifies the type of data output by this . - - - Initializes a new with the specified . - The function to invoke with each data element received. - The is . - - - Initializes a new with the specified and . - The function to invoke with each data element received. - The options with which to configure this . - The is . - - -or- - - The is . - - - Initializes a new with the specified . - The function to invoke with each data element received. - The is . - - - Initializes a new with the specified and . - The function to invoke with each data element received. - The options with which to configure this . - The is . - - -or- - - The is . - - - Signals to the that it should not accept nor produce any more messages nor consume any more postponed messages. - - - Links the to the specified . - The to which to connect this source. - A instance that configures the link. - - is null (Nothing in Visual Basic) or is null (Nothing in Visual Basic). - An IDisposable that, upon calling Dispose, will unlink the source from the target. - - - Causes the to complete in a state. - The that caused the faulting. - The is . - - - Called by a linked to accept and consume a previously offered by this . - The of the message being consumed. - The consuming the message. - - if the message was successfully consumed; otherwise, . - The is not valid. - The is . - The value of the consumed message. This may correspond to a different instance than was previously reserved and passed as the to . The consuming must use the returned value instead of the value passed as through . - - If the message requested is not available, the return value will be . - - - Called by a linked to release a previously reserved by this . - The of the reserved message being released. - The releasing the message it previously reserved. - The is not valid. - The is . - The did not have the message reserved. - - - Called by a linked to reserve a previously offered by this . - The of the message being reserved. - The reserving the message. - The is not valid. - The is . - - if the message was successfully reserved; otherwise, . - - - Offers a message to the , giving the target the opportunity to consume or postpone the message. - A instance that represents the header of the message being offered. - The value of the message being offered. - The offering the message. This may be . - - if the target must call synchronously during the call to , prior to returning , in order to consume the message. - The is not valid. - - -or- may only be true if provided with a non-null . - The status of the offered message. If the message was accepted by the target, is returned, and the source should no longer use the offered message, because it is now owned by the target. If the message was postponed by the target, is returned as a notification that the target may later attempt to consume or reserve the message; in the meantime, the source still owns the message and may offer it to other blocks. - - If the target would have otherwise postponed but source was , is instead returned. - - If the target tried to accept the message but missed it due to the source delivering the message to another target or simply discarding it, is returned. - - If the target chose not to accept the message, is returned. If the target chose not to accept the message and will never accept another message from this source, is returned. - - - Returns a string that represents the formatted name of this instance. - A string that represents the formatted name of this instance. - - - Attempts to synchronously receive an available output item from the . - The predicate value must successfully pass in order for it to be received. may be , in which case all items will pass. - The item received from the source. - - if an item could be received; otherwise, . - - - Attempts to synchronously receive all available items from the . - The items received from the source. - - if one or more items could be received; otherwise, . - - - Gets a that represents the asynchronous operation and completion of the dataflow block. - The task. - - - Gets the number of input items waiting to be processed by this block. - The number of input items. - - - Gets the number of output items available to be received from this block. - The number of output items. - - - Provides a dataflow block that invokes a provided delegate for every data element received. - Specifies the type of data received and operated on by this . - Specifies the type of data output by this . - - - Initializes a new with the specified function. - The function to invoke with each data element received. All of the data from the returned will be made available as output from this . - The is . - - - Initializes a new with the specified function and . - The function to invoke with each data element received. All of the data from the returned in the will be made available as output from this . - The options with which to configure this . - The is . - - -or- - - The is . - - - Initializes a new with the specified function. - The function to invoke with each data element received. All of the data asynchronously returned in the will be made available as output from this . - The is . - - - Initializes a new with the specified function and . - The function to invoke with each data element received. All of the data asynchronously returned in the will be made available as output from this . - The options with which to configure this . - The is . - - -or- - - The is . - - - Signals to the that it should not accept nor produce any more messages nor consume any more postponed messages. - - - Links the to the specified . - The to which to connect this source. - A instance that configures the link. - - is null (Nothing in Visual Basic) or is null (Nothing in Visual Basic). - An IDisposable that, upon calling Dispose, will unlink the source from the target. - - - Causes the to complete in a state. - The that caused the faulting. - The is . - - - Called by a linked to accept and consume a previously offered by this . - The of the message being consumed. - The consuming the message. - - if the message was successfully consumed; otherwise, . - The is not valid. - The is . - The value of the consumed message. This may correspond to a different instance than was previously reserved and passed as the to . The consuming must use the returned value instead of the value passed as through OfferMessage - - If the message requested is not available, the return value will be . - - - Called by a linked to release a previously reserved by this . - The of the reserved message being released. - The releasing the message it previously reserved. - The is not valid. - The is . - The did not have the message reserved. - - - Called by a linked to reserve a previously offered by this . - The of the message being reserved. - The reserving the message. - The is not valid. - The is . - - if the message was successfully reserved; otherwise, . - - - Offers a message to the , giving the target the opportunity to consume or postpone the message. - A instance that represents the header of the message being offered. - The value of the message being offered. - The offering the message. This may be . - - if the target must call synchronously during the call to , prior to returning , in order to consume the message. - The is not valid. - - -or- - - may only be true if provided with a non-null . - The status of the offered message. If the message was accepted by the target, is returned, and the source should no longer use the offered message, as it is now owned by the target. If the message was postponed by the target, is returned as a notification that the target may later attempt to consume or reserve the message; in the meantime, the source still owns the message and may offer it to other blocks. - - If the target would have otherwise postponed but source was , is instead returned. - - If the target tried to accept the message but missed it due to the source delivering the message to another target or simply discarding it, is returned. - - If the target chose not to accept the message, is returned. If the target chose not to accept the message and will never accept another message from this source, is returned. - - - Returns a string that represents the formatted name of this instance. - A string that represents the formatted name of this instance. - - - Attempts to synchronously receive an available output item from the . - The predicate value must successfully pass in order for it to be received. may be , in which case all items will pass. - The item received from the source. - - if an item could be received; otherwise, . - - - Attempts to synchronously receive all available items from the . - The items received from the source. - - if one or more items could be received; otherwise, . - - - Gets a that represents the asynchronous operation and completion of the dataflow block. - The task. - - - Gets the number of input items waiting to be processed by this block. - The number of input items. - - - Gets the number of output items available to be received from this block. - The number of output items. - - - Provides a buffer for receiving and storing at most one element in a network of dataflow blocks. - Specifies the type of the data buffered by this dataflow block. - - - Initializes a new . - The function to use to clone the data when offered to other blocks. - - - Initializes a new with the specified . - The function to use to clone the data when offered to other blocks. - The options with which to configure this . - The is . - - - Signals to the that it should not accept nor produce any more messages nor consume any more postponed messages. - - - Links the to the specified . - The to which to connect this source. - A instance that configures the link. - - is null (Nothing in Visual Basic) or is null (Nothing in Visual Basic). - An IDisposable that, upon calling Dispose, will unlink the source from the target. - - - Causes the to complete in a state. - The that caused the faulting. - The is . - - - Attempts to synchronously receive all available items from the . - The items received from the source. - - if one or more items could be received; otherwise, . - - - Called by a linked to accept and consume a previously offered by this . - The of the message being consumed. - The consuming the message. - - if the message was successfully consumed; otherwise, . - The is not valid. - The is . - The value of the consumed message. This may correspond to a different instance than was previously reserved and passed as the to . The consuming must use the returned value instead of the value passed as through . - - If the message requested is not available, the return value will be . - - - Called by a linked to release a previously reserved by this . - The of the reserved message being released. - The releasing the message it previously reserved. - The is not valid. - The is . - The did not have the message reserved. - - - Called by a linked to reserve a previously offered by this . - The of the message being reserved. - The reserving the message. - The is not valid. - The is . - - if the message was successfully reserved; otherwise, . - - - Offers a message to the , giving the target the opportunity to consume or postpone the message. - A instance that represents the header of the message being offered. - The value of the message being offered. - The offering the message. This may be . - Set to to instruct the target to call synchronously during the call to , prior to returning , in order to consume the message. - The is not valid. - - -or- may only be true if provided with a non-null . - The status of the offered message. If the message was accepted by the target, is returned, and the source should no longer use the offered message, because it is now owned by the target. If the message was postponed by the target, is returned as a notification that the target may later attempt to consume or reserve the message; in the meantime, the source still owns the message and may offer it to other blocks. - - If the target would have otherwise postponed message, but was , is instead returned. - - If the target tried to accept the message but missed it due to the source delivering the message to another target or simply discarding it, is returned. - - If the target chose not to accept the message, is returned. If the target chose not to accept the message and will never accept another message from this source, is returned. - - - Returns a string that represents the formatted name of this instance. - A string that represents the formatted name of this instance. - - - Attempts to synchronously receive an available output item from the . - The predicate value must successfully pass in order for it to be received. may be , in which case all items will pass. - The item received from the source. - - if an item could be received; otherwise, . - - - Gets a that represents the asynchronous operation and completion of the dataflow block. - The task. - - - \ No newline at end of file diff --git a/Testrong.User.Program/bin/x64/Debug/System.Threading.Tasks.Extensions.dll b/Testrong.User.Program/bin/x64/Debug/System.Threading.Tasks.Extensions.dll deleted file mode 100644 index eeec928..0000000 Binary files a/Testrong.User.Program/bin/x64/Debug/System.Threading.Tasks.Extensions.dll and /dev/null differ diff --git a/Testrong.User.Program/bin/x64/Debug/System.ValueTuple.dll b/Testrong.User.Program/bin/x64/Debug/System.ValueTuple.dll deleted file mode 100644 index 4ce28fd..0000000 Binary files a/Testrong.User.Program/bin/x64/Debug/System.ValueTuple.dll and /dev/null differ diff --git a/Testrong.User.Program/bin/x64/Debug/Testrong.Core.Datalog.Interfaces.dll b/Testrong.User.Program/bin/x64/Debug/Testrong.Core.Datalog.Interfaces.dll deleted file mode 100644 index db4d8b8..0000000 Binary files a/Testrong.User.Program/bin/x64/Debug/Testrong.Core.Datalog.Interfaces.dll and /dev/null differ diff --git a/Testrong.User.Program/bin/x64/Debug/Testrong.Core.Globalization.dll b/Testrong.User.Program/bin/x64/Debug/Testrong.Core.Globalization.dll deleted file mode 100644 index cba1784..0000000 Binary files a/Testrong.User.Program/bin/x64/Debug/Testrong.Core.Globalization.dll and /dev/null differ diff --git a/Testrong.User.Program/bin/x64/Debug/Testrong.Core.Gramar.dll b/Testrong.User.Program/bin/x64/Debug/Testrong.Core.Gramar.dll deleted file mode 100644 index 035df93..0000000 Binary files a/Testrong.User.Program/bin/x64/Debug/Testrong.Core.Gramar.dll and /dev/null differ diff --git a/Testrong.User.Program/bin/x64/Debug/Testrong.Core.Hardware.dll b/Testrong.User.Program/bin/x64/Debug/Testrong.Core.Hardware.dll deleted file mode 100644 index e9c52e8..0000000 Binary files a/Testrong.User.Program/bin/x64/Debug/Testrong.Core.Hardware.dll and /dev/null differ diff --git a/Testrong.User.Program/bin/x64/Debug/Testrong.Core.Model.xml b/Testrong.User.Program/bin/x64/Debug/Testrong.Core.Model.xml deleted file mode 100644 index a818b08..0000000 --- a/Testrong.User.Program/bin/x64/Debug/Testrong.Core.Model.xml +++ /dev/null @@ -1,4179 +0,0 @@ - - - - Testrong.Core.Model - - - - - ACTimingInfo - - For example: - - string aCTimingName = "aCTimingName"; - //方法一:克隆ACTimingInfo对象,克隆后为新对象,设置参数不影响原本ACTimingInfo对象参数 - List<ACTimingInfo> aCTimingInfos = PATTERN.ACTiming.Clone(aCTimingName).ToList(); - //方法二:通过Name获取ACTimingInfo,修改参数会影响原本ACTimingInfo对象参数 - ACTimingInfo aCTimingInfo = context.FlowCatalog.GetByName<ACTimingInfo>(aCTimingName); - - - - - - - period in nano-seconds, range [12.5, 16000000] (62.5Hz ~ 80MHz) - - - - - NR/RH/RL/RZ/SBL/SBH - - - - - edge drive on, range [0, 1] - - - - - edge drive data, range [0, 1] - - - - - edge drive return, range [0, 1] - - - - - edge drive off, range [0, 1] - - - - - compare mode: Edge/WindowCompare - - - - - Strobe Endge - - - - - Strobe Endge - - - - - get the signal name for the effective ACTiming - - - - - - conditions: - 1. soft bin Number - 2. hard bin number - 3. hard bin type - - - - - - - - - - - - Test Name - - - - - Test No - - - - - Test suite - - - - - 测试结果补偿Offset - - - - - Fail bin - - - - - PassBin,如果为Null,取Default Passbin - - - - - Convert from raw value with unit to - - - - - - - - Convert from raw value with base unit to - - - - - - - 1. Convert Raw Value to ; - 2. Judge value by [, ] - - - - - - - - Compare value with range , and - - - - - - - Compare value with range , and - - - - - - - Binning Offset Info - - - - - - - - - - Test No - - - - - TestSuite - - - - - IsCompensate - - - - - Unit - - - - - GetOffsetValue - - - - - - - PTR - - - - - FTR - - - - - Indicate that test result is invalid and would not bin (Datalogger only) - - - - - range judge result - - - - - Pass - - - - - Fail: Measured value lower than low limit - - - - - Fail: Measured value higher than high limit - - - - - Fail: Measured value equals low limit - - - - - Fail: Measured value equals high limit - - - - - Binning limit range flags - - - - - [low, high] - - - - - (low, high] - - - - - [low, high) - - - - - (low, high) - - - - - PPMU 输入输出管脚 - - - - - DPS电源管脚 - - - - - Source 高速 - - - - - Source 高精度 - - - - - Capture 高速 - - - - - Capture 高精度 - - - - - UT 通道 - - - - - 所属 Site no - - - - - 所属 Slot no - - - - - Pin NP 类型 - - - - - 所属 Site 信息 - - - - - 所属 Slot 信息 - - - - - 回读的通道结果 - - - - - 回读的通道平均值结果 - - - - - 回读的通道最大值结果 - - - - - 回读的通道最小值结果 - - - - - 回读单位 - - - - - true表示测量管脚,false表示不是测量管脚 - - - - - 是否是 Share Pin - - - - - 默认 - - - - - 同步时钟盒 - - - - - Need null check - - - - - unit:(ns) - - - - - unit:(ns) - - - - - measure average - - - - - measure max - - - - - measure min - - - - - no judge - - - - - judge average - - - - - judge max - - - - - judge min - - - - - normal - - - - - Build in group, Include all Supply (Power) signal - - - - - Build in group, Include all IO signal - - - - - Build in group, Include IO + Supply (Power) - - - - - Union 's Signals and , Distinct by - - - - - Get by signal name - - - - - - - 当前site状态,true表示Pass, false表示Fail - - - - - 最终site状态,true表示Pass, false表示Fail - - - - - site IsMarked状态,true表示屏蔽, false表示不屏蔽 - - - - - 存放程序中定义的常量 - - - - - windows绝对路径长度 - - - - - Repeat 28个bit(位宽) - - - - - repeat max '268435455' - - - - - CPLD 8个bit(位宽) - - - - - CPLD max '255' - - - - - CPLD+REPEAT 'F FFFF FFFF' - - - - - 一片K7最大通道为64 - - - - - slot最大数量为16 - - - - - 最大电源管脚通道 - - - - - PPMU指令支持的最大通道数 - - - - - RAM支持的最大pattern的总行数 - - - - - 子pattern标识 - - - - - Read Memory Log最多读8192行 - - - - - RAM回读行内容为一行32个bytes - - - - - memory start index - - - - - k7 start index - - - - - Education k7 count - - - - - FRC period > 7.5 ns - - - - - - div_count > 2 - - - - - - clear all error memory default delay 10 ms - - - - - DCLevelInfo - - For example: - - string dCLevelName = "dCLevelName"; - //方法一:克隆DCLevelInfo对象,克隆后为新对象,设置参数不影响原本DCLevelInfo对象参数 - DCLevelInfo dCLevelInfo = PATTERN.DCLevel.Clone(dCLevelName); - //方法二:通过Name获取DCLevelInfo,修改参数会影响原本DCLevelInfo对象参数 - DCLevelInfo dCLevelInfo = context.FlowCatalog.GetByName<DCLevelInfo>(dCLevelName); - //方法三:通过new创建一个全新的DCLevelInfo对象,所有参数均为默认参数 - DCLevelInfo dCLevelInfo = new DCLevelInfo(); - - - - - - - Updates each numeric element with its absolute numeric value - - - - - Calls Math.Round on each value in a column - - - - - Returns the maximum of the values in the column - - - - - Returns the minimum of the values in the column - - - - - Returns the mean of the values in the column. Throws if this is not a numeric column - - - - - Returns the median of the values in the column. Throws if this is not a numeric column - - - - - Returns the product of the values in the column - - - - - Returns the sum of the values in the column - - - - - Return all values - - - - - - Applies a value to all the values - - The value to apply - return applied instance - - - - Applies a function to all the values - - The function to apply - return applied instance - - - - Returns a new column filtered by function - - The function to filter - - - - Returns a new column filtered by the lower and upper bounds - - The minimum value in the resulting column - The maximum value in the resulting column - - - - Clamps values beyond the specified thresholds - - Minimum value. All values below this threshold will be set to it - Maximum value. All values above this threshold will be set to it - - - - TBR - - - - - - - TBR - - - - - - The base column type. All APIs should be defined here first - - - - - The length of this column - - - - - The name of this column. - - - - - The type of data this column holds. - - - - - The base constructor. - - The name of this column. - The length of this column. - The type of data this column holds. - - - - Returns an enumerator that iterates this column. - - - - - A DataFrameColumnCollection is just a container that holds a number of DataFrameColumn instances. - - - - - An indexer based on - - The name of a - A if it exists. - Throws if is not present in this - - - - Searches for a with the specified and returns the zero-based index of the first occurrence if found. Returns -1 otherwise - - - - - - Returns the columns contained in the as a - - - - - Applies a value to all Columns's values - - The value to apply - return applied instance - - - - Applies a function to all Columns's values - - The function to apply - return applied instance - - - - DpsInfo - - For example: - - string dpsName = "dpsName"; - //方法一:克隆DpsInfo对象,克隆后为新对象,设置参数不影响原本DpsInfo对象参数 - DpsInfo dpsInfo = DPS.Clone(dpsName); - //方法二:通过Name获取DpsInfo,修改参数会影响原本DpsInfo对象参数 - DpsInfo dpsInfo = context.FlowCatalog.GetByName<DpsInfo>(dpsName); - //方法三:通过new创建一个全新的DpsInfo对象,所有参数均为默认参数 - DpsInfo dpsInfo = new DpsInfo(); - - - - - - - Dps info name - - - - - DPS mode: FVMI/FVMV/FIMV/FZMI/FZMV - - - - - Force value: ForceRange[-8,13], default unit V for voltage and A for current - - - - - Current range: _5uA/_20uA/_200uA/_2mA/_60mA/_1A - - - - - Voltage range: HighPrecision/Normal - - - - - force unit,default unit V for voltage and A for current,unit:"V"/"mV"/"uV"/"A"/"mA"/"uA" - - - - - DPS Force Mode - - - - - forced voltage/measure current (all pins) - - - - - forced voltage/measure voltage (all pins) - - - - - forced current/measure voltage (all pins) - - - - - forced voltage/measure current - - - - - forced voltage/measure voltage - - - - - forced current/measure voltage - - - - - force high resistance/measure current - - - - - force high resistance/measure voltage - - - - - DPS current range - - - - - 5uA Range(Power limitation Range):when force current,force current actual range=[-5,5]uA. - - - - - 20uA Range(Power limitation Range):when force current,force current actual range=[-20,20]uA. - - - - - 200uA Range(Power limitation Range):when force current,force current actual range=[-200,200]uA. - - - - - 2mA Range(Power limitation Range):when force current,force current actual range=[-2,2]mA. - - - - - 60mA Range(Power limitation Range):when force current,force current actual range=[-60,60]mA. - - - - - 1A Range(Power limitation Range):when force current,force current actual range=[-1,1]A. - - - - - DPSRelay状态 - - - - - 切到OPEN状态 - - - - - EXT状态 - - - - - INT状态 - - - - - MARK状态 - - - - - 60MA状态 - - - - - Gain range: MEASOUT Gain = 2550/10.2 - - - - - 切全部通道的LoadBoard Relay - - - - - 断开全部通道的LoadBoard Relay - - - - - 切部分通道的LoadBoard Relay - - - - - 除了选择的部分通道,其他的LoadBoard Relay通道全部断开 - - - - - shmoo - - - - - PinMargin - - - - - VMinVMax - - - - - Voltage range - - - - - High Precision range: MEASOUT Gain = 1 - - - - - Normal range: MEASOUT Gain = 0.2 - - - - - Expressionable<T> - - - - - - Raw data, Expression or just EvaluatedValue.ToString() - - - - - Evaluate value, If IsEvaluated = false, throw - - - - - Indicates whether two EvaluatedValue is available. - - - - - Indicates whether Value is Expression - - - - - Initialize with TValue - - - - - - Initialize with TValue and raw data - - - - - - - Initialize with raw data - - - - - - Update EvaluatedValue and IsEvaluated - - - - - - implement - - - - - - Just return Value - - - - - - override Equals(object obj) - - - - - - - Hash - - - - - - Compare Value, EvaluatedValue, IsEvaluated - - - - - - - EvaluatedValue CompareTo - - - - - - - Converts a Expressionable to a TValue - - - - - - Creates a new Expressionable from an TValue - - - - - - !Equals(x, y); - - - - - - - - Equals(x, y); - - - - - - - - Check is NaN or not - - - - - - - Check instance is NaN or not - - - - - - - [Performance issue] Convert string to Expressionable<T> - - - - - - - - - Convert string to Expressionable<double>> - - - - - - - - Convert string to Expressionable<int>> - - - - - - - - Convert string to Expressionable<int>> - - - - - - - - Convert string to Expressionable<float> - - - - - - - - Check are expression or already evaluated - - - - - - - - [Performance issue] Evaluate - - - - - - - - - [Performance issue] Evaluate - - - - - - - - - Check text are expression or variable reference - - - - - - - Try extract expression from text - - - - - - - - - Evaluate all FlowCatalog - - - - - - Performance issue - - - - - - - - Runtime call - - - - - Get by - - - - - - - Get by - - - - - - - Get by - - - - - - - Get by - - - - - - - TBR - - - - - - 是否存在pin或者pingroup - - - - - - - - Add item to list, check by Guid - - - - - - - - - Add or update by Guid - - - - - - - - Update list, Clear existing items, Then add range - - - - - - - - Get all list - - - - - - - Get all IEnumerable{T} - - - - - - - Get item by Name - - - - - - - - - Get item by Guid - - - - - - - - Determines whether the specified item exists, check by Name - - - - - - - - Delete item by Guid - - - - The number removed - - - - - Delete item by Name - - - - The number removed - - - - - Clear T items - - - - - Clear all items - - - - - 获取已经选择的Tcp编号 - - - - - - - - - Check text is null or space, Or equals "NULL" - - - - - - - Update - - - - - - GetBinningOffsetInfo - - - - - - - - STIL file full path, Type: - - - - - Working folder: The folder path of STIL, Type: - - - - - Saving folder: The folder path of STIL to save, Type: - - - - - variable key-value map, Type: Dictionary<string, decimal> - - - - - testrong code instance TESTRONG_CODE_INSTANCE_{slot no}_{guid}, Type: - - - - - latest site test result(Bin and P/F), list of - - - - - Type: - - - - - datalog output folder - - - - - - - - - - 85寄存器多沿配置IDELAYTOTAPE - - - - - 基于K7来说:K7采样的输入 delay 4/8 (driver off) - - - - - 16片onor - - - - - 一片onor的block有65536个bytes - - - - - 一片onor的sector有4096个bytes - - - - - 一片onor的page有256bytes - - - - - 一个block包含16个sector - - - - - 一个sector含16个page - - - - - pattern编译后2048行为一个sector - - - - - pattern编译后128行为一个page - - - - - PAT download ONOR sector的首地址 - - - - - check ONOR bytes - - - - - 是否打印ram信息 - - - - - 是否检查onor的擦除 - - - - - 是否检查pattern下载 - - - - - 擦除一个block delay 1000ms - - - - - read fast ff delay 10ms - - - - - loading check busy 1ms - - - - - read ONOR id delay 200ms - - - - - loading 一个page后 delay 1ms - - - - - 每几个sector一检查(有效值1和2) - - - - - 擦除onor的所有block delay 300s(300 000 ms) - - - - - LA每次抓取memory的深度 - - - - - K7最大数量,默认值4 - - - - - Pattern crc delay - - - - - Testrong Code path - - - - - Flow每个包的最大指令条数 - - - - - 总的Flow指令最大条数 - - - - - 每次Loop flow之间的Delay时间,单位:ms - - - - - 每次Loop前是否GC - - - - - 是否统计Flow执行信息 - - - - - 是否统计Flow item 执行时间 - - - - - 是否检查 Firmware 兼容性 - - - - - Sleep/SpinWait/Mix - - - - - 是否输出DataLog - - - - - 每个slot的site全fail了,flow结束测试,true结束,false不结束 - - - - - 是否把relay切到Oppen,true切到oppen,false不切 - - - - - 是否可以 share pin - - - - - issueid=0005144 - - - - - site 跨版(slot资源复用) - - - - - DPS Force 切DPS Relay Delay时间,Unit=(us) - - - - - true,退出DebugTool/Shmoo后恢复进入前的DCLevel/DPS配置,false 不做恢复 - - - - - Offline/Tcp/UDP - - - - - 是否统计通信信息 - - - - - - True:重连后继续发送下一个包 - - False: 重连后重新发送没有收到回复的包 - - - - - 同时启动两/四片K7 - START_TWO_PIECES_K7 = 4: K71 and K72 - START_FOUR_PIECES_K7 = 8: K71 and K72 and K73 and K74 - - - - - - 扩展 configuration map - - - - - 将所有配置项重置为默认值 - - - - - 更新配置项 - - 配置项名称 - 配置项值 - - - - Get by configuration name - - - - - - - Set by configuration name - - - - - - - 获取所有配置项 Name->Value 字典 - - - - - - Engineer and Production - - - - - Engineer - - - - - Production - - - - - Function definition: Func[RawParameters] - - - - - Function name without parameters - - - - - Raw Parameters, Extract from , Only use for STIL persistence - - - - - Runtime Parameters, Sync from RawParameters when flow run prepare - - - - - Ancestors and self all unmarked (IsMarked == false) - - - - - Pre-order traversal - - - - - - - Pre-order traversal - - - - - - Get parameter value by Name, Parameter's name definition in class - - parameter type - parameter name, Definition in class - - - - - Set parameter value by name, Parameter's name definition in class - - parameter type - parameter name, Definition in class - parameter value - - - - - - - - - - - - - - - - via - - - - - - - - - - - - - - - Pin Name list, via - - - - - - - - - - via - - - - - via - - - - - - - - - - - - - - - - - - - - - - - - - via - - - - - - - - - - - - - - - via - - - - - - - - - - - - - - - - - - - - via - - - - - via - - - - - Support Types: , , , , , - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - via - - - - - - - - - - - - - - - - - - - via , Range: [0, 268435455] - - - - - via , Range: [0, ~] - - - - - via - - - - - via - - - - - - - - - - - - - - - - - - - - - - - - - via - - - - - - - - - - via - - - - - via - - - - - - - - - - via - - - - - via - - - - - - - - - - - - - - - via - - - - - - - - - - - - - - - via - - - - - - - - - - - - - - - via - - - - - via - - - - - - - - - - - - - - - via - - - - - via - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Init:default - Changed:修改后 - - - - - FPGAChannelMap基础类 - - - - - 数据在类与类之间转换,除ConText状态之外 - - ACTimingInfo 类 - - - - UI Period - - - - - UI Channel 下的Site - - - - - UI Fmt - - - - - UI Driver On - - - - - UI Driver Data - - - - - UI Driver Return - - - - - UI Driver Off - - - - - UI Compare Mode - - - - - UI Open - - - - - UI Close - - - - - 数据进来的改变状态 - - - - - 数据交换处理 - - 传入的 Site - ACTimingInfo 类 - - - - - 默认128个通道 FPGAChannelMap进入前会定义多少个通道 - - - - - - - - - - 返回全部通道数据 - - ACTimingInfo 类 - 连接板子序列号 - - 返回全部通道数据 - - - - 每位频点进1 - - - - - - - http://ds918plus:30000/ate/soc/application/PM/-/wikis/ATE/ATE-%E8%BD%AF%E4%BB%B6%E9%85%8D%E7%BD%AE%E8%AF%B4%E6%98%8E - - - - - Origin_TTR: FW v1.1.2.1_11_06 - - - - - K7_Sync: FW v1.1.2.1_13_11 - - - - - K7_Sync_V2 : FW v1.1.1.2.1_15_00 - - - - - Education : FW v1.1.1.2.1_15_00 - - - - - V1.2.1.2.1_11_x - - - - - K7_Sync_V3 : FW v1.1.1.2.1_15_xx - - - - - V1.2.1.2.1_11_05(基于mars2k dps v2版本,再读取固件PN码进行版本组合) - - - - - - laohua - - - - - 基于FW v1.1.1.2.1_15_33B 修改 - - - - - Burn in test - - - - - 不支持VT - - - - - FrequencyXml version - - - - - 不支持 Mix Signal - - - - - Get by - - - - - - - Get by and pin Name - - - - - - - - Get by - - - - - - - Count by - - - - - - - Model validator - - - - - Get all list - - - - - - - Get item by Name - - - - return null if not exist - - - - - Get item by Guid - - - - return null if not exist - - - - Determines whether the specified item exists. - - - - true if exist - - - - Get variable value by name - - - - - - - channel query - - - - - Get by signal name,site number slot number - - - - - - return null if not find - - - - Get by slot number - - - - - - - Get list by channel numbers, slot number - - - - - List of , Order By - - - - Get list by channel numbers, slot number - - - - - - List of , Order By - - - - Get list by type, slot number - - - - - List of , Order By - - - - 根据脚名查找通道 - - slot编号 - 脚名数组 - true表示包含Mard site, false表示表示不包含Mard site - List of , Order By - - - - 根据脚名查找通道 - - - - - - - - - - Get by number - - - Throw exception if not exist - - - - Get by slot and site number - - - - - - - - Get by channel number, type, slot number, Ignore marked site's channels - - - - - true表示包含Mark的site, false表示不包含Mark的site - - return the fist match , throw if not exist - - - - Get slot's all list - - - site IsMarked状态,true表示屏蔽, false表示不屏蔽 - List of , Order By - - - - Get max site - - max site number - - - - Get LoadBoardInfos - - - - - - - Flow Configuration, Read from STIL header - - - - - 硬件版本 - - - - - 下载后readid8线是否check - - - - - 预设指令的分包数量,单条支持的最大pattern数量 - - - - - 是否支持二级分频, Default: false - - - - - 是否支持 trim code[Update,Refresh]接口, Default: false - - - - - 基于K7来说:K7采样的输入 delay 4/8 (driver off), Default: 16/32 - - - - - 16片 onor, Default: 16 - - - - - 一个 block 包含16个 sector, Default: 16 - - - - - 一个 sector 含16个 page, Default: 16 - - - - - 一片 onor 的 block 有65536个 bytes, Default: 65535 - - - - - 一片 onor 的 page有 256 bytes, Default: 256 - - - - - pattern编译后128行为一个 page, Default: 128 - - - - - 一片 onor 的 sector 有4096个 bytes, Default: 4096 - - - - - pattern 编译后2048行为一个 sector, Default: 2048 - - - - - PAT download ONOR sector 的首地址, Default: 0 - - - - - check ONOR bytes, Default: 'C2 80 3B C2 ,C2 80 3C C2 ' - - - - - 是否打印ram信息, Default: false - - - - - 是否检查onor的擦除, Default: true - - - - - 是否检查pattern下载, Default: false - - - - - loading 一个page后 delay 1ms, Default: 1 - - - - - read ONOR id delay 200ms - - - - - 擦除onor的所有block delay 300s(300 000 ms), Default: 300000 - - - - - 擦除一个block delay 1000ms, Default: 1000 - - - - - read fast ff delay 10ms, Default: 10 - - - - - loading check busy 1ms, Default: 1 - - - - - 每几个sector一检查(有效值1和2), Default: 1 - - - - - LA每次抓取memory的深度, Default: 54 - - - - - K7最大数量,Default: 4 - - - - - Pattern check busy timeout(ms),Default: 2000 - - - - - Check crc delay time(ms), Default: 0 - - - - - Change Pattern cap, Default: true - - - - - Default: True - - - - - Default: 1000000 - - - - - Default: false - - - - - Default: false - - - - - Default: True - - - - - Testrong Code path - - - - - Default: offset.csv - - - - - Default: WaveDefinitionTestDemo.txt - - - - - Flow每个包的最大指令条数, Default: 500 - - - - - 总的Flow指令最大条数, Default: 5000 - - - - - 每次Loop flow之间的Delay时间,单位:ms, Default: 0 - - - - - 是否统计Flow执行信息, Default: false - - - - - 是否统计Flow item 执行时间, Default: false - - - - - 是否检查 Firmware 兼容性, Default: true - - - - - Sleep/SpinWait/Mix, Default: Mix - - - - - 是否输出DataLog, Default: true - - - - - 写 STDF 文件策略,Orderly/Orderly2/Streaming, Default: Orderly - - - - - 是否输出 Csv DataLog, Default: true - - - - - Csv pass 时输出字符,Default: PASS - - - - - Csv pass 时输出字符,Default: FAIL - - - - - 每个slot的site全fail了,flow是否立即结束测试,Default: false - - - - - 是否把relay切到 Open, Default: true - - - - - 是否可以 share pin, Default: false - - - - - Default: 400 - - - - - Default: 400 - - - - - Default: 1 - - - - - Default: 1 - - - - - Default: true - - - - - Default: 10K - - - - - Default: 40 - - - - - Default: true - - - - - Default: false - - - - - Default: [-8,13] - - - - - Default: [-8,13] - - - - - Default: [0,5] - - - - - Default: [10,16000000] - - - - - Default: [0,4] - - - - - [-1.12,1.12] - - - - - [-0.000224999,0.000224995] - - - - - [-0.0000225,0.000022499] - - - - - [-0.00225,0.00225] - - - - - [-0.000005625,0.000005625] - - - - - [-0.112499,0.112497] - - - - - [-11.25,11.25] - - - - - [-0.875,1.37] - - - - - [-0.000175,0.000274993] - - - - - [-0.0000175,0.000027499] - - - - - [-0.00175,0.00275] - - - - - [-0.000004375,0.000006875] - - - - - [-0.0875,0.137497] - - - - - [-8.75,13.75] - - - - - Socket protocal, Default: TCP - - - - - SocketProtocol == TCP - - - - - TCP crc resend count, Default: 6 - - - - - 是否统计通信信息, Default: false - - - - - TCP timeout recount count, Default: 5 - - - - - TCP timeout reconnect delay(ms), Default: 500 - - - - - TCP timeout retry count, Default: 5 - - - - - - True:重连后继续发送下一个包 - - False: 重连后重新发送没有收到回复的包 - - Default: false - - - - - UDP check crc, Default: true - - - - - Local ip, Default: 0.0.0.0 - - - - - local port, Default: 0 - - - - - site 跨版(slot资源复用), Default: false - - - - - ACTiming format 支持4种模式, Default: false - - - - - 固件15版本以后兼容,和 pattern 版本 K7_Sync_V2 绑定, Default: 1 - - - - - 固件15版本以后兼容,和 pattern 版本 K7_Sync_V2 绑定, Default: 1 - - - - - DPS Force 切DPS Relay Delay时间,Unit=(us), Default: 3000 - - - - - 85寄存器多沿配置IDELAYTOTAPE - - - - - true,退出DebugTool/Shmoo后恢复进入前的DCLevel/DPS配置,false 不做恢复 - - - - - Analog AnalogAnalyzer FindPeaks config - - - - - True:补偿内阻,false:不补偿 - - - - - Detect entities by variable name - - - - - Find entity who reference specify variable name, Support types: - - - - - - - - - - - - - - 初始化loadBoard状态 - - - - - Turn on specified UT - - - - - Turn off specified UT - - - - - DAC滤波器挡位 - - - - - ADC采样模式 - - - - - 耦合模式 - - - - - DAC滤波器挡位 - - - - - 方向 - - - - - open - - - - - 单端+ - - - - - 单端- - - - - - 差分 - - - - - 性能模式 - - - - - 选择波形类型,Sin:正弦波;Square:方波;Ramp:斜波 - - - - - Rom波形频率单位 - - - - - 开始或者停止状态 - - - - - 采样深度单位 - - - - - 采样模式 - - - - - 采样单位 - - - - - Trigger模式 - - - - - 电压单位 - - - - - 波形类型 - - - - - 选择数据来源,Sin:正弦波;Square:方波;Ramp:斜波 - - - - - SiteNumber - - - - - key:cycle value:'0' / '1' - - - - - Load page count - - - - - 所有 pattern 的 page 数量 - - - - - Pattern file path - - - - - 在编译时生成相对路径 - - - - - - True: dynamic pattern - - - - - 方向表跳变时从driver跳变到x提前一拍,从x跳变到driver滞后一拍 - - - - - 设置pattern运行时状态已编译 - - Slot Number - - - - 设置pattern运行时状态未编译 - - Slot Number - - - - Pattern file path - - - - - True: dynamic pattern - - - - - 下位机cycle - - - - - 展开后的行数 - - - - - Pattern名称 - - - - - 编译时间 - - - - - Pattern深度(Nor会补充) - - - - - Hash值 - - - - - Pattern名称 - - - - - 编译时间 - - - - - 下载时间 - - - - - 下位机总表索引 - - - - - 起始地址 - - - - - Pattern深度(Nor会补充) - - - - - Hash值 - - - - - Pattern文件校验规则 - - - - - patternjson文件校验规则 - - - - - patternjson文件校验规则,去除尾部 - - - - - Pattern名称 - - - - - ReadErrorMsg对象根据ErrorCycle进行升序 - - - - - - - pattern file line number - - - - - Errorline 对应的 ErrorCycle - - - - - channelNo - - - - - 获取错误信息打印文本 - - - - - - This class represents the result of a single pattern execution - - - - - This property gets or sets pattern name. - - - - - This property gets or sets an array of site that passed the pattern execution. - - - - - This property gets or sets an array of site that failed the pattern execution. - - - - - This property gets or sets the number of cycles executed in the pattern execution. - - - - - This property gets or sets if the overall pattern execution is passed, any failling of site will cause this property to be false. - - - - - key:K7 - value:error cycle count - - - - - This property gets or sets ReadErrorMsgs object, containing detailed failing information such as failed pins, failed cycle numbers. - - - - - binning obj - - - - - patName_K7Type_tcpNumber - - - - - ram的起始地址 - - - - - pat编译后的深度(没补) - - - - - pat所有脚名 - - - - - ramPattern编译后的内容,对应的原文本的行号 - - - - - 0E0E0101000000040040FFFFFFFF0001000000500041 - - - - - cpld向上平移一拍后的 - key:pat文本行号(未编译) value:0_0_0_0000_000000005_0004000000000000_0004000000000000_0004000000040000 - - - - - key:pat文本行号(未编译) value:dicPatHead+dicPatCompX+dicPatComp+dicPatDriver - 这个dic是不去修改的,方便提前download到ram - - - - - 0E0E05010000001B0100FFFFFFFF - - - - - 0_0_0_0000_000000005 - - - - - 0004000000000000 - - - - - 0004000000000000 - - - - - 0004000000040000 - - - - - key:行号,value:cycle - - - - - 4+4+4+16+36 - - 0_4_0_0000_010000005 - - - - - patName_K7Type_tcpNumber - - - - - pat所有脚名 - - - - - cpld向上平移一拍后的 - key:pat文本行号(未编译) value:0_0_0_0000_000000005_0004000000000000_0004000000000000_0004000000040000 - - - - - key:pat文本行号(未编译) value:dicPatHead+dicPatCompX+dicPatComp+dicPatDriver - 这个dic是不去修改的,方便提前download到ram - - - - - 0E0E05010000001B0100FFFFFFFF - - - - - 0_0_0_0000_000000005 - - - - - 0004000000000000 - - - - - 0004000000000000 - - - - - 0004000000040000 - - - - - 更新patterninfo里的信息 - - 具体info实例 - Slot Number - - - - 保存patterninfo信息 - - 文件路径 - - - - 载入patterninfo信息 - - Slot Number - 文件路径 - - - - 获取info信息 - - pattern名称 - Slot Number - - - - - 反序列化为json - - 泛型类型 - 具体路径 - 文件名 - 类型对象 - - - - 载入json - - 具体泛型类型 - 文件路径 - 文件名称 - - - - - 更新patterninfo里的信息 - - 具体info实例 - Slot Number - - - - 保存patterninfo信息 - - 文件路径 - - - - 载入patterninfo信息 - - Slot Number - 文件路径 - - - - 获取info信息 - - pattern名称 - Slot Number - - - - - 反序列化为json - - 泛型类型 - 具体路径 - 文件名 - 类型对象 - - - - 载入json - - 具体泛型类型 - 文件路径 - 文件名称 - - - - - 更新patterninfo里的信息 - - 具体info实例 - Slot Number - - - - 保存patterninfo信息 - - 文件路径 - - - - 载入patterninfo信息 - - Slot Number - 文件路径 - - - - 获取info信息 - - pattern名称 - Slot Number - - - - - 反序列化为json - - 泛型类型 - 具体路径 - 文件名 - 类型对象 - - - - 载入json - - 具体泛型类型 - 文件路径 - 文件名称 - - - - - 更新patterninfo里的信息 - - 具体info实例 - Slot Number - - - - 保存patterninfo信息 - - 文件路径 - - - - 载入patterninfo信息 - - Slot Number - 文件路径 - - - - 获取info信息 - - pattern名称 - Slot Number - - - - - 反序列化为json - - 泛型类型 - 具体路径 - 文件名 - 类型对象 - - - - 载入json - - 具体泛型类型 - 文件路径 - 文件名称 - - - - - 更新patterninfo里的信息 - - 具体info实例 - Slot Number - - - - 保存patterninfo信息 - - 文件路径 - - - - 载入patterninfo信息 - - Slot Number - 文件路径 - - - - 获取info信息 - - pattern名称 - Slot Number - - - - - 反序列化为json - - 泛型类型 - 具体路径 - 文件名 - 类型对象 - - - - 反序列化为json - - 泛型类型 - 具体路径 - 文件名 - 字节数组 - - - - 反序列化为json - - 泛型类型 - 具体路径 - 文件名 - 类型对象 - - - - 载入json - - 具体泛型类型 - 文件路径 - 文件名称 - - - - - 反序列化为json - - 泛型类型 - 具体路径 - 文件名 - 类型对象 - - - - PpmuInfo - - For example: - - string ppmuName = "ppmuName"; - //方法一:克隆PpmuInfo对象,克隆后为新对象,设置参数不影响原本PpmuInfo对象参数 - PpmuInfo ppmuInfo = PPMU.Clone(ppmuName); - //方法二:通过Name获取PpmuInfo,修改参数会影响原本PpmuInfo对象参数 - PpmuInfo ppmuInfo = context.FlowCatalog.GetByName<PpmuInfo>(ppmuName); - //方法三:通过new创建一个全新的PpmuInfo对象,所有参数均为默认参数 - PpmuInfo ppmuInfo = new PpmuInfo(); - - - - - - - PpmuInfo name - - - - - mode: FIMV/FVMI/FVMV/FZMV/FZMI - - - - - Force value: ForceRange[-8,13], default unit V for voltage and A for current - - - - - current range: _5uA/_20uA/_200uA/_2mA/_60mA - - - - - voltage range: HighPrecision/Normal - - - - - force unit,default unit V for voltage and A for current,unit:"V"/"mV"/"uV"/"A"/"mA"/"uA" - - - - - PPMU Force Mode - - - - - forced current/measure voltage (all pins) - - - - - forced voltage/measure current (all pins) - - - - - forced voltage/measure voltage (all pins) - - - - - forced current/measure voltage - - - - - forced voltage/measure current - - - - - forced voltage/measure voltage - - - - - force high resistance/measure voltage - - - - - force high resistance/measure current - - - - - PPMU current range - - - - - 5uA Range(Power limitation Range):when force current,force current actual range=[-5,5]uA. - - - - - 20uA Range(Power limitation Range):when force current,force current actual range=[-20,20]uA. - - - - - 200uA Range(Power limitation Range):when force current,force current actual range=[-200,200]uA. - - - - - 2mA Range(Power limitation Range):when force current,force current actual range=[-2,2]mA. - - - - - 60mA Range(Power limitation Range):when force current,force current actual range=[-60,60]mA. - - - - - sine wave - - - - - Square wave - - - - - Triangular wave - - - - - RelayInfo - - For example: - - string relayName = "relayName"; - //方法一:克隆RelayInfo对象,克隆后为新对象,设置参数不影响原本RelayInfo对象参数 - RelayInfo relayInfo = RELAY.Clone(relayName); - //方法二:通过Name获取RelayInfo,修改参数会影响原本RelayInfo对象参数 - RelayInfo relayInfo = context.FlowCatalog.GetByName<RelayInfo>(relayName); - //方法三:通过new创建一个全新的RelayInfo对象,所有参数均为默认参数 - RelayInfo relayInfo = new RelayInfo(); - - - - - - - Relay Mode - - - - - Relay Swicth to open - - - - - Relay Swicth to PPMU - - - - - Relay Swicth to DigitalCard(IO) - - - - - 变量名称 - - - - - 变量类型 - - - - - 系数起始值(Period:ns) - - - - - 系数结束值(Period:ns) - - - - - 变量步数 - - - - - 可调参数 - - - - - pins - - - - - 单元格间隔delay(ms) - - - - - Before executing a setup - - - - - Before performing a test at each point - - - - - After executing a setup - - - - - After performing a test at each point - - - - - siteNumber - - - - - 当Type为DPS_mv,则需要输入该参数,UI表中DPS的Name - - - - - 单元格间隔delay(ms) - - - - - X轴中心点 - - - - - Y轴中心点 - - - - - X轴变量名称 - - - - - X轴类型 - - - - - X轴初始值 - - - - - X轴系数起始值(Form必须小于To) - - - - - X轴系数结束值 - - - - - X轴步数(必须大于0) - - - - - XTyp除Period_ns,均需要输入该参数 - - - - - Y轴变量名称 - - - - - Y轴类型 - - - - - Y轴初始值 - - - - - Y轴系数起始值(Form必须小于To) - - - - - Y轴系数结束值 - - - - - Y轴步数(必须大于0) - - - - - YType除Period_ns,均需要输入该参数 - - - - - Before executing a setup - - - - - Before performing a test at each point - - - - - After executing a setup - - - - - - 校验 - - - - - 变量名称 - - - - - 变量类型 - - - - - 系数起始值(Form必须小于To) - - - - - 系数结束值 - - - - - 变量步数 - - - - - UI Dps表中的name - - - - - 第一个fail点位和上一个pass的点位的加减系数 - - - - - 再一次扫描的步数 - - - - - 单元格间隔delay(ms) - - - - - DicResult结果是否存在连续Pass区域 - - - - - Before executing a setup - - - - - Before performing a test at each point - - - - - After executing a setup - - - - - After performing a test at each point - - - - - 获取刷新vmin vmax的值 - - - - - Testrong code instance life time - - - - - Run Flow 之前创建 TestrongCode 实例,每个 Slot 一个实例 - - - - - 每次调用 Testrong Test Case 时创建 TestrongCode 实例 - - - - - VTInfo - - For example: - - string vtName = "vtName"; - //方法一:克隆VTInfo对象,克隆后为新对象,设置参数不影响原本VTInfo对象参数 - VTInfo vTInfo = PATTERN.DCLevel.VT.Clone(vtName); - //方法二:通过Name获取VTInfo,修改参数会影响原本VTInfo对象参数 - VTInfo vTInfo = context.FlowCatalog.GetByName<VTInfo>(vtName); - //方法三:通过new创建一个全新的VTInfo对象,所有参数均为默认参数 - VTInfo vTInfo = new VTInfo(); - - - - - - - V_Ref - - - - - R_Load - - - - - Name equals - - - - - Name equals - - - - diff --git a/Testrong.User.Program/bin/x64/Debug/Testrong.Core.Primitives.xml b/Testrong.User.Program/bin/x64/Debug/Testrong.Core.Primitives.xml deleted file mode 100644 index e1987d0..0000000 --- a/Testrong.User.Program/bin/x64/Debug/Testrong.Core.Primitives.xml +++ /dev/null @@ -1,7031 +0,0 @@ - - - - Testrong.Core.Primitives - - - - - Default/MQ - - - - - Testrong UI language, Default en-US - - - - - 程序启动,加载AppSettings配置,如果文件不存在,则更新内存配置到配置文件 - - - - - - 保存AppSettings配置 - - - - - - - Load AppSettings配置 - - - - - - debug tool 是否正在运行 - - - - - Debug tool 调用者 - - - - - initialize - - - - - - - 开始 DebugTool - - - - - 结束 DebugTool - - - - - 设置Flow中上一个DCLevel - - - - - 根据Key取Value值 - - - - - - - - - - - Nlog instance - - - - - - - - - - Pattern service - - - - - DPS Service - - - - - PPMU service - - - - - Relay service - - - - - MixSignal service - - - - - System service - - - - - Log Service - - - - - Judge Service - - - - - Load BoardRelay Service - - - - - Shmoo Service - - - - - SiteManager service - - - - - Dependency Inject - - - - - - Post STDF Ftr record - - - - true: Post success, false: Not Post(ignore by stop on fail) - - - - Post STDF Ftr record - - - - - - - true: Post success, false: Not Post(ignore by stop on fail) - - - - Post STDF ftr record - - - - - true: Post success site infos, false: Not Post(ignore by stop on fail) - - - - Post STDF PTR record - - - - - true: Post success, false: Not Post(ignore by stop on fail) - - - - Post STDF PTR record - - - - - - true: Post success, false: Not Post(ignore by stop on fail) - - - - Post STDF PTR record - - - - - true: Post success, false: Not Post(ignore by stop on fail) - - - - Post RawText log - - - - - - Post RawText log - - - - - - Post RawText log - - - - - - - 将测试结果打印到 RawText log - - - - - 将测试结果打印到 RawText log - - - - - 将测试结果打印到 RawText log - - - - - 将测试结果打印到 ReportText log - - - - - - 将测试结果打印到 CSV header - - - - - - 将测试结果打印到 Csv body - - - - - - - - 将测试结果打印到 Csv foot - - - - - - Suspends the current thread for the specified number of milliseconds. - - - - - - Suspends the current thread for the specified number of milliseconds. - - - - - - - Create FTR judge instance from parameters - - - - Sample: Group_01+A01-A06 - - - - - - Create PTR judge instance from parameters - - - - Sample: Group_01+A01-A06 - Min and Max - Range unit - - - - - - Lifetime of the project - - - - - Flow name to display in log - - - - - Author - - - - - Last update time - - - - - Program name - - - - - Brief description - - - - - - - - - - 声明Pattern数组 - - - - This interface accesses binning APIs. It allows to sort sites into speicified bin number. - - - - Get default pass soft bin map - - - - - - Get default error soft bin map - - - - - - This method gets BinningInfo object by test suite name. - One test suite name can correspond to multiple test limits by having different test numbers with different test names, pins and limits. This method gets the FIRST test limit in datalog setting table. - - - Suppose there are two limit settings: - Test Number | Test Suite | Test Name | ... | Pin Name | High Limit | Low Limit - 1001 | OS | OS_400mV | ... | A01,A02 | 300mV | 500mV - 1011 | OS | OS_500mV | ... | A03,A04 | 400mV | 600mV - The following code gets the limit from first row, returns the limit information as a BinningInfo object. - - BinningInfo binningInfo = context.BinHandler.GetBinningByTestSuite("OS"); - - Note that there is a equivalent API with same feature: - - BinningInfo binningInfo = context.FlowCatalog.BinningQuerier.Query("OS"); - - - Name of test suite, usually it is same with the test name, which can be found in GUI datalog setting table, "Test Suite" column. - BinningInfo object. Returned BinningInfo object provides methods and properties related to test limits, like high limits, low limits, test number, test names and so on. - - - - This method gets specified pin's BinningInfo object by test suite name. - One test suite name can correspond to multiple test limits by having different test numbers with different test names, pins and limits. This method gets the BinningInfo of test limit in datalog setting table who contains pin specified. - - - Suppose there are two limit settings: - Test Number | Test Suite | Test Name | ... | Pin Name | High Limit | Low Limit - 1001 | OS | OS_400mV | ... | A01,A02 | 300mV | 500mV - 1011 | OS | OS_500mV | ... | A03,A04 | 400mV | 600mV - The following code gets the limit from first row, returns the limit information as a BinningInfo object. - - BinningInfo binningInfo = context.BinHandler.GetBinningByTestSuiteAndSignal("OS","A01"); - - Note that there is a equivalent API with same feature: - - BinningInfo binningInfo = context.FlowCatalog.BinningQuerier.Query("OS"); - - The following code gets the limit from second row, returns the limit information as a BinningInfo object. - - BinningInfo binningInfo = context.BinHandler.GetBinningByTestSuiteAndSignal("OS","A03"); - - Note that there is a equivalent API with same feature: - - BinningInfo binningInfo = context.FlowCatalog.BinningQuerier.Query("OS","A03"); - - - String. Name of test suite, usually it is same with the test name, which can be found in GUI datalog setting table, "Test Suite" column. - String. Name of pin. - BinningInfo object. Returned BinningInfo object provides methods and properties related to test limits, like high limits, low limits, test number, test names and so on. - - - - This method sets bin number for the failing sites. - The bin can be either a pass bin or a fail bin, this can be used for the occasions where multiple pass bins are needed. - Once a site is sorted(no matter pass or fail) and got its bin number, it can not be overwritten. - - - In this example, a pattern is bursted(suppose this pattern has fails on site 1 and passes on site 2) and failing sites are binned out as FAIL. - - Result patResult = PATTERN.Burst("A01_Fail", new string[] { "A01" }, 1, true);//after burst, the test system recognizes that site 1 is failing, but doesn't perform bin sorting or set site 1 as failed. - context.Judger.UpdateSiteState(patResult.FailSites, null);//update site 1 as failed sites. In this example, patResult.FailSites here only contains site 1. - BinningInfo binningInfo = context.BinHandler.GetBinningByTestSuite("PATTERN_FAIL");//get binning, PATTERN_FAIL corresponds to fail bin. - context.BinHandler.Binning(binningInfo);//perform bin sorting and set site 1 as failed. - - In this example, a pattern is bursted(suppose this pattern has fails on site 1 and passes on site 2) and failing sites are binned out as FAIL, the code tries to perform bin sorting twice, but the second sorting has no effect. - - Result patResult = PATTERN.Burst("A01_Fail", new string[] { "A01" }, 1, true);//after burst, the test system recognizes that site 1 is failing, but doesn't perform bin sorting or set site 1 as failed. - context.Judger.UpdateSiteState(patResult.FailSites, null);//update site 1 as failed sites. In this example, patResult.FailSites here only contains site 1. - BinningInfo binningInfo = context.BinHandler.GetBinningByTestSuite("PATTERN_FAIL_BIN_8");//get binning, PATTERN_FAIL_BIN_8 corresponds to fail bin. - context.BinHandler.Binning(binningInfo);//perform bin sorting and set site 1 as failed. - binningInfo = context.BinHandler.GetBinningByTestSuite("PATTERN_FAIL_BIN_9");//get binning, PATTERN_FAIL_BIN_9 corresponds to fail bin. - context.BinHandler.Binning(binningInfo);//this binning takes no effect, since site 1 has been binned out using PATTERN_FAIL_BIN_8. - - In this example, a pattern is bursted(suppose this pattern has fails on site 1 and passes on site 2) and failing sites are binned out as PASS. - - Result patResult = PATTERN.Burst("A01_Fail", new string[] { "A01" }, 1, true);//after burst, the test system recognizes that site 1 is failing, but doesn't perform bin sorting or set site 1 as failed. - context.Judger.UpdateSiteState(null, patResult.FailSites);//update site 1 as pass sites. In this example, patResult.FailSites here only contains site 1. - BinningInfo binningInfo = context.BinHandler.GetBinningByTestSuite("PATTERN_PASS_BIN2");//get binning, PATTERN_PASS_BIN2 corresponds to pass bin. - context.BinHandler.Binning(binningInfo);//perform bin sorting and set site 1 as pass. - - In this example, a pattern is bursted(suppose this pattern has fails on site 1 and passes on site 2) and failing sites are binned out as PASS, the code tries to perform bin sorting twice, but the second sorting has no effect. - - Result patResult = PATTERN.Burst("A01_Fail", new string[] { "A01" }, 1, true);//after burst, the test system recognizes that site 1 is failing, but doesn't perform bin sorting or set site 1 as failed. - context.Judger.UpdateSiteState(null, patResult.FailSites);//update site 1 as pass sites. In this example, patResult.FailSites here only contains site 1. - BinningInfo binningInfo = context.BinHandler.GetBinningByTestSuite("PATTERN_PASS_BIN2");//get binning, PATTERN_PASS_BIN2 corresponds to pass bin. - context.BinHandler.Binning(binningInfo);//perform bin sorting and set site 1 as pass. - BinningInfo binningInfo = context.BinHandler.GetBinningByTestSuite("PATTERN_PASS_BIN10");//get binning, PATTERN_PASS_BIN10 corresponds to pass bin. - context.BinHandler.Binning(binningInfo);//this binning takes no effect, since site 1 has been binned out using PATTERN_PASS_BIN2. - - - BinningInfo object. - - - This method sets bin number for the specified sites. - Yhe bin can be either a pass bin or a fail bin, this can be used for the occasions where multiple pass bins are needed. - Once a site is sorted(no matter pass or fail) and got its bin number, it can not be overwritten. - - - In this example, site 1 and 2 are set as failed sites and got binned out as fail. - - BinningInfo binningInfo = context.BinHandler.GetBinningByTestSuite("PATTERN_FAIL"); - context.Judger.UpdateSiteState(new int[] { 1,2 }, null); - context.BinHandler.Binning(new int[] { 1,2 }, binningInfo); - - In this example, site 1 and 2 are set as failed sites and got binned out as fail, the code tries to perform bin sorting twice, but the second sorting has no effect. - - BinningInfo binningInfo = context.BinHandler.GetBinningByTestSuite("PATTERN_FAIL_BIN_8");//get binning, PATTERN_FAIL_BIN_8 corresponds to pass bin. - context.Judger.UpdateSiteState(new int[] { 1,2 }, null); - context.BinHandler.Binning(new int[] { 1,2 }, binningInfo); - binningInfo = context.BinHandler.GetBinningByTestSuite("PATTERN_FAIL_BIN_9");//get binning, PATTERN_FAIL_BIN_9 corresponds to pass bin. - context.BinHandler.Binning(new int[] { 1,2 }, binningInfo);//this binning takes no effect, since site 1, and has been binned out using PATTERN_FAIL_BIN_8. - - In this example, site 1 and 2 are set as pass sites and got binned out as pass. - - BinningInfo binningInfo = context.BinHandler.GetBinningByTestSuite("PATTERN_PASS");//get binning, PATTERN_PASS corresponds to pass bin. - context.Judger.UpdateSiteState(null, new int[] { 1,2 });//update site 1 and 2 as pass - context.BinHandler.Binning(new int[] { 1,2 }, binningInfo);//sort site 1 and 2 as pass - - In this example, site 1 and 2 are set as pass sites and got binned out as pass, the code tries to perform bin sorting twice, but the second sorting has no effect. - - BinningInfo binningInfo = context.BinHandler.GetBinningByTestSuite("PATTERN_PASS_BIN2");//get binning, PATTERN_PASS_BIN2 corresponds to pass bin. - context.Judger.UpdateSiteState(null, new int[] { 1,2 });//update site 1 and 2 as pass - context.BinHandler.Binning(new int[] { 1,2 }, binningInfo);//sort site 1 and 2 as pass - binningInfo = context.BinHandler.GetBinningByTestSuite("PATTERN_PASS_BIN4");//get binning, PATTERN_PASS_BIN4 corresponds to pass bin. - context.BinHandler.Binning(new int[] { 1,2 }, binningInfo);//this binning takes no effect, since site 1 and 2 has been binned out using PATTERN_PASS_BIN2. - - - Int array contains site numbers. - BinningInfo object. - - - This method sets bin number for the specified sites. - Yhe bin can be either a pass bin or a fail bin, this can be used for the occasions where multiple pass bins are needed. - Once a site is sorted(no matter pass or fail) and got its bin number, it can not be overwritten. - - - In this example, site 1 and 2 are set as failed sites and got binned out as fail. - - BinningInfo binningInfo = context.BinHandler.GetBinningByTestSuite("PATTERN_FAIL"); - context.Judger.UpdateSiteState(new int[] { 1,2 }, null); - context.BinHandler.Binning(new int[] { 1,2 }, binningInfo.TestNo); - - In this example, site 1 and 2 are set as failed sites and got binned out as fail, the code tries to perform bin sorting twice, but the second sorting has no effect. - - BinningInfo binningInfo = context.BinHandler.GetBinningByTestSuite("PATTERN_FAIL_BIN_8");//get binning, PATTERN_FAIL_BIN_8 corresponds to pass bin. - context.Judger.UpdateSiteState(new int[] { 1,2 }, null); - context.BinHandler.Binning(new int[] { 1,2 }, binningInfo.TestNo); - binningInfo = context.BinHandler.GetBinningByTestSuite("PATTERN_FAIL_BIN_9");//get binning, PATTERN_FAIL_BIN_9 corresponds to pass bin. - context.BinHandler.Binning(new int[] { 1,2 }, binningInfo.TestNo);//this binning takes no effect, since site 1, and has been binned out using PATTERN_FAIL_BIN_8. - - In this example, site 1 and 2 are set as pass sites and got binned out as pass. - - BinningInfo binningInfo = context.BinHandler.GetBinningByTestSuite("PATTERN_PASS");//get binning, PATTERN_PASS corresponds to pass bin. - context.Judger.UpdateSiteState(null, new int[] { 1,2 });//update site 1 and 2 as pass - context.BinHandler.Binning(new int[] { 1,2 }, binningInfo.TestNo);//sort site 1 and 2 as pass - - In this example, site 1 and 2 are set as pass sites and got binned out as pass, the code tries to perform bin sorting twice, but the second sorting has no effect. - - BinningInfo binningInfo = context.BinHandler.GetBinningByTestSuite("PATTERN_PASS_BIN2");//get binning, PATTERN_PASS_BIN2 corresponds to pass bin. - context.Judger.UpdateSiteState(null, new int[] { 1,2 });//update site 1 and 2 as pass - context.BinHandler.Binning(new int[] { 1,2 }, binningInfo.TestNo);//sort site 1 and 2 as pass - binningInfo = context.BinHandler.GetBinningByTestSuite("PATTERN_PASS_BIN4");//get binning, PATTERN_PASS_BIN4 corresponds to pass bin. - context.BinHandler.Binning(new int[] { 1,2 }, binningInfo.TestNo);//this binning takes no effect, since site 1 and 2 has been binned out using PATTERN_PASS_BIN2. - - - Int array contains site numbers. - Test number. - - - - - - - This method sets bin number for one specified site. Site is specifed in siteInfo. - - - - SoftBinMapInfo softBinMapInfo = context.FlowContext.PassSoftBin;//get default pass bin, usually it is bin1, but other default pass bins are supported too. - context.Judger.UpdateSiteState(null, new int[] { 1, 2 }); - context.BinHandler.Binning(new int[] { 1, 2 }, context.FlowContext.PassSoftBin); - - - SiteInfo object, contains the interested site's methods and properties. - SoftBinMapInfo object. - - - This method sets bin number for one specified site. Site is specifed in siteInfo. - - - - SoftBinMapInfo softBinMapInfo = context.FlowContext.PassSoftBin;//get default pass bin, usually it is bin1, but other default pass bins are supported too. - context.Judger.UpdateSiteState(null, new int[] { 1, 2 }); - context.BinHandler.Binning(new int[] { 1, 2 }, context.FlowContext.PassSoftBin); - - - Array of site numbers. - SoftBinMapInfo object. - - - This interface accesses slot, site and channel information. - - - Each slot corresponds to a physical instrument board, who has dedicated central processors working completely independent with other boards. - On each slot there can be several sites, or a sites can span multiple slots. - The C# code user write is compiled into DLL which is loaded onto each instrument board, this means that the code is running multithread on all slots. Each slot can run into different code trace(like if branches, switch branches) without messing up with other slots. - Every object gets in this interface is only corresponded to one specific slot. - - - - - This property gets SlotInfo object, which can access SlotInfo properties. - - - - SlotInfo slotInfo = context.SlotInfo; - - - SlotInfo objects. - - - - Parse pin or pin group expression. Support Pin or Pin group; Support operator plus(+) and minus(-). Sample: PinGroup1+P01-A03, - - - List of pin name - - - - This method gets all site info from the slot on which current code is running. Remember that the C# code is running multithread on all slots, this property only gets site info objects from on specific slot. - - True: get information of sites that are NOT selected at start of test program execution. - False: get information of sites that are selected at start of test program execution. - List of SiteInfo objects. - - - Get all site XY mapping - TKey: Site, TValue: Coordinate - - - - This method gets specified site info from the slot on which current code is running. Remember that the C# code is running multithread on all slots, this property only gets site info object from on specific slot. - - Site number - SiteInfo object - - - - This method gets specified site info from the slot on which current code is running. Remember that the C# code is running multithread on all slots, this property only gets site info object from on specific slot. - Channel number should be specified, the site info to get can be derived from channel number. - - Number of channel, the site info to get can be derived from channel number. - An enumerated constant of type AllSignalType, valid options are IO/Power/SRC_HS/SRC_HP/CAP_HS/CAP_HP. Note that DPS channel and IO channel could have same channel number, so AllSignalType is needed. - True: get site info even the site is marked(NOT selected at start of test program execution). - False: not get site info if the site is marked(NOT selected at start of test program execution), if specified channel is from a marked site, null is returned. - SiteInfo object. - - - - This method gets all channels info from the slot on which current code is running. Remember that the C# code is running multithread on all slots, this property only gets site info object from on specific slot. - - ChannelInfo list. - - - - This method gets specified channel info of specified site from the slot on which current code is running. Remember that the C# code is running multithread on all slots, this property only gets site info object from on specific slot. - - Site number. - Pin name. - True: get channel info if site is marked(NOT selected at start of test program execution), null is returned if site is not marked. - False: get channel info if site is NOT marked(NOT selected at start of test program execution), null is returned if site is marked. - ChannelInfo object. - - - - This method gets specified IO channel info from the slot on which current code is running. Remember that the C# code is running multithread on all slots, this property only gets site info object from on specific slot. - Note that DPS channel and IO channel could have same channel number, this method only gets IO channel info. - - IO channel number. - True: get channel info if site is marked(NOT selected at start of test program execution), null is returned if site is not marked. - False: get channel info if site is NOT marked(NOT selected at start of test program execution), null is returned if site is marked. - ChannelInfo object. - - - - This method gets specified channels info from the slot on which current code is running. Remember that the C# code is running multithread on all slots, this property only gets site info object from on specific slot. - Note that DPS channel and IO channel could have same channel number, this method may return DPS and IO channel info that share same channel number. - - IO channel number array, can be array and list. - True: get channel info if site is marked(NOT selected at start of test program execution), null is returned if site is not marked. - False: get channel info if site is NOT marked(NOT selected at start of test program execution), null is returned if site is marked. - ChannelInfo object list. - - - - This method gets specified channels of specified type from the slot on which current code is running. Remember that the C# code is running multithread on all slots, this property only gets site info object from on specific slot. - - IO channel number array, can be array and list. - An enumerated constant of type AllSignalType, valid options are IO/Power/SRC_HS/SRC_HP/CAP_HS/CAP_HP. Note that DPS channel and IO channel could have same channel number, so AllSignalType is needed. - True: get channel info if site is marked(NOT selected at start of test program execution), null is returned if site is not marked. - False: get channel info if site is NOT marked(NOT selected at start of test program execution), null is returned if site is marked. - ChannelInfo object list. - - - - This method gets all channels info of specified type from the slot on which current code is running. Remember that the C# code is running multithread on all slots, this property only gets site info object from on specific slot. - - An enumerated constant of type AllSignalType, valid options are IO/Power/SRC_HS/SRC_HP/CAP_HS/CAP_HP. - True: get channel info if site is marked(NOT selected at start of test program execution), null is returned if site is not marked. - False: get channel info if site is NOT marked(NOT selected at start of test program execution), null is returned if site is marked. - ChannelInfo object list. - - - - This method gets all channels info of specified pin name from the slot on which current code is running. Remember that the C# code is running multithread on all slots, this property only gets site info object from on specific slot. - - Pin name. - True: get channel info if site is marked(NOT selected at start of test program execution), null is returned if site is not marked. - False: get channel info if site is NOT marked(NOT selected at start of test program execution), null is returned if site is marked. - ChannelInfo object list. - - - - This method gets all channels info of specified pin names from the slot on which current code is running. Remember that the C# code is running multithread on all slots, this property only gets site info object from on specific slot. - - Pin name array, can be array or list. - True: get channel info if site is marked(NOT selected at start of test program execution), null is returned if site is not marked. - False: get channel info if site is NOT marked(NOT selected at start of test program execution), null is returned if site is marked. - ChannelInfo object list. - - - - This method gets all channels info of specified pin names from speicifed IO controller from the slot on which current code is running. Remember that the C# code is running multithread on all slots, this property only gets site info object from on specific slot. - - Pin name array, can be array or list. - An enumerated constant of type K7Type, valid options are U1/U2/U3/U4/START_TWO_PIECES_K7/START_FOUR_PIECES_K7. - True: get channel info if site is marked(NOT selected at start of test program execution), null is returned if site is not marked. - False: get channel info if site is NOT marked(NOT selected at start of test program execution), null is returned if site is marked. - ChannelInfo object list. - - - This method gets all programmed state of the DIB relays. Returned list's size is the total DIB relay channels supported on current slot. User can read the relay status(true = relay is on, false = relay is off). - LoadBoardInfo object list. - - - - Try attach missing parents: and - - - - - - This interface accesses methods to write data records into the STDF file stream. - - - - This method writes a Functional Test Record (FTR) to the STDF file. It doesn't perform bin sorting. - - - int siteNo = 1; - string PinName = "A01"; - BinningInfo binningInfo = context.FlowCatalog.BinningQuerier.Query("PATTERN_CODE");//get binning info by test name - context.Datalog.PostFTR(context.ChannelMapProvider.GetChannelInfo(siteNo, PinName), binningInfo,"myPattern",false,"myResult");//write FTR to stdf, but doesn't perform bin sorting. - context.Judger.UpdateSiteState(new int[] { siteNo },null);//Update site pass/fail status - context.BinHandler.Binning(new int[] { siteNo }, binningInfo);////for failed site, bin them out. Site 1 is sorted as fail. - - - ChannelInfo object. It should contain pin information corresponding to pins from pattern. - BinningInfo object. It should contain binning information. - String. Name of pattern - Bool. Result to write. - String. Additional description. - true: Post success, false: Not Post(ignore by stop on fail) - - - - This method writes a Functional Test Record (FTR) to the STDF file. It doesn't perform bin sorting. - - Site number, starting from 1 - BinningInfo object. It should contain binning information. - Bool. Result to write. - - - - - This method writes a Functional Test Record (FTR) to the STDF file. It doesn't perform bin sorting. - - - BinningInfo binningInfo = context.FlowCatalog.BinningQuerier.Query("PATTERN_CODE");//get binning info by test name - - Result patResult = PATTERN.Burst("A01_Fail", new string[] { "A01" }, 1,true);//run pattern - - context.Datalog.PostFTR(patResult, binningInfo); - context.Judger.UpdateSiteState(patResult.FailSites,null);//Update site pass/fail status - context.BinHandler.Binning(patResult.FailSites, binningInfo);////for failed site, bin them out. - - - Result object. - BinningInfo object. It should contain binning information. - true: Post success site infos, false: Not Post(ignore by stop on fail) - - - This method writes a Parametric Text Record (PTR) to the STDF file. It doesn't perform bin sorting. - - - int siteNo = 1; - BinningInfo binningInfo = context.FlowCatalog.BinningQuerier.Query("DPS_CODE");//get binning info by test name - context.Datalog.PostPTR(siteNo, binningInfo, 15);//print PTR using value 15, but doesn't perform bin sorting. - context.Judger.UpdateSiteState(new int[] { siteNo },null);//Update site pass/fail status - context.BinHandler.Binning(new int[] { siteNo }, binningInfo);////for failed site, bin them out. - - - Site number, starting from 1 - BinningInfo object. It should contain binning information. - Double. The value write to PTR. - true: Post success, false: Not Post(ignore by stop on fail) - - - - - RawText datalog interface - - - - - - 将 PTR 结果打印到 RawText log - - Site number, starting from 1 - BinningInfo object. It should contain binning information - Double. The value write to PTR. - - - This method prints functional results to the raw log file (Raw log file name usually starts with "FlowLog_Raw_"). It doesn't perform bin sorting. - - - BinningInfo binningInfo = context.FlowCatalog.BinningQuerier.Query("PATTERN_CODE");//get binning info by test name - - Result patResult = PATTERN.Burst("A01_Fail", new string[] { "A01" }, 1,true);//run pattern - - context.Datalog.PostRawTextFTR(patResult, binningInfo);//print functional results into raw log - - context.Judger.UpdateSiteState(patResult.FailSites,null);//Update site pass/fail status - context.BinHandler.Binning(patResult.FailSites, binningInfo);////for failed site, bin them out. - - - Result object. - - - - 将 FTR 结果打印到 RawText log - - - - - - - 将 FTR 结果打印到 RawText log - - - - - - - - - 将 FTR 结果打印到 RawText log - - - - - - - - - - ReportText datalog interface - - - - - This method prints text contents to the report log file (Report log file name usually starts with "FlowLog_Report"). It doesn't perform bin sorting. - - - BinningInfo binningInfo = context.FlowCatalog.BinningQuerier.Query("PATTERN_CODE");//get binning info by test name - - Result patResult = PATTERN.Burst("A01_Fail", new string[] { "A01" }, 1,true);//run pattern - - context.Datalog.PostReportTextFTR();//print functional results into report log - - context.Judger.UpdateSiteState(patResult.FailSites,null);//Update site pass/fail status - context.BinHandler.Binning(patResult.FailSites, binningInfo);//for failed site, bin them out. - - - - - - - Csv datalog interface - - - - This method writes text values into the beginning of csv log. To enable csv log output: GUI => Options => Application Setting => Check "STDF". - List of string. - - - This method writes text values into the body of csv log. To enable csv log output: GUI => Options => Application Setting => Check "STDF". - - This example print site's string value to csv body. - - var siteInfos = context.ChannelMapProvider.GetAllSiteInfos(); - var binningInfo = context.BinHandler.GetBinningByTestNo(40000u); - foreach (SiteInfo siteInfo in siteInfos) - { - PostCsvBody(siteInfo.No, binningInfo, $"Site: {siteInfo.No}, test value"); - } - - - - - - - - This method writes text values into the end of csv log. To enable csv log output: GUI => Options => Application Setting => Check "STDF". - List of string. - - - - Datalog post API - - - - - get datalog output folder path - - - - - - Post - - - - - - - - - - - - - - - - - This property gets FlowCatalog object, which can access FlowCatalog properties. - - - - - This property gets FlowConfiguration object, which can access FlowConfiguration properties. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - This property gets WaitHandler object, which can access WaitHandler properties. - - - - - - - - - - This property gets SoftBinMapInfo object, which can access SoftBinMapInfo properties. - - - - - Get flow current exec loop index - - - - - Get flow current enable word map - Key: Enable word name - Value: true/false, Enable word is using or not - - - - - This interface accesses IFlowRunnerContext. - - - By now, every test suite C# function must be explicitly declared like "public void YourFunctionName(IFlowRunnerContext context)". It has to be a public void function with only one argument whose type is IFlowRunnerContext. - The IFlowRunnerContext argument contains necessary interface accessing API for binning, hardware properties, channel/slot information, tester configurations and so on. - Each slot corresponds to a physical instrument board, who has dedicated central processors working completely independent with other boards. - On each slot there can be several sites, or a sites can span multiple slots. - The C# code user write is compiled into DLL which is loaded onto each instrument board, this means that the code is running multithread on all slots. Each slot can run into different code trace(like if branches, switch branches) without messing up with other slots. - Every object gets in this interface is only corresponded to one specific slot. - - - - - This property gets slot number on which current code is running. Remember that the C# code is running multithread on all slots, this property only gets current slot number. - - - - int CurrentSlotNumber = context.SlotNo; - - - Slot number. - - - - This property gets SlotInfo object, which can access SlotInfo properties. - - - - SlotInfo slotInfo = context.SlotInfo; - - - SlotInfo object. - - - - This property gets IFlowContext object, which can access IFlowContext properties. - - - - IFlowContext flowContext = context.FlowContext; - - - IFlowContext object. - - - - This property gets FlowCatalog object, which can access FlowCatalog properties. - - - - FlowCatalog flowCatalog = context.FlowCatalog; - - - FlowCatalog object. - - - - This property gets FlowConfiguration object, which can access FlowConfiguration properties. - - - - - This property gets IChannelMapProvider object, which can access IChannelMapProvider properties. - - - - IChannelMapProvider channelMapProvider = context.ChannelMapProvider; - - - IChannelMapProvider object. - - - - This property gets ILog object, which can access ILog properties. - - - - ILog log = context.Log; - - - Log object. - - - - This property gets IDatalog object, which can access IDatalog properties. - - - - IDatalog datalog = context.Datalog; - - - IDatalog object. - - - - This property gets IBinHandler object, which can access IBinHandler properties. - - - - IBinHandler binHandler = context.BinHandler; - - - IBinHandler object. - - - - This property gets IFlowRunnerJudger object, which can access IFlowRunnerJudger properties. - - - - IFlowRunnerJudger flowRunnerJudger = context.Judger; - - - IFlowRunnerJudger object. - - - - This property gets ICommunicate object, which can access ICommunicate properties. - - - ICommunicate communicate = context.Communicator; - - - - ICommunicate object. - - - - local user data - - - - - Relay state recorder - - - - - offset manager - - - - - PPMU reg status manager - - - - - All pin init data manager - - - - - ttr trim Update() orders cache - - - - - keep Alive / FreeRunningClk - - - - - This property gets IPattern object, which can access IPattern properties. - - - - IPattern myPat = context.Pattern; - myPat.Update("A01_Fail", "A01", siteNum, 5, 1, new char[] { '0' }); - - For programming efficiency, above code is not recommended. The interal pre-built interface PATTERN should be used instead. - Above code can be rewritten as: - - PATTERN.Update("A01_Fail", "A01", siteNum, 5, 1, new char[] { '0' }); - - - IPattern object. - - - - This property gets IDPS object, which can access IDPS properties. - - - - IDPS myDPS = context.DPS; - myDPS.Force(new string[] { $"DPS1" }, 0, DpsMode.FVMV, DpsIRange._5uA, VRange.Normal); - - For programming efficiency, above code is not recommended. The interal pre-built interface DPS should be used instead. - Above code can be rewritten as: - - DPS.Force(new string[] { $"DPS1" }, 0, DpsMode.FVMV, DpsIRange._5uA, VRange.Normal); - - - IDPS object. - - - - This property gets IPPMU object, which can access IPPMU properties. - - - - IPPMU myPPMU = context.PPMU; - myPPMU.Force(new string[] { $"PMU1" }, 0, PpmuMode.FVMV, PpmuIRange._5uA, VRange.Normal); - - For programming efficiency, above code is not recommended. The interal pre-built interface PPMU should be used instead. - Above code can be rewritten as: - - PPMU.Force(new string[] { $"PMU1" } , 0, PpmuMode.FVMV, PpmuIRange._5uA, VRange.Normal); - - - IPPMU object. - - - - This property gets IRelay object, which can access IRelay properties. - - - - IRelay myRLY = context.Relay; - myRLY.SwitchToOpen(new string[] { "A01" }); - - For programming efficiency, above code is not recommended. The interal pre-built interface RELAY should be used instead. - Above code can be rewritten as: - - RELAY.SwitchToOpen(new string[] { "A01" }); - - - IRelay object. - - - - This property gets IMixSignal object, which can access IMixSignal properties. - - - - IMixSignal myMIX = context.MixSignal; - myMIX.ConnectTCP("192.168.100.10", 10); - - For programming efficiency, above code is not recommended. The interal pre-built interface MIXSIGNAl should be used instead. - Above code can be rewritten as: - - MIXSIGNAl.ConnectTCP("192.168.100.10", 10); - - - IMixSignal object. - - - - This property gets IShmoo object, which can access IShmoo properties. - - - - IShmoo mySHM = context.Shmoo; - mySHM.ToString(); - - For programming efficiency, above code is not recommended. The interal pre-built interface SHMOO should be used instead. - Above code can be rewritten as: - - SHMOO.ToString(); - - - IShmoo object. - - - - This property gets ISystem object, which can access ISystem properties. - - - - ISystem mySYS = context.System; - mySYS.Delay(100); - - For programming efficiency, above code is not recommended. The interal pre-built interface SYSTEM should be used instead. - Above code can be rewritten as: - - SYSTEM.Delay(100); - - - ISystem object. - - - Current test item info - - - Current test function info - - - Interface for ACTiming - - - - This method allows you to write code using fluent interface which also known as chaining coding. - - - This example creates a new timing and makes it effective immediately. - - PATTERN.ACTiming.CreateBatch().SetPin(new string[] { "A01" }).SetDriveOn(0).SetDriveData(10).Execute(); - - - IACTimingBatch object - - - - This method gets an actiming setting which is defined in the project by the actiming name you provide. - - - Since an actiming can be defined with multiple rows in GUI, this method returns a list whose count is equal to the count of rows which are needed for its definition. - - - - IList<ACTimingInfo> aCTimingInfos = PATTERN.ACTiming.Clone("TS_100ns"); - - - string. Actiming name which is defined in project. - A list of ACTimingInfo - - - - This method applies an ACTimingInfo immediately. You can use this method to change actiming on-the-fly. - - - - IList<ACTimingInfo> aCTimingInfos = PATTERN.ACTiming.Clone("TS_100ns"); - PATTERN.ACTiming.Execute(aCTimingInfos); - - - ACTimingInfo object - - - - - This method applies an ACTimingSetting immediately. You can use this method to change actiming on-the-fly. - - - - ACTimingSetting aCTimingInfo = new ACTimingSetting - { - Period = 500, - PinName = signalName, - FmtMode = FmtMode.NR, - EdgeInfo = new EdgeInfo() - { - DriverOn = 0, - DriverData = 0, - DriverReturn = 0, - Open = 0, - Close = 0, - CompareMode = CompareMode.Edge, - } - }; - - PATTERN.ACTiming.Execute(aCTimingInfo); - - - ACTimingSetting - - - - - This method applies an actiming immediately. You can use this method to change actiming on-the-fly. - - - - PATTERN.ACTiming.Execute("TS_100ns"); - - - Name of a ACTiming which is defined in the project. - - - - - This method applies an ACTimingSetting immediately. You can use this method to change actiming on-the-fly. - - - - ACTimingSetting aCTimingInfo = new ACTimingSetting - { - Period = 500, - PinName = signalName, - FmtMode = FmtMode.NR, - EdgeInfo = new EdgeInfo() - { - DriverOn = 0, - DriverData = 0, - DriverReturn = 0, - Open = 0, - Close = 0, - CompareMode = CompareMode.Edge, - } - }; - - PATTERN.ACTiming.Execute(aCTimingInfo); - - - ACTimingSetting - - - - - This method applies an actiming immediately. You can use this method to change actiming on-the-fly. - - - - PATTERN.ACTiming.Execute("TS_100ns"); - - - Name of a ACTiming which is defined in the project. - - - - - This interface accesses methods which allows you to perform chaining coding. - You can use this interface to create and apply an ACtiming on-the-fly. - - - - string[] pins = { "A01", "A02" }; - double period = 200; - FmtMode fmtMode = FmtMode.NR; - CompareMode compareMode = CompareMode.Edge; - float close = 0.5f; - float open = 0.3f; - float driverOn = 0.1f; - float driverData = 0.5f; - float driverReturn = 0.8f; - //Step1:Create an IACTimingBatch object, whose properties are empty. - var aCTimingBatch = PATTERN.ACTiming.CreateBatch(); - //Step2:Set properties using chaining coding. - aCTimingBatch = aCTimingBatch.SetPin(pins).SetPeriod(period).SetFormat(fmtMode).SetCompareMode(compareMode).SetOpen(open).SetClose(close).SetDriveData(driverData).SetDriveOn(driverOn).SetDriveReturn(driverReturn); - //Step3:Make aCTimingBatch effective immediately. - aCTimingBatch.Execute(); - //Operations in Step1 to Step3 can also be simply written as below. - PATTERN.ACTiming.CreateBatch().SetPin(pins).SetPeriod(period).SetFormat(fmtMode).SetCompareMode(compareMode).SetOpen(open).SetClose(close).SetDriveData(driverData).SetDriveOn(driverOn).SetDriveReturn(driverReturn).Execute(); - - - - - This method sets actiming compare mode. - Enumerated constant of type CompareMode: (Edge,Window) - IACTimingBatch object. - - - - This method sets actiming drive data edge. - - Current timing value for the specified edge - IACTimingBatch object. - - - - This method sets actiming drive on edge. - - Current timing value for the specified edge - IACTimingBatch object. - - - - This method sets actiming drive return edge. - - Current timing value for the specified edge - IACTimingBatch object. - - - - This method sets actiming format. - - Enumerated constant of type FmtMode: (NR,RL,RH,RZ,SBL,SBH) - IACTimingBatch object. - - - - This method sets actiming compare open edge. - - Current timing value for the specified edge - IACTimingBatch object. - - - - This method sets actiming window close edge. - - Current timing value for the specified edge - IACTimingBatch object. - - - - Set actiming strobe edge value - - - - - - - This method sets actiming period value. - - period(ns), for example, 46.66 stands for 46.66ns - IACTimingBatch object. - - - - This method sets actiming pin names. - - An array of pin or pin group names. - IACTimingBatch object. - - - - 异常事件 - - - - - Start signal generator - - Pin name - Signal type:Sine/Square/Triangular - Frequency,default unit=HZ - Amplitude,default unit=V - Offset,default unit=V - Duty ratio,range=(0,1] - period count,default:10 - - - - - stop signal generator - - - - - - Execute figure signal collection - - Pin name - Number of samples for measurement - Interval time between each sampling, unit in us - - - - - Get figure signal collection analyze result - - - - - - Pull data - - - - - - - Cancel - - - - - 硬件实现层 - - - - This interface accesses DCLevel related methods. - - - - This method allows you to write code using fluent interface which also known as chaining coding. - - - - PATTERN.DCLevel.CreateBatch().SetPin(new string[] { "A01", "A02" }).SetVIH(1.8).SetVIL(0).SetVOH(0.9).SetVOL(0.5); - - This example creates a new DClevel and makes it effective immediately. - - IDCLevelBatch object - - - - This interface accesses VT related methods. - - IVT object. - - - - This method gets a DClevel which is defined in the project by the DClevel name you provide. - - - - DCLevelInfo dclvl = PATTERN.DCLevel.Clone("Lvl_1V8"); - - - string. Dclevel name which is defined in project - DCLevelInfo object - - - - This method loads a DClevel, makes it effective immediately. - - DClevelInfo object - - - - - This method loads a DClevel, makes it effective immediately. - - Name of a DCLevel which is defined in the project. - - - - - This method sets the value for all level type on the specified pins. - - An array of pin or pin group names. - Drive high voltage(V), valid range is [0,5.8] - Drive low voltage(V), valid range is [0,5.8] - Compare high voltage(V), valid range is [0,4] - Compare low voltage(V),valid range is [0,4] - - - - - This method sets the value for the specified level type on the specified pins. - It allows you to specifically change one value of the DCLevel. - - - Valid ranges are:
- Drive high voltage(V), valid range is [0,5.8];
- Drive low voltage(V), valid range is [0,5.8];
- Compare high voltage(V), valid range is [0,4];
- Compare low voltage(V),valid range is [0,4]. -
- An array of pin or pin group names. - The value you want to set for the specified level type. - An enumerated constant of type Core.Primitives.Service.Type, valid options can be VIH,VIL,VOH or VOL. - -
- - - This interface accesses methods which allows you to perform chaining coding. - You can use this interface to create and apply an DCLevel on-the-fly. - - - - string[] pins = { "A01", "A02" }; - double vih = 1.8; - double vil = 0; - double voh = 0.9; - double vol = 0.5; - //Step1: Create an IDCLevelBatch object, whose properties are empty. - var dCLevelBatch = PATTERN.DCLevel.CreateBatch(); - //Step2: Set properties using chaining coding. - dCLevelBatch = dCLevelBatch.SetPin(pins).SetVIH(vih).SetVIL(vil).SetVOH(voh).SetVOL(vol); - //Step3: Make dCLevelBatch effective immediately. - dCLevelBatch.Execute(); - //Operations in Step1 to Step3 can also be simply written as below. - PATTERN.DCLevel.CreateBatch().SetPin(pins).SetVIH(vih).SetVIL(vil).SetVOH(voh).SetVOL(vol).Execute(); - - - - - This method sets DClevel pin names. - An array of pin or pin group names. - - - - - This method sets DClevel VIH value. - - Drive high voltage. - - - - - This method sets DClevel VIL value. - - Drive low voltage. - - - - - This method sets DClevel VOH value. - - Compare high voltage. - - - - - This method sets DClevel VOL value. - - Compare low voltage. - - - - - 设置ForceOffset - - - - - - - - - - - Get ForceOffset cmds - - - - - - - This interface accesses DPS related methods. - - - - - This method gets a DPS setting which is defined in the project by the DPS setting name you provide. - - DPS setting name, which is defined in project. - DPSInfo object. - - - - This method allows you to write code using fluent interface which also known as chaining coding. - - - DPS.CreateBatch().SetPin(new string[] { "VDD" }).SetMode(DpsMode.FVMV).SetForce(1).SetIRange(DpsIRange._20uA).SetVRange(VRange.Normal).Execute(); - - This example creates a new DPS setting and makes it effective immediately. - - - IDPSBatch object - - - - This method connects or disconnects DPS channel to the specified interal relay. - - - Note that you need to correctly choose DpsRelayState based on the DPS current range. - Connecting DPS relay incorrectly can cause unexpected behaviors. - - - Refer to below examples for connecting/disconnecting DPS relay. - To disconnect DPS. - - DPS.Relay(new string[] { "VDD" }, DpsRelayState.OPEN); - - To connect DPS while using current range less than 60mA. - - DPS.Relay(new string[] { "VDD" }, DpsRelayState.INT); - - To connect DPS while using current range 60mA exactly. - - DPS.Relay(new string[] { "VDD" }, DpsRelayState._60MA); - - To connect DPS while using current range 1A exactly. - - DPS.Relay(new string[] { "VDD" }, DpsRelayState.EXT); - - - An array of pin or pin group names. - An enumerated constant of type DpsRelayState, valid options can be OPEN,EXT,INT,_60MA - - - - This method programs DPS force status of the specified pins. - Do remember the iRange you choose for the pins must be aligned with the DpsRelayState when you connected DPS relay. Refer to DPS.SwitchRelay document for more details. - Note that for DpsMode, there are 3 special mode: FVMI_All/FVMV_All/FIMV_All. For example, FVMI_All, it sets all DPS channels on current slot to FVMI mode, no matter what pins you specified. - - An array of pin or pin group names. - Force value in unit V for voltage and unit A for current, range for voltage force is [-8,13]. - An enumerated constant of type DpsMode, valid options are FVMI_All/FVMV_All/FIMV_All/FVMI/FVMV/FIMV/FZMI/FZMV. - An enumerated constant of type DpsIRange, valid options are _5uA/_20uA/_200uA/_2mA/_60mA/_1A. - An enumerated constant of type VRange, valid options are HighPrecision/Normal. - Clamp value in string format, for example, "5V","1mA". The clamp is symmetrical, where "5V" stands for high clamp is 5V and low clamp is -5V. - Optional argument, used to define the delay time(in microseconds) before the application of the force voltage/current. By programming waitTime, you can wait some amount of time before forcing become effective. - - - - This method programs DPS force status of the specified pins. It also allows you to control the slew rate of DPS force by specifying stepCount, stepDelay and stepValue, with this feature, you can do voltage/current ramping. - Do remember the iRange you choose for the pins must be aligned with the DpsRelayState when you connected DPS relay. Refer to DPS.SwitchRelay document for more details. - Note that for DpsMode, there are 3 special mode: FVMI_All/FVMV_All/FIMV_All. For example, FVMI_All, it sets all DPS channels on current slot to FVMI mode, no matter what pins you specified. - - This example sets the DPS output mode to force voltage measure current, voltage 5V is applied immediately without any ramping. - - DPS.Force(new string[] { "DPS5" }, 5, DpsMode.FVMI, DpsIRange._200uA, VRange.Normal); - - This example sets the DPS output mode to force voltage measure current, voltage 5V is applied by ramping from 0V to 5V in 20 steps. - Note that in this cause you need to set "value" parameter to 0. Since 0V is treated as ramp starting point and 20 steps are needed to eventually reach 5V. - - DPS.Force(new string[] { "DPS5" }, 0, DpsMode.FVMI, DpsIRange._200uA, VRange.Normal, 20, 1000, 5.0 / 20.0); - - This example sets the DPS output mode to force voltage measure current, voltage 5V is applied by ramping from 1V to 5V in 20 steps. - Note that in this case you need to set "value" parameter to 1. Since 1V is treated as ramp starting point and 20 steps are needed to eventually reach 5V. - - DPS.Force(new string[] { "DPS5" }, 1, DpsMode.FVMI, DpsIRange._200uA, VRange.Normal, 20, 1000, 4.0 / 20.0); - - - - An array of pin or pin group names. - Force value in unit V for voltage and unit A for current, range for voltage force is [-8,13]. - An enumerated constant of type DpsMode, valid options are FVMI_All/FVMV_All/FIMV_All/FVMI/FVMV/FIMV/FZMI/FZMV. - An enumerated constant of type DpsIRange, valid options are _5uA/_20uA/_200uA/_2mA/_60mA/_1A. - An enumerated constant of type VRange, valid options are HighPrecision/Normal. - Number of steps for voltage/current ramping, default stepCount = 1, that is, no ramping is performed, target force value is reached at fastest speed. - Delay time in nanosecond between each step, default stepDelay = 1920 - The step size of each step, default stepValue = 0. - - - - This method programs DPS force status of the specified pins. It allows you to control the slew rate of DPS force by specifying stepCount, stepDelay and stepValue, with this feature, you can do voltage/current ramping. - It also allows you to set high low clamp separately. - Do remember the iRange you choose for the pins must be aligned with the DpsRelayState when you connected DPS relay. Refer to DPS.SwitchRelay document for more details. - Note that for DpsMode, there are 3 special mode: FVMI_All/FVMV_All/FIMV_All. For example, FVMI_All, it sets all DPS channels on current slot to FVMI mode, no matter what pins you specified. - - This example sets the DPS output mode to force voltage measure current, voltage 5V is applied by ramping from 0V to 5V in 20 steps. - Voltage clamp is set with high = 5V and low = -1V. - Note that in this case you need to set "value" parameter to 0. Since 0V is treated as ramp starting point and 20 steps are needed to eventually reach 5V. - - DPS.Force(new string[] { "DPS5" }, 0, DpsMode.FVMI, DpsIRange._200uA, VRange.Normal, "5V","-1V" ,20, 1000, 5.0 / 20.0); - - - - An array of pin or pin group names. - Force value in unit V for voltage and unit A for current, range for voltage force is [-8,13]. - An enumerated constant of type DpsMode, valid options are FVMI_All/FVMV_All/FIMV_All/FVMI/FVMV/FIMV/FZMI/FZMV. - An enumerated constant of type DpsIRange, valid options are _5uA/_20uA/_200uA/_2mA/_60mA/_1A. - An enumerated constant of type VRange, valid options are HighPrecision/Normal. - High clamp value in string format, for example, "5V","1mA". - Low clamp value in string format, for example, "-1V","-2mA". - Number of steps for voltage/current ramping, default stepCount = 1, that is, no ramping is performed, target force value is reached at fastest speed. - Delay time in nanosecond between each step, default stepDelay = 1920 - The step size of each step, default stepValue = 0. - - - - This method performs a DPS parametric test and then do pass/fail judgment and logs the results. - - This example measures on DPS pins and judge the results by test number. - - DPS.Measure(new string[] { "DPS1" }, true, 2200); - - Note that you can also get test number using test suite name. This example shows how. - - DPS.Measure(new string[] { "DPS1" }, true, context.BinHandler.GetBinningByTestSuite("IDDQ").TestNo); - - - - An array of pin or pin group names. - Whether perform judge or not. Setting it to true means judge the measured value using limits specified by testNo, a PTR is written to stdf. - Setting it to false means do not judge the measured value even testNo is specified, no PTR is written to STDF. - Test number of the limit setting you want to use. Note that the test number must be defined in the project, ATE_Tester reports error if using a undefined test number. - The number of samples to strobe when perform the measurement, default numberOfSamples = 1. - The sampling interval between each meter strobe, unit is microsecond, default intervalTimeUs = 0. - List of SiteInfo object. You can retrieve the measured results of interested pins by accessing the returned list. - List of siteInfo - - - - This method performs a DPS parametric test and then do pass/fail judgment and logs the results. - - You should get BinningInfo object through API context.BinHandler.GetBinningByTestSuite. - - DPS.Measure(new string[] { "DPS1" }, true, context.BinHandler.GetBinningByTestSuite("IDDQ")); - - - - An array of pin or pin group names. - Whether perform judge or not. Setting it to true means judge the measured value using limits specified by testNo, a PTR is written to stdf. - Setting it to false means do not judge the measured value even testNo is specified, no PTR is written to STDF. - BinningInfo object, you can get one by API context.BinHandler.GetBinningByTestSuite(TestSuiteName), ATE_Tester reports error if referring to a undefined TestSuiteName. - The number of samples to strobe when perform the measurement, default numberOfSamples = 1. - The sampling interval between each meter strobe, unit is microsecond, default intervalTimeUs = 0. - List of SiteInfo object. You can retrieve the measured results of interested pins by accessing the returned list. - - - - This method connects or disconnects DPS channel to the specified interal relay. Note that you need to correctly choose DpsRelayState based on the DPS current range. - Connecting DPS relay incorrectly can cause unexpected behaviors. - Refer to below examples for connecting/disconnecting DPS relay. - - To disconnect DPS. - - DPS.SwitchRelay(new string[] { "VDD" }, DpsRelayState.OPEN); - - To connect DPS while using current range less than 60mA. - - DPS.SwitchRelay(new string[] { "VDD" }, DpsRelayState.INT); - - To connect DPS while using current range 60mA exactly. - - DPS.SwitchRelay(new string[] { "VDD" }, DpsRelayState._60MA); - - To connect DPS while using current range 1A exactly. - - DPS.SwitchRelay(new string[] { "VDD" }, DpsRelayState.EXT); - - - - An array of pin or pin group names. - An enumerated constant of type DpsRelayState, valid options can be OPEN,EXT,INT,_60MA - - - - This method sets DPS clamps on the specified pins. - Note that for DpsMode, there are 3 special mode: FVMI_All/FVMV_All/FIMV_All. For example, FVMI_All, it sets all DPS channels on current slot to FVMI mode, no matter what pins you the specified. - - An array of pin or pin group names. - An enumerated constant of type DpsMode, valid options are FVMI_All/FVMV_All/FIMV_All/FVMI/FVMV/FIMV/FZMI/FZMV. - An enumerated constant of type DpsIRange, valid options are _5uA/_20uA/_200uA/_2mA/_60mA/_1A. - An enumerated constant of type VRange, valid options are HighPrecision/Normal. - High clamp value in string format, for example, "5V","1mA". The system will report error if set clampH to a value which is less than clampL. Also if clamp value exceeds the allowable clamp range, the allowable clamp range will be applied. - Low clamp value in string format, for example, "-1V","-2mA". The system will report error if set clampL to a value which is greater than clampH. Also if clamp value exceeds the allowable clamp range, the allowable clamp range will be applied. - - - - This method reads temperature of the instrument board - - Temperature data. - - - - DPS measure - - Pin name - Number of samples for measurement - Interval time between each sampling - judge by the measure type result, judgeType = Average/Max/Min: judge; judgeType = None: no judge - measure type:Average/Max/Min - binning object - - - - - DPS HVRelay - - in name - Number of samples for measurement - Interval time between each sampling - IsSwicthToOpen default = true,true(loadBoardRelay swicth to open),false(no swicth to open) - delayMs,default=1,unit=ms - - - - DPS gain force - - Pin name - current or voltage to force: ForceRange[-8,13], default unit V for voltage and A for current - DPS mode: FVMI/FVMV/FIMV/FZMI/FZMV - Current range:HI - Voltage range:HV - - - - DPS gain measure - - Pin name - judge by the measure result - true: judge; false: no judge - binning object - Number of samples for measurement,default numberOfSamples = 0 - Interval time between each sampling, unit in us,default intervalTimeUs = 0 - List of siteInfo - - - - This interface accesses methods which allows you to perform chaining coding. - You can use this interface to program DPS channels status individually. - - - - string dpsName = "dpsName"; - string[] dpsPins = { "DPS01", "DPS02" }; - DpsMode dpsMode = DpsMode.FVMV; - double forceV = 3.3;//in unit V - //Step1:Create an IDPSBatch object, whose properties are empty. - IDPSBatch dpsBatch = DPS.CreateBatch(); - //Step2:Set properties using chaining coding. - dpsBatch = dpsBatch.SetPin(dpsPins).SetMode(dpsMode).SetForce(forceV); - //Step3:Make dpsBatch effective immediately. - dpsBatch.Execute(); - //Operations in Step1 to Step3 can also be simply written as below. - DPS.CreateBatch().SetPin(dpsPins).SetMode(dpsMode).SetForce(forceV).Execute(); - //You can also get a DpsInfo using name(dps setting name is defined in project) and apply it, the application become effective immdiately. - DPS.CreateBatch().Set(DPS.Clone("VDD_VDDA_FV1V")); - - - - - - This method sets DPS channles status using DpsInfo object. - Note that a DpsInfo object is usually generated by DPS.Clone(DpsSettingName) API. Available DpsSettingName can be found in project, DPS setting page. - - - DpsInfo dpsInfo = DPS.Clone(DPSSettingName);//get DPS setting, which is defined in project. - IDPSBatch DPSBatch = DPS.CreateBatch(); - DPSBatch.Set(dpsInfo);//apply the DPS setting, make it effective immediately. - - - - DpsInfo object. - IDPSBatch object. - - - This method sets DPS pin names. - An array of pin or pin group names. - IDPSBatch object - - - - This method sets DPS force value, it can be voltage or current value. - - Force value in unit V for voltage and unit A for current, range for voltage force is [-8,13]. - IDPSBatch object - - - - This method sets DPS force mode. - Note that for DpsMode, there are 3 special mode: FVMI_All/FVMV_All/FIMV_All. For example, FVMI_All, it sets all DPS channels on current slot to FVMI mode, no matter what pins you specified. - - An enumerated constant of type DpsMode, valid options are FVMI_All/FVMV_All/FIMV_All/FVMI/FVMV/FIMV/FZMI/FZMV. - IDPSBatch object - - - - This method sets DPS current range. - Do remember the iRange you choose for the pins must be aligned with the DpsRelayState when you connected DPS relay. Refer to DPS.SwitchRelay document for more details. - - An enumerated constant of type DpsIRange, valid options are _5uA/_20uA/_200uA/_2mA/_60mA/_1A. - IDPSBatch object - - - This method sets DPS voltage range. - An enumerated constant of type VRange, valid options are HighPrecision/Normal. - IDPSBatch object - - - - This method sets DPS clamp. - - clamp low with units, supported units are V, mV, uV, A, mA, uA. - clamp high with units, supported units are V, mV, uV, A, mA, uA. - - - - - This method sets the stepCount property. - To correctly perform voltage or current ramping with this API, refer to DPS.Force document. - - Number of steps for voltage/current ramping, if you set stepCount = 1, that is, no ramping is performed, target force value is reached at fastest speed. - IDPSBatch object - - - - This method sets the stepValue property. - To correctly perform voltage or current ramping with this API, refer to DPS.Force document. - - The step size of each step. - IDPSBatch object - - - - This method sets the stepDelay property. - To correctly perform voltage or current ramping with this API, refer to DPS.Force document. - - Delay time in nanosecond between each step. - IDPSBatch object - - - - DPS 指令工厂 - - - - - - - - - - 获取所有通道 force 指令 - - DPS模块支持的 mode:只能选择FVMI_All,FVMV_All,FIMV_All三种模式(必填) - DPS模块电压电流值,单位默认为"A"或"V",其他单位需要转换为"A"或"V",force值最大电压值不能超过10V(必填) - DPS模块支持的 range:_5uA,_20uA,_200uA,_2mA,_60mA,_1A(必填) - DPS电压挡位支持HighPrecision和Normal挡位(必填) - true为补偿电压,false不补偿电压 - 重复次数 - delay时间(ns)=delayNanoSec*80(ns) - 偏移值 - DPS指令 - - - - 根据通道获取 force 指令 - - DPS通道数组,该值长度不能超过 channelMaxLimit,最大 dps 数组通道值不能超过 channelMaxLimit(必填) - DPS模块支持的 mode:FVMI_All,FVMV_All,FIMV_All,FVMI,FVMV,FIMV,FZMI,FZMV(必填) - DPS模块电压电流值,单位默认为"A"或"V",其他单位需要转换为"A"或"V"(必填) - DPS模块支持的 range:_5uA,_20uA,_200uA,_2mA,_60mA,_1A(必填) - DPS电压挡位支持HighPrecision和Normal挡位(必填) - true为补偿电压,false不补偿电压(必填) - 重复次数 - delay时间(ns)=delayNanoSec*80(ns) - 偏移值 - DPS指令 - - - - 根据脚名获取 force 指令 - - 脚名数组 - DPS模块支持的 mode:只能选择FVMI,FVMV,FIMV,FZMI,FZMV(必填) - DPS模块电压电流值,单位默认为"A"或"V",其他单位需要转换为"A"或"V",force值最大电压值不能超过10V(必填) - DPS模块支持的 range:_5uA,_20uA,_200uA,_2mA,_60mA,_1A(必填) - DPS电压挡位支持HighPrecision和Normal挡位(必填) - true为补偿电压,false不补偿电压 - 重复次数 - delay时间(ns)=delayNanoSec*80(ns) - 偏移值 - DPS指令 - - - - 根据脚名获取 force 指令 - - 脚名数组 - DPS模块支持的 mode:只能选择FVMI,FVMV,FIMV,FZMI,FZMV(必填) - DPS模块电压电流值,单位默认为"A"或"V",其他单位需要转换为"A"或"V",force值最大电压值不能超过10V(必填) - DPS模块支持的 range:HI(必填) - DPS电压挡位支持HV挡位(必填) - true为补偿电压,false不补偿电压 - 重复次数 - delay时间(ns)=delayNanoSec*80(ns) - 偏移值 - DPS指令 - - - - 获取DPS连续回读指令 - - - - - - - - - - - - - - 获取设置 DPS Gang 指令 - - gang信息 - - - - - 根据 获取 DPS 指令 - - - - - - - - 根据 function 名字获取 DPS 指令 - - - - - - - - - 获取DPS Relay指令 - - - - - - - 获取DPS Relay指令 - - - - - - - - 获取DPS Relay指令 - - - - - - - - 获取多次回读取平均指令 - - times">采样次数 - 每次采样的时间间隔,单位:us - - - - - 获取DPS clamp 指令 - - - - - - - - - - - - 获取设置DPS clamp 指令 - - - - - - - - 获取设置DPS clamp 指令 - - - - - - - 获取Dps Relay 指令根据脚名和mode - - - - - - - - - 获取DPS Clamp 指令 - - - - - - - - - - - - - 获取DPS Fore指令,根据管脚状态 - - - - - - - 获取DPS 指令根据dps 名字 - - - - - - - - - 更新DPS Relay 状态 - - - - - - - 读取DPS 模拟量指令 - - - - - - - - - - 计算DPS 监控数据 - - - - - - - 获取DPS 电流监控配置 - - - - - - This interface accesses Judger related methods. - - - - This method judges the results of a pattern execution and performs bin sorting. It writes a FTR to stdf. - - - - Result patResult = PATTERN.Burst("A01_Fail", new string[] { "A01" }, 1, true);// run pattern and get results - BinningInfo PATTERN_CODE = context.FlowCatalog.BinningQuerier.Query("PATTERN_CODE");// get binning info - context.Judger.JudgePat(patResult, PATTERN_CODE.TestNo);//judge pattern result - - - PATTERN.Burst("A01_Fail", new string[] { "A01" }, 1, true);// run pattern - Result patResult = PATTERN.GetPatternResult("A01_Fail", "A01", PATTERN_CODE.TestNo);// get results - BinningInfo PATTERN_CODE = context.FlowCatalog.BinningQuerier.Query("PATTERN_CODE");// get binning info - context.Judger.JudgePat(patResult, PATTERN_CODE.TestNo);//judge pattern result - - - Result object, it is usually got by PATTERN.Burst API or PATTERN.GetPatternResult API. - Test number of the limit setting you want to use. Note that the test number must be defined in the project, ATE_Tester reports error if using a undefined test number. - - - - This method judges the results of a pattern execution and performs bin sorting. It writes a FTR to stdf. - - - - Result patResult = PATTERN.Burst("A01_Fail", new string[] { "A01" }, 1, true);// run pattern and get results - BinningInfo PATTERN_CODE = context.FlowCatalog.BinningQuerier.Query("PATTERN_CODE");// get binning info - context.Judger.JudgePat(patResult, PATTERN_CODE);//judge pattern result - - - PATTERN.Burst("A01_Fail", new string[] { "A01" }, 1, true);// run pattern - Result patResult = PATTERN.GetPatternResult("A01_Fail", "A01", PATTERN_CODE.TestNo);// get results - BinningInfo PATTERN_CODE = context.FlowCatalog.BinningQuerier.Query("PATTERN_CODE");// get binning info - context.Judger.JudgePat(patResult, PATTERN_CODE);//judge pattern result - - - Result object, it is usually got by PATTERN.Burst API or PATTERN.GetPatternResult API. - BinningInfo object, it is usually got by context.FlowCatalog.BinningQuerier.Query() API. - - - - This method judges the results of a parametric test and performs bin sorting. It writes a PTR to stdf. - Note that a ChannelInfo object only contains single site's data, so you may need a site loop to judge all sites. - This method allows you to judge interested pins within a measure results. - - - - List<SiteInfo> measureResults = DPS.Measure(DPSPins.ToArray(), false, bi_DPS_ManualJudge_CODE);// perform a DPS measure but don't judge here - BinningInfo bi_DPS_ManualJudge_CODE = context.FlowCatalog.BinningQuerier.Query("DPS_ManualJudge_CODE");// get binning info - foreach (SiteInfo siteInfo in measureResults)//judge site by site - { - int siteNo = siteInfo.No; - context.Judger.JudgeMeasure(siteInfo.Channels.Where(x => x.Name == "VDD1"), bi_DPS_ManualJudge_CODE.TestNo);//only judge VDD1 pin - } - - - IEnumerable of ChannelInfo instance, it can be List<ChannelInfo> - Test number of the limit setting you want to use. Note that the test number must be defined in the project, ATE_Tester reports error if using a undefined test number. - - - - - - This method judges the results of a parametric test and performs bin sorting. It writes a PTR to stdf. - Note that since you don't specifiy pin names here, all pins defined in binningInfo will be judged together. - - Site number. - Value to judge. - BinningInfo object, it is usually got by context.FlowCatalog.BinningQuerier.Query() API. - - - - Judge the functional test result, result posted to FTR - - site no list,siteNo starts from 1 - resultPF = true,site is pass,resultPF = false,site is fail - binningInfo instance defined in the flow - - - - LoadBoardRelay command factory - - - - - This method turns the DIB/Loadboard relays on or off. - - - Turn all relay channels on. - - LOADBOARDRELAY.SetLoadBoard(LoadBoardRelayMode.All_Relay_Enable, null); - - Turn all relay channels off. - - LOADBOARDRELAY.SetLoadBoard(LoadBoardRelayMode.All_Relay_Disable, null); - - Turn relay channel 1 on, other channels status remain unchanged. - - LOADBOARDRELAY.SetLoadBoard(LoadBoardRelayMode.Channel_Relay, new int[] {1}); - - Turn relay channel 1 off, other channels status remain unchanged. - - LOADBOARDRELAY.SetLoadBoard(LoadBoardRelayMode.Channel_Relay_Negation, new int[] {1}); - - - An enumerated constant of type LoadBoardRelayMode, valid options are All_Relay_Enable,All_Relay_Disable,Channel_Relay,Channel_Relay_Negation - - - - - This method turns the DIB/Loadboard relays on or off. - - UTRelayMode,valid options are Relay_On/Relay_Off,utRelayMode=Relay_On(Turn on specified UT),utRelayMode=Relay_Off(Turn off specified UT) - An array of pin or pin group names. - - - - IFlowRunnerContext - - - - - GetLoadBoardRelayCmd - - - - - - - GetLoadBoardRelayCmd - - - - - - - This interface accesses syntax for datalogging. - - - - This method judges the results of a functional test but doesn't perform bin sorting. It writes a FTR to stdf. - - ChannelInfo object, it is usually retrieved from SiteInfo by SiteInfo.Channels API. - BinningInfo object, it is usually got by context.FlowCatalog.BinningQuerier.Query() API. - Name of pattern. - Result of functional test. - Additional comments. - true: Post success, false: Not Post(ignore by stop on fail) - - - - This method judges the results of a pattern execution but doesn't perform bin sorting. It writes a FTR to stdf. - - - - Result patResult = PATTERN.Burst("A01_Fail", new string[] { "A01" }, 1, true); - BinningInfo PATTERN_CODE = context.FlowCatalog.BinningQuerier.Query("PATTERN_CODE"); - LogBoolean(patResult, PATTERN_CODE); - - - Result object, it is usually got by PATTERN.Burst API or PATTERN.GetPatternResult API. - BinningInfo object, it is usually got by context.FlowCatalog.BinningQuerier.Query() API. - List of SiteInfo - - - - - This method judges the results of a parametric test but doesn't perform bin sorting. It writes a PTR to stdf. - - ChannelInfo object, it is usually retrieved from SiteInfo by SiteInfo.Channels API. - BinningInfo object, it is usually got by context.FlowCatalog.BinningQuerier.Query() API. - Parametric value for datalogging. - true: Post success, false: Not Post(ignore by stop on fail) - - - - This method judges the results of a parametric test but doesn't perform bin sorting. It writes a PTR to stdf. - - Number of site. - Name of pin. - BinningInfo object, it is usually got by context.FlowCatalog.BinningQuerier.Query() API. - Parametric value for datalogging. - true: PTR writing success , false: PTR writing fail, if stopOnFail = true and there is fail happened before, PTR will not be written. - - - - This method judges the results of a parametric test but doesn't perform bin sorting. It writes a PTR to stdf. - - Number of site. - BinningInfo object, it is usually got by context.FlowCatalog.BinningQuerier.Query() API. - Parametric value for datalogging. - PTR writing success , false: PTR writing fail, if stopOnFail = true and there is fail happened before, PTR will not be written. - - - - This method writes text value into Rawlog. - - Contents to write. - - - - This method writes pattern execution result into Rawlog. - - Result object, it is usually got by PATTERN.Burst API or PATTERN.GetPatternResult API. - - - - Post RawText log - - - - - - - - This method writes parametric result into Rawlog. - - ChannelInfo object, it is usually retrieved from SiteInfo by SiteInfo.Channels API. - BinningInfo object, it is usually got by context.FlowCatalog.BinningQuerier.Query() API. - Parametric value for datalogging. - - - - This method writes parametric result into Rawlog. - - Number of site. - Name of pin. - BinningInfo object, it is usually got by context.FlowCatalog.BinningQuerier.Query() API. - Parametric value for datalogging. - - - - Post RawText log - - - - - - - - - - This method writes text values into the beginning of csv log. - - - This example will write two lines to the head of csv log, first line is "AA", second line is "BB"; - - PostCsvHeader(new List<string>( new string[] { "AA", "BB" })); - - - List of string to write. - - - - This method writes text values into the body of csv log. - - - - - - - - This method writes text values into the end of csv log. - - - This example will write two lines to the end of csv log, the last but two line is "AA", the last line is "BB"; - - PostCsvFoot(new List<string>( new string[] { "AA", "BB" })); - - - List of string to write. - - - - 连接TCP - - - - - - - 断开TCP - - - - - 创建ADC Batch - - - - - - - 创建DAC Batch - - - - - - 复位所有通道至初始状态 - - - - - 连接(设置connect配置) - - - - - - - - - - 断开连接 - - - - - - 启动waveForm(实现:DAC/ADC function 设置stop flag) - - - - ADC启动不需要名字 - - - - 启动waveForm(实现:DAC/ADC function 设置stop flag) - - - - - - 设置DAC采样率 - - - - - - - - 设置幅度 - - - - - - - - - 设置DAC指定信号和引脚的偏移量(实现:设置静态电压) - - - - - - - - 设置共模电压 - - - - - - - - 设置DAC滤波器选择 - - - - - - - 该方法对指定引脚上的外部触发事件加载启动或停止指令以执行(实现:选择DAC触发方式) - - - - - - - 设置ADC采样率 - - - - - - - - 设置Gain 模式 - - - - - - - 设置滤波器挡位选择 - - - - - - - 该方法对指定引脚上的外部触发事件加载启动或停止指令以执行(实现:选择ADC触发方式) - - - - - - - 设置AC或DC - - - - - - - - 获取ADC数据 - - - - - - - 计算ADC数据 - - - - - - 设置耦合方式 - - - - - - - 调用Matlab计算FFT数据 - - - - - - - 下载波形配置 - - - - - 设置采样模式 - - - - - - - - 设置采样深度 - - - - - - - - 设置waveform类型 - - - - - - - MixSignal指令工厂 - - - - - - - - - - This interface accesses pattern related methods. - - - - - - This property accesses an interface to syntax for the actiming programming. - - - - - This property accesses an interface to syntax for the dclevel programming. - - - - - This method clones a PatternInfo object. You can access pattern properties through PatternInfo object. - - Pattern name without "atp" extension. - PatternInfo object. - - - - - - - This method modifies one single line of pattern data of the specified pin for the specified site. This method must be used with PATTERN.RefreshPatternMemory for vetor data modification. - - Pattern name without "atp" extension. - Pin name. Pin group name is not allowed. - 1 based site number. - 1 based atp line number, it is the starting line for pattern modification. Note that this line number is the actual number in atp file which you can easily get by text editor. - Symbolic format data, valid options are '1'|'0'|'H'|'L'|'X'. - - - - This method modifies multiple lines of pattern data of the specified pin for the specified site. This method must be used with PATTERN.RefreshPatternMemory for vetor data modification. - - Pattern name without "atp" extension. - Pin name. Pin group name is not allowed. - 1 based site number. - 1 based atp line numbers, it is the starting line for pattern modification. Note that this line number is the actual number in atp file which you can easily get by text editor. - Symbolic format data, valid options are '1'|'0'|'H'|'L'|'X'. - - - - This method modifies multiple lines of pattern data of the specified pin for the specified site. This method must be used with PATTERN.RefreshPatternMemory for vetor data modification. - Note that to use this method, you need to add SEND1~SEND32 opcode to the vector you want to modify. - One opcode can be used up to 32 vectors. - This overload has better performance than other overloads which doesn't work with SEND opcode. - - Pattern name without "atp" extension. - Pin name. Pin group name is not allowed. - 1 based site number. - An enumerated constant of type OpCode, valid options are SEND1~SNED32. - Symbolic format data, valid options are '1'|'0'|'H'|'L'|'X'. - - - - This method downloads vector data to vector memory. - - - - - This method downloads vector data to vector memory. - - - - - This method downloads vector data to vector memory. - - Pattern name without "atp" extension. - An enumerated constant of type OpCode, valid options are SEND1~SNED32. - - - - This method starts a pattern generator burst for the specified pattern. - - - Burst a pattern and get fail cycles. - - Result result = PATTERN.Burst("A01_Fail", new string[] { "A01" }, 2 , true, true , true); - LogRawText(result);// print fail cycles to raw log - ReadErrorMsgs errorMsgs = result.ReadErrorMsgs;//get fail cycles - - - Pattern name without "atp" extension. - An array of pin or pin group names. - Max number of fail cycles to get, default is 1. When setting it as 1, the returned Result object won't contain detailed failing cycles but only the overall pattern execution result(pass of fail), - to get detailed fail cycles, use value greater than 1. - - True: execute next line of code after pattern execution halts; False: execute next line of code without waiting for pattern execution halt. - Set true to clear fail history before pattern burst. Fail history contains details of failed cycle of a pattern burst, clearing it can flush all existing fail cycles from memory and make it empty for current pattern burst.Must be greater than or equal to 10 milliseconds. - clear log memory(clearFailHistory) wait time(ms). default 10ms - Set true to clear fail flag before pattern burst. Fail flag is used to indicate if pattern burst is passed. Setting it as false may result wrong pattern burst result returned. - Result object, you can retrieve fail cycles and fail logs from it. - - - - This method starts a single pattern burst. You can specify whether to wait for pattern to complete. - - Name of pattern. - Whether to wait pattern completion. Set haltWait as true means to wait for pattern comletion instead of immediately return. - - - - This method starts a pattern generator burst for the specified pattern. - - Pattern name without "atp" extension. - An array of pin or pin group names. - start label, indicating where pattern should start, leaving it as "" will cause pattern to start from first vector. - end label, indiing where pattern should stop, leaving it as "" will cause pattern to run to the last vector. - Max number of fail cycles to get, default is 1. When setting it as 1, the returned Result object won't contain detailed failing cycles but only the overall pattern execution result(pass of fail), - to get detailed fail cycles, use value greater than 1. - - True: execute next line of code after pattern execution halts; False: execute next line of code without waiting for pattern execution halt. - Set true to clear fail history before pattern burst. Fail history contains details of failed cycle of a pattern burst, clearing it can flush all existing fail cycles from memory and make it empty for current pattern burst.Must be greater than or equal to 10 milliseconds. - clear log memory(clearFailHistory) wait time(ms). default 10ms - Set true to clear fail flag before pattern burst. Fail flag is used to indicate if pattern burst is passed. Setting it as false may result wrong pattern burst result returned. - Result object, you can retrieve fail cycles and fail logs from it. - - - - This method starts a single pattern burst and wait for pattern to complete. - - Name of pattern. - Pins you want to monitor. For example, if you only care about specified pin's failure, you should pass their names, otherwise this method returns true even there are some pins fail but not included in signalNames. Using null means you want to monitor all pins. - Dictionary containing each sites pattern execution result.key:site,value:site result. - - - - This method starts a pattern generator burst for the specified pattern. - This method does not wait for completion of pattern execution but immediately executes the next C# statement. - - - - - - This method gets pattern execution result for the specified pattern and the specified pin or pin group. - - Pattern name without "atp" extension. - Pin or pin group name. - Test number. - Max number of fail cycles to get, default is 1. Note that the actual returned number of fail cycles is grabErrorCount - 1. - If you want to get at least 1 fail cycle, you need to set grabErrorCount as 2. - - True: update site pass/fail status. False: not update site pass/fail status. - Note that this parameter doesn't perform bin sorting, it only updates site pass/fail for internal site status tracking. - Neither it causes a site to be binned as pass or fail nor it generates a FTR. It is recommended you always set it as true. - True: read fail cycles. False: not read fail cycles. Using false can save test time if you don't need to retrieve fail cycles. - Result object, you can retrieve fail cycles and fail logs from it. - - - - This method gets measured frequency from frequency counter. - - An array of pin or pin group names. - The number of sampling when frequency measure was performed. If you set frequency counter to capture 1000 vectors for frequency sampling, you set sampling = 1000 - Sampling period in microseconds. - True: perform limits checking and bin sorting. False: not perform limits checking and bin sorting. - Test number. - An enumerated constant of type FrequencyRange, valid options are GHz/MHz/KHz/Hz. - List of SiteInfo objects - - - - - start keep alive - - Sampling period in microseconds. - pin names. - - - - stop keep alive - - Sampling period in microseconds. - pin names. - - - - start 32.768khz clock keep alive - - pin name - - - - stop 32.768khz clock keep alive - - pin name - - - - set pin keep alive enable - - pin name - - - - set pin keep alive disable - - pin name - - - - This method gets captured data. - By using capture opcode(CAP,CAP1,CAP2...CAP32), you can store pin status into capture memory during pattern execution. - Then you can use this method to get captured data. - DigCapResult has interfaces for accessing per pin capture data. - - - DigCapResult object. - - - - This interface accesses PPMU related methods. - - - - - This method gets a PPMU setting which is defined in the project by the PPMU setting name you provide. - - PPMU setting name, which is defined in project. - PpmuInfo object. - - - - Anolog object - - - - - This method gets Trigger object. - - - - - This method allows you to write code using fluent interface which also known as chaining coding. - - This example creates a new PPMU setting and makes it effective immediately. - - PPMU.CreateBatch().SetPin(new string[] { "A01" }).SetMode(PpmuMode.FVMV).SetForce(1).SetIRange(PpmuIRange._20uA).SetVRange(VRange.Normal).Execute(); - - - - IPPMUBatch object - - - - This method programs PPMU force status of the specified pins. It also allows you to control the slew rate of PPMU force by specifying stepCount, stepDelay and stepValue, with this feature, you can do voltage/current ramping. - Note that for PpmuMode, there are 3 special mode: FVMI_All/FVMV_All/FIMV_All. For example, FVMI_All, it sets all PPMU channels on current slot to FVMI mode, no matter what pins you specified. - - An array of pin or pin group names. - Force value in unit V for voltage and unit A for current, range for voltage force is [-8,13]. - An enumerated constant of type PpmuMode, valid options are FVMI_All/FVMV_All/FIMV_All/FVMI/FVMV/FIMV/FZMI/FZMV. - An enumerated constant of type PpmuIRange, valid options are _5uA/_20uA/_200uA/_2mA/_60mA. - An enumerated constant of type VRange, valid options are HighPrecision/Normal. - Clamp value in string format, for example, "5V","1mA". The clamp is symmetrical, where "5V" stands for high clamp is 5V and low clamp is -5V. - Number of steps for voltage/current ramping, default stepCount = 1, that is, no ramping is performed, target force value is reached at fastest speed. - Delay time in nanosecond between each step, default stepDelay = 1920 - The step size of each step, default stepValue = 0. - - - - This method performs a PPMU parametric test and then do pass/fail judgment and logs the results. - - An array of pin or pin group names. - Whether perform judge or not. Setting it to true means judge the measured value using limits specified by testNo, a PTR is written to stdf. - Setting it to false means do not judge the measured value even testNo is specified, no PTR is written to STDF. - An enumerated constant of type PpmuMode, valid options are FVMI_All/FVMV_All/FIMV_All/FVMI/FVMV/FIMV/FZMI/FZMV. - Force value in unit V for voltage and unit A for current, range for voltage force is [-8,13]. - An enumerated constant of type PpmuIRange, valid options are _5uA/_20uA/_200uA/_2mA/_60mA. - An enumerated constant of type VRange, valid options are HighPrecision/Normal. - An enumerated constant of type PpmuSettingMeasureMode, valid options are IO_Leakage_5uA/IO_Leakage_20uA/IO_Leakage_200uA/IO_Leakage_2mA/IO_Leakage_60mA/OS - The delay time(in microseconds) before the measurement take place. - Test number of the limit setting you want to use. Note that the test number must be defined in the project, ATE_Tester reports error if using a undefined test number. - List of SiteInfo object. You can retrieve the measured results of interested pins by accessing the returned list. - - - - This method performs a PPMU parametric test and then do pass/fail judgment and logs the results. - - An array of pin or pin group names. - Whether perform judge or not. Setting it to true means judge the measured value using limits specified by testNo, a PTR is written to stdf. - Setting it to false means do not judge the measured value even testNo is specified, no PTR is written to STDF. - An enumerated constant of type PpmuMode, valid options are FVMI_All/FVMV_All/FIMV_All/FVMI/FVMV/FIMV/FZMI/FZMV. - Force value in unit V for voltage and unit A for current, range for voltage force is [-8,13]. - An enumerated constant of type PpmuIRange, valid options are _5uA/_20uA/_200uA/_2mA/_60mA. - An enumerated constant of type VRange, valid options are HighPrecision/Normal. - An enumerated constant of type PpmuSettingMeasureMode, valid options are IO_Leakage_5uA/IO_Leakage_20uA/IO_Leakage_200uA/IO_Leakage_2mA/IO_Leakage_60mA/OS - The delay time(in microseconds) before the measurement take place. - BinningInfo object, you can get one by API context.BinHandler.GetBinningByTestSuite(TestSuiteName), ATE_Tester reports error if referring to a undefined TestSuiteName. - List of SiteInfo object. You can retrieve the measured results of interested pins by accessing the returned list. - - - - This method performs a PPMU parametric test and then do pass/fail judgment and logs the results. - - An array of pin or pin group names. - Whether perform judge or not. Setting it to true means judge the measured value using limits specified by testNo, a PTR is written to stdf. - Setting it to false means do not judge the measured value even testNo is specified, no PTR is written to STDF. - An enumerated constant of type PpmuMode, valid options are FVMI_All/FVMV_All/FIMV_All/FVMI/FVMV/FIMV/FZMI/FZMV. - Force value in unit V for voltage and unit A for current, range for voltage force is [-8,13]. - An enumerated constant of type PpmuIRange, valid options are _5uA/_20uA/_200uA/_2mA/_60mA. - An enumerated constant of type VRange, valid options are HighPrecision/Normal. - An enumerated constant of type PpmuSettingMeasureMode, valid options are IO_Leakage_5uA/IO_Leakage_20uA/IO_Leakage_200uA/IO_Leakage_2mA/IO_Leakage_60mA/OS - The delay time(in microseconds) before the measurement take place. - Low clamp value in string format, for example, "-5V","-1mA". Note that the type of clamp is determined by measure mode. For example, in measure voltage mode, clamp is voltage clamp. - High clamp value in string format, for example, "5V","1mA". Note that the type of clamp is determined by measure mode. For example, in measure voltage mode, clamp is voltage clamp. - BinningInfo object, you can get one by API context.BinHandler.GetBinningByTestSuite(TestSuiteName), ATE_Tester reports error if referring to a undefined TestSuiteName. - List of SiteInfo object. You can retrieve the measured results of interested pins by accessing the returned list. - - - - This method performs a PPMU parametric test and then do pass/fail judgment and logs the results. - - An array of pin or pin group names. - Whether perform judge or not. Setting it to true means judge the measured value using limits specified by binning, a PTR is written to stdf and measure log is written into raw log. - Setting it to false means do not judge the measured value even binning is specified, no log or STDF record will be generated. - An enumerated constant of type PpmuMode, valid options are FVMI_All/FVMV_All/FIMV_All/FVMI/FVMV/FIMV/FZMI/FZMV. - Force value in unit V for voltage and unit A for current, range for voltage force is [-8,13]. - An enumerated constant of type PpmuIRange, valid options are _5uA/_20uA/_200uA/_2mA/_60mA. - An enumerated constant of type VRange, valid options are HighPrecision/Normal, using HighPrecision can give you better voltage measurement accuracy. - Low clamp value in string format, for example, "-5V","-1mA". Note that the type of clamp is determined by measure mode. For example, in measure voltage mode, clamp is voltage clamp. - High clamp value in string format, for example, "5V","1mA". Note that the type of clamp is determined by measure mode. For example, in measure voltage mode, clamp is voltage clamp. - An enumerated constant of type TestMode, valid options are Parallel/Serial. - The delay time(in microseconds) before the measurement take place. - value in unit V for voltage - BinningInfo object, you can get one by API context.BinHandler.GetBinningByTestSuite(TestSuiteName), ATE_Tester reports error if referring to a undefined TestSuiteName. - List of SiteInfo object. You can retrieve the measured results of interested pins by accessing the returned list. - - - - This method programs PPMU force status of the specified pins. It also allows you to control the slew rate of PPMU force by specifying stepCount, stepDelay and stepValue, with this feature, you can do voltage/current ramping. - - - Note that for PpmuMode, there are 3 special mode: FVMI_All/FVMV_All/FIMV_All. For example, FVMI_All, it sets all PPMU channels on current slot to FVMI mode, no matter what pins you specified. - - - This example sets the PPMU output mode to force voltage measure current, voltage 5V is applied immediately without any ramping. - - PPMU.Force(new string[] { "PPMU5" }, 5, PpmuMode.FVMI, PpmuIRange._200uA, VRange.Normal); - - This example sets the PPMU output mode to force voltage measure current, voltage 5V is applied by ramping from 0V to 5V in 20 steps. - Note that in this cause you need to set "startValue" parameter to 0. Since 0V is treated as ramp starting point and 20 steps are needed to eventually reach 5V. - - PPMU.Force(new string[] { "PPMU5" }, 0, PpmuMode.FVMI, PpmuIRange._200uA, VRange.Normal, 20, 1000, 5.0 / 20.0); - - This example sets the PPMU output mode to force voltage measure current, voltage 5V is applied by ramping from 1V to 5V in 20 steps. - Note that in this case you need to set "startValue" parameter to 1. Since 1V is treated as ramp starting point and 20 steps are needed to eventually reach 5V. - - PPMU.Force(new string[] { "PPMU5" }, 1, PpmuMode.FVMI, PpmuIRange._200uA, VRange.Normal, 20, 1000, 4.0 / 20.0); - - - An array of pin or pin group names. - Force value in unit V for voltage and unit A for current, range for voltage force is [-8,13]. - An enumerated constant of type PpmuMode, valid options are FVMI_All/FVMV_All/FIMV_All/FVMI/FVMV/FIMV/FZMI/FZMV. - An enumerated constant of type PpmuIRange, valid options are _5uA/_20uA/_200uA/_2mA/_60mA. - An enumerated constant of type VRange, valid options are HighPrecision/Normal. - Number of steps for voltage/current ramping, default stepCount = 1, that is, no ramping is performed, target force value is reached at fastest speed. - Specifies the delay between each step in units. The delay is calculated as `stepDelay` multiplied by 80. - For example, a `stepDelay` of 1920 represents a total delay of 153,600 ns. - This allows for a detailed granularity in timing configurations, facilitating precise control over timing intervals. - The default value of `stepDelay` is 1920, which corresponds to a computed delay of 80 * 1920 units. - The step size of each step, default stepValue = 0. - - - - This method programs PPMU force status of the specified pins. It also allows you to control the slew rate of PPMU force by specifying stepCount, stepDelay and stepValue, with this feature, you can do voltage/current ramping. - - - Note that for PpmuMode, there are 3 special mode: FVMI_All/FVMV_All/FIMV_All. For example, FVMI_All, it sets all PPMU channels on current slot to FVMI mode, no matter what pins you specified. - - - This example sets the PPMU output mode to force voltage measure current, voltage 5V is applied immediately without any ramping. - - PPMU.Force(new string[] { "PPMU5" }, 5, PpmuMode.FVMI, PpmuIRange._200uA, VRange.Normal,"180uA","-10uA"); - - This example sets the PPMU output mode to force voltage measure current, voltage 5V is applied by ramping from 0V to 5V in 20 steps. - Note that in this cause you need to set "startValue" parameter to 0. Since 0V is treated as ramp starting point and 20 steps are needed to eventually reach 5V. - - PPMU.Force(new string[] { "PPMU5" }, 0, PpmuMode.FVMI, PpmuIRange._200uA, VRange.Normal,"180uA","-10uA", 20, 1000, 5.0 / 20.0); - - This example sets the PPMU output mode to force voltage measure current, voltage 5V is applied by ramping from 1V to 5V in 20 steps. - Note that in this case you need to set "startValue" parameter to 1. Since 1V is treated as ramp starting point and 20 steps are needed to eventually reach 5V. - - PPMU.Force(new string[] { "PPMU5" }, 1, PpmuMode.FVMI, PpmuIRange._200uA, VRange.Normal,"180uA","-10uA", 20, 1000, 4.0 / 20.0); - - - An array of pin or pin group names. - Force value in unit V for voltage and unit A for current, range for voltage force is [-8,13]. - An enumerated constant of type PpmuMode, valid options are FVMI_All/FVMV_All/FIMV_All/FVMI/FVMV/FIMV/FZMI/FZMV. - An enumerated constant of type PpmuIRange, valid options are _5uA/_20uA/_200uA/_2mA/_60mA. - An enumerated constant of type VRange, valid options are HighPrecision/Normal. - High clamp value in string format, for example, "5V","1mA". Note that the type of clamp is determined by measure mode. For example, in measure voltage mode, clamp is voltage clamp. - Low clamp value in string format, for example, "-5V","-1mA". Note that the type of clamp is determined by measure mode. For example, in measure voltage mode, clamp is voltage clamp. - Number of steps for voltage/current ramping, default stepCount = 1, that is, no ramping is performed, target force value is reached at fastest speed. - Specifies the delay between each step in units. The delay is calculated as `stepDelay` multiplied by 80. - For example, a `stepDelay` of 1920 represents a total delay of 153,600 ns. - This allows for a detailed granularity in timing configurations, facilitating precise control over timing intervals. - The default value of `stepDelay` is 1920, which corresponds to a computed delay of 80 * 1920 units. - The step size of each step, default stepValue = 0. - - - - This method performs a PPMU parametric test and then do pass/fail judgment and logs the results. - - - This example measures on PPMU pins and judge the results by test number. - - PPMU.Measure(new string[] { "PPMU1" }, true, 2200); - - Note that you can also get test number using test suite name. This example shows how. - - PPMU.Measure(new string[] { "PPMU1" }, true, context.BinHandler.GetBinningByTestSuite("OS").TestNo); - - - An array of pin or pin group names. - Whether perform judge or not. Setting it to true means judge the measured value using limits specified by testNo, a PTR is written to stdf. - Setting it to false means do not judge the measured value even testNo is specified, no PTR is written to STDF. - Test number of the limit setting you want to use. Note that the test number must be defined in the project, ATE_Tester reports error if using a undefined test number. - The number of samples to strobe when perform the measurement, default numberOfSamples = 1. - The sampling interval between each meter strobe, unit is microsecond, default intervalTimeUs = 0. - List of SiteInfo object. You can retrieve the measured results of interested pins by accessing the returned list. - - - - This method performs a PPMU parametric test and then do pass/fail judgment and logs the results. - - - This example measures on PPMU pins and judge the results by test number. - - PPMU.Measure(new string[] { "PPMU1" }, true, 2200); - - Note that you can also get test number using test suite name. This example shows how. - - PPMU.Measure(new string[] { "PPMU1" }, true, context.BinHandler.GetBinningByTestSuite("OS")); - - - An array of pin or pin group names. - Whether perform judge or not. Setting it to true means judge the measured value using limits specified by testNo, a PTR is written to stdf. - Setting it to false means do not judge the measured value even testNo is specified, no PTR is written to STDF. - BinningInfo object, you can get one by API context.BinHandler.GetBinningByTestSuite(TestSuiteName), ATE_Tester reports error if referring to a undefined TestSuiteName. - The number of samples to strobe when perform the measurement, default numberOfSamples = 1. - The sampling interval between each meter strobe, unit is microsecond, default intervalTimeUs = 0. - List of SiteInfo object. You can retrieve the measured results of interested pins by accessing the returned list. - - - - This method performs a PPMU parametric test and then do pass/fail judgment and logs the results. - - - Note that this method only samples the current/voltage once, if you want to get multiple samples and return averaged reading, use another overload of this method. - - An array of pin or pin group names. - Whether perform judge or not. Setting it to true means judge the measured value using limits specified by testNo, a PTR is written to stdf. - Setting it to false means do not judge the measured value even testNo is specified, no PTR is written to STDF. - An enumerated constant of type PpmuMode, valid options are FVMI_All/FVMV_All/FIMV_All/FVMI/FVMV/FIMV/FZMI/FZMV. - An enumerated constant of type PpmuIRange, valid options are _5uA/_20uA/_200uA/_2mA/_60mA. - An enumerated constant of type VRange, valid options are HighPrecision/Normal. - Force value in unit V for voltage and unit A for current, range for voltage force is [-8,13]. - The delay time(in microseconds) before the measurement take place. - BinningInfo object, you can get one by API context.BinHandler.GetBinningByTestSuite(TestSuiteName), ATE_Tester reports error if referring to a undefined TestSuiteName. - List of SiteInfo object. You can retrieve the measured results of interested pins by accessing the returned list. - - - - This method performs a PPMU parametric test and then do pass/fail judgment and logs the results. - - - Note that this method automatically connects PPMU to device pin, performs force, measurement and limit judge then disconnects pin. - - An array of pin or pin group names. - Whether perform judge or not. Setting it to true means judge the measured value using limits specified by testNo, a PTR is written to stdf. - Setting it to false means do not judge the measured value even testNo is specified, no PTR is written to STDF. - An enumerated constant of type PpmuMode, valid options are FVMI_All/FVMV_All/FIMV_All/FVMI/FVMV/FIMV/FZMI/FZMV. - An enumerated constant of type PpmuIRange, valid options are _5uA/_20uA/_200uA/_2mA/_60mA. - An enumerated constant of type VRange, valid options are HighPrecision/Normal. - Force value: ForceRange[-8,13], default unit V for voltage and A for current - The delay time(in microseconds) before the measurement take place. - BinningInfo object, you can get one by API context.BinHandler.GetBinningByTestSuite(TestSuiteName), ATE_Tester reports error if referring to a undefined TestSuiteName. - List of SiteInfo object. You can retrieve the measured results of interested pins by accessing the returned list. - - - - This method performs a PPMU parametric test and then do pass/fail judgment and logs the results. - - To be tested pin - reference pin - judge by the measure result - true: judge; false: no judge - binning object - offset measure result - true: offset measure result; false: no offset measure result - Number of samples for measurement,default numberOfSamples = 0 - Interval time between each sampling, unit in us,default intervalTimeUs = 0 - - - - - This method sets PPMU clamp for the specified pins. - - An array of pin or pin group names. - An enumerated constant of type PpmuMode, valid options are FVMI_All/FVMV_All/FIMV_All/FVMI/FVMV/FIMV/FZMI/FZMV. - An enumerated constant of type PpmuIRange, valid options are _5uA/_20uA/_200uA/_2mA/_60mA. - An enumerated constant of type VRange, valid options are HighPrecision/Normal. - High clamp value in string format, for example, "5V","1mA". The system will report error if set clampH to a value which is less than clampL. Also if clamp value exceeds the allowable clamp range, the allowable clamp range will be applied. - Low clamp value in string format, for example, "-1V","-2mA". The system will report error if set clampL to a value which is greater than clampH. Also if clamp value exceeds the allowable clamp range, the allowable clamp range will be applied. - - - - This method reads temperature of the PPMU instrument board. - - Temperature data - - - - This method performs a PPMU parametric test and then do pass/fail judgment and logs the results. - - - This method can sample the current/voltage specified times with specified sampling rate. - If you want to make judgement of measurement, do not use None for parameter judgeType and do make sure measureType contains the type you want to judege. For example, if judgeType is Average, then Average must be included in measureType, otherwise you may get wrong judgement. - - Pin name - Number of samples for measurement - Interval time in microsecond between each sampling - An enumerated constant of type JudgeType, valid options are Average/Max/Min/None. - An enumerated constant of type JudgeType, valid options are Average/Max/Min.By specifying one or more members of this enumeration, you can control measurements independently. (Use more than one member simultaneously using the | operator. - BinningInfo object. - List of SiteInfo object. You can retrieve the measured results of interested pins by accessing the returned list. - - - - This interface accesses methods which allows you to perform chaining coding. - You can use this interface to program PPMU channels status individually. - - - - string ppmuName = "ppmuName"; - string[] ioPins = { "A01", "A02" }; - PpmuMode ppmuMode = PpmuMode.FVMV; - double forceV = 3.3;//in unit V - //Step1:Create an IPPMUBatch object, whose properties are empty. - IPPMUBatch ppmuBatch = PPMU.CreateBatch(); - //Step2:Set properties using chaining coding. - ppmuBatch = ppmuBatch.SetPin(ioPins).SetMode(ppmuMode).SetForce(forceV); - //Step3:Make ppmuBatch effective immediately. - ppmuBatch.Execute(); - //Operations in Step1 to Step3 can also be simply written as below. - //PPMU.CreateBatch().SetPMU(ppmuInfo).SetPin(ioPins).SetMode(ppmuMode).SetForce(forceV).Execute(); - - - - - - This method sets PPMU channles status using PPMUInfo object. - Note that a PpmuInfo object is usually generated by PPMU.Clone(PPMUSettingName) API. Available PPMUSettingName can be found in project, PPMU setting page. - - - - PpmuInfo ppmuInfo = PPMU.Clone(PPMUSettingName);//get PPMU setting, which is defined in project. - IPPMUBatch ppmuBatch = PPMU.CreateBatch();//apply the PPMU setting, make it effective immediately. - ppmuBatch.SetPMU(ppmuInfo); - - - PpmuInfo obect. - IPPMUBatch object. - - - This method sets PPMU current range. - An enumerated constant of type PpmuIRange, valid options are _5uA/_20uA/_200uA/_2mA/_60mA. - IPPMUBatch object - - - - This method sets PPMU force value, it can be voltage or current value. - - Force value in unit V for voltage and unit A for current, range for voltage force is [-8,13]. - IPPMUBatch object - - - - This method sets PPMU force mode. - Note that for PpmuMode, there are 3 special mode: FVMI_All/FVMV_All/FIMV_All. For example, FVMI_All, it sets all PPMU channels on current slot to FVMI mode, no matter what pins you specified. - - An enumerated constant of type PpmuMode, valid options are FVMI_All/FVMV_All/FIMV_All/FVMI/FVMV/FIMV/FZMI/FZMV. - IPPMUBatch object - - - This method sets PPMU pin names. - An array of pin or pin group names. - IPPMUBatch object - - - This method sets PPMU voltage range. - An enumerated constant of type VRange, valid options are HighPrecision/Normal. - IPPMUBatch object - - - This method sets PPMU clamp. - clamp low with units, supported units are V, mV, uV, A, mA, uA. - clamp high with units, supported units are V, mV, uV, A, mA, uA. - - - - - This method sets the stepCount property. - To correctly perform voltage or current ramping with this API, refer to PPMU.Force document. - - Number of steps for voltage/current ramping, if you set stepCount = 1, that is, no ramping is performed, target force value is reached at fastest speed. - IPPMUBatch object - - - - This method sets the stepValue property. - To correctly perform voltage or current ramping with this API, refer to PPMU.Force document. - - The step size of each step. - IPPMUBatch object - - - - This method sets the stepDelay property. - To correctly perform voltage or current ramping with this API, refer to PPMU.Force document. - - Delay time in nanosecond between each step. - IPPMUBatch object - - - - PPMU 指令工厂 - - - - - - - - - - 获取所有通道PPMU指令 - - - - - - - - - - - 根据通道获取PPMU指令 - - - - - - - - - - - - - - - 根据脚名获取PPMU指令 - - - - - - - - - - - - - - - 获取设置PPMU钳位指令 - - - - - - - - 根据获取PPMU指令 - - - - - - - - 根据名字获取PPMU指令 - - - - - - - - 获取PPMU reg flag - - - - - - - - - - - 获取PpmuSetting指令 - - - - - - - - - - 获取PpmuSetting指令 - - - - - - - - - - - 获取PpmuSetting mark指令 - - - - - - 获取Trigger Setting指令 - - - - - - - - - 获取Trigger Read指令 - - - - - - - 获取通道,包含Marked通道 - - - - - - - 获取多次回读取平均指令 - - times">采样次数 - 每次采样的时间间隔,单位:us - 是否更新为新接口 - - - - - 获取PPMU 模拟量指令 - - - - - - - - - - - 配置并启动数字量采集 - - - - 1 sampleInterval = 4us - - - - - 读取数字量采集统计值 - - - - - - - 读取数字量采样值 - - - - - - - - 启动信号发生器 - - - - - - - - - - - - 停止信号发生器 - - - - - - - 获取Pin to Pin OS 测试指令 - - - - - - - - - - - 获取PPMU Clamp 指令 - - - - - - - - - - - - 获取PPMU OS PinToPin clamp指令 - - - - - - - - - - - - PPMU 回读指令 - - - - - - 获取Arm force 补偿指令 - - - - - - PPMUSettingCmd - - - - - - - - - - - - - - This interface accesses methods which allows you to perform chaining coding. - You can use this interface to connect or disconnect IO pins to or from DUT pins. - - - - - This method gets a relay connection setting which is defined in the project by the relay connection setting name you provide. - - Relay connection setting name. - RelayInfo object. - - - - This method connects or disconnects all IO pins to or from PPMU and PE(pin electronic, driver and comparator of the test system). - - - Disconnect all IO pins, all IO pins will be disconnected from PPMU or digital channel, based on what their were connected to. - After this code execution, no PPMU or PE is connected to any IO pin. - - RELAY.SwitchMode(RelayMode.Open); - - Connect all IO pins to PPMU. - - RELAY.SwitchMode(RelayMode.ToPPMU); - - Connect all IO pins to PE. - - RELAY.SwitchMode(RelayMode.ToIO); - - - An enumerated constant of type RelayMode, valid options are Open/ToPPPMU/ToIO. - IRelay object. - - - - This method connects the specified pins to PE(pin electronic, driver and comparator of the test system). - - An array of pin or pin group names. - IRelay object. - - - - This method disconnects the specified pins from PPMU or PE, based on what their were connected to. - - An array of pin or pin group names. - IRelay object. - - - - This method connects the specified pins to the PPMU. - - An array of pin or pin group names. - IRelay object. - - - - This method allows you to write code using fluent interface which also known as chaining coding. - - - Connect A01 to PPMU and A02 to PE. - - RELAY.SwitchToPPMU(new string[] { "A01" }).SwitchToDigitalCard(new string[] { "A02" }); - - - IRelayBatch object. - - - - This interface accesses methods which allows you to perform chaining coding. - You can use this interface to connect or disconnect the specified pins to or from PPMU or PE. - - - - RELAY.CreateBatch().SetPin(new string[] { "A01", "A02" }).SetMode(RelayMode.ToPPMU).SetPin(new string[] { "A03", "A04" }).SetMode(RelayMode.ToIO); - - - - - This method sets relay connection mode. - An enumerated constant of type RelayMode, valid options are Open/ToPPPMU/ToIO. - IRelayBatch object. - - - - This method sets pins for IO relay connection or disconnection. - - An array of pin or pin group names. - IRelayBatch object. - - - - Relay 指令工厂 - - - - - - - - - - 获取所有Relay切换指令 - - - - - - - 获取不同的通道切到不同的状态指令 - - - - - - - - 获取不同的通道切到不同的状态指令 - - - - - - - - 获取据通道设置对应Relay切换到不同状态指令 - - - - - - - - 获取据通道设置对应Relay切换到不同状态指令 - - - - - - - - GetRelayCmdByInfo - - - - - - - 获取 Relay 指令 - - - - - - - - - 更新 Relay 状态 - - - - - - - 获取Relay指令,根据表名 - - - - - - - - Stop On Fail - - - - - - Stop On Fail - - - - - - Interface for Shmoo function - - - - - Perform Shmoo - - Shmoo parameters - - true: print error cycle as well as result - false: print result only - default = false - - - - - - Perform PinMargin - - parameters - - true: print error cycle as well as result - false: print result only - default = false - - - - - - Perform VMinVMax - - pamameters - - true: print error cycle as well as result - false: print result only - default = false - - - - - - Filter Shmoo Result - - - - - - - - - - Runs specified user test functions on specified sites using the SiteManager. Key featuress include: - 1) allow conditional flow execution, e.g. only specified sites will execute test functions while the rest of sites won't execute; - 2) allow sites to execute the flow test sequencially, e.g. site 2 starts test after site 1 finishes the test. - - - Executes test cases on specified groups of sites using the SiteManager. - - /// Executes test cases on specified groups of sites using the SiteManager. - /// - /// An instance of IFlowRunnerContext providing context for the test. - [TestrongTestCase] - public void SiteManagerTest(IFlowRunnerContext context) - { - // Retrieve all site information (1-8). - var siteInfos1_8 = context.ChannelMapProvider.GetAllSiteInfos(); - - // Split site information into two groups: 1-4 and 4-8. - var siteInfos1_4 = siteInfos1_8.Where(t => t.No <= 4); - var siteInfos4_8 = siteInfos1_8.Where(t => t.No > 4); - - // Execute TestCase1 on sites 1-4 and TestCase2 on sites 4-8 using SiteManager. - SITEMANAGER.Start(siteInfos1_4, TestCase1) // Executes TestCase1 on sites 1-4. - .Start(siteInfos4_8, TestCase2); // Executes TestCase2 on sites 4-8. - - // TODO: Add more test functions as needed. - } - - /// - /// Test case handling functionality for sites 1-4. - /// - /// An instance of IFlowRunnerContext providing context for the test. - [TestrongTestCase] - public void TestCase1(IFlowRunnerContext context) - { - // Retrieve site information for sites 1-4. - var siteInfos1_4 = context.ChannelMapProvider.GetAllSiteInfos(); - - // Split site information into two groups: 1-2 and 3-4. - var siteInfos1_2 = siteInfos1_4.Where(t => t.No <= 2); - var siteInfos3_4 = siteInfos1_4.Where(t => t.No > 2); - - // Execute TestCase3 on sites 1-2 and TestCase4 on sites 3-4 using SiteManager. - SITEMANAGER.Start(siteInfos1_2, TestCase3) // Executes TestCase3 on sites 1-2. - .Start(siteInfos3_4, TestCase4); // Executes TestCase4 on sites 3-4. - - // TODO: Add more test functions as needed. - } - - /// - /// Test case handling functionality for sites 4-8. - /// - /// An instance of IFlowRunnerContext providing context for the test. - [TestrongTestCase] - public void TestCase2(IFlowRunnerContext context) - { - // Retrieve site information for sites 4-8. - var siteInfos4_8 = context.ChannelMapProvider.GetAllSiteInfos(); - - // TODO: Add test function specific code for sites 4-8. - } - - /// - /// Test case handling functionality for sites 1-2. - /// - /// An instance of IFlowRunnerContext providing context for the test. - [TestrongTestCase] - public void TestCase3(IFlowRunnerContext context) - { - // Retrieve site information for sites 1-2. - var siteInfos1_2 = context.ChannelMapProvider.GetAllSiteInfos(); - - // TODO: Add test function specific code for sites 1-2. - } - - /// - /// Test case handling functionality for sites 3-4. - /// - /// An instance of IFlowRunnerContext providing context for the test. - [TestrongTestCase] - public void TestCase4(IFlowRunnerContext context) - { - // Retrieve site information for sites 3-4. - var siteInfos3_4 = context.ChannelMapProvider.GetAllSiteInfos(); - - // TODO: Add test function specific code for sites 3-4. - } - ]]> - - Array of SiteInfo objects representing sites to enable for testing. - Action representing the test function to execute. The function must have the attribute "[TestrongTestCase]" and be declared as "public void FunctionName(IFlowRunnerContext context)". - Returns an ISiteManager instance to support method chaining. - - - - This method runs specified user test functions on specified sites. It supports chaining coding. - When this method is invoked, only sites specified by user will executed test functions, other sites remain untouched. - - Executes test cases on specified groups of sites using the SiteManager. - - /// Executes test cases on specified groups of sites using the SiteManager. - /// - /// An instance of IFlowRunnerContext providing context for the test. - [TestrongTestCase] - public void SiteManagerTest(IFlowRunnerContext context) - { - // Retrieve all site information (1-8). - var siteInfos1_8 = context.ChannelMapProvider.GetAllSiteInfos(); - - // Split site information into two groups: 1-4 and 4-8. - var siteInfos1_4 = siteInfos1_8.Where(t => t.No <= 4); - var siteInfos4_8 = siteInfos1_8.Where(t => t.No > 4); - - // Execute TestCase1 on sites 1-4 before executing TestCase2 on sites 4-8 using SiteManager. - SITEMANAGER.Start(siteInfos1_4, TestCase1) // Executes TestCase1 on sites 1-4. - .Start(siteInfos4_8, TestCase2); // Executes TestCase2 on sites 4-8. - - // TODO: Add more test functions as needed. - } - - /// - /// Test case handling functionality for sites 1-4. - /// - /// An instance of IFlowRunnerContext providing context for the test. - [TestrongTestCase] - public void TestCase1(IFlowRunnerContext context) - { - // Retrieve site information for sites 1-4. - var siteInfos1_4 = context.ChannelMapProvider.GetAllSiteInfos(); - - // Split site information into two groups: 1-2 and 3-4. - var siteInfos1_2 = siteInfos1_4.Where(t => t.No <= 2); - var siteInfos3_4 = siteInfos1_4.Where(t => t.No > 2); - - // Execute TestCase3 on sites 1-2 and TestCase4 on sites 3-4 using SiteManager. - SITEMANAGER.Start(siteInfos1_2, TestCase3) // Executes TestCase3 on sites 1-2. - .Start(siteInfos3_4, TestCase4); // Executes TestCase4 on sites 3-4. - - // TODO: Add more test functions as needed. - } - - /// - /// Test case handling functionality for sites 4-8. - /// - /// An instance of IFlowRunnerContext providing context for the test. - [TestrongTestCase] - public void TestCase2(IFlowRunnerContext context) - { - // Retrieve site information for sites 4-8. - var siteInfos4_8 = context.ChannelMapProvider.GetAllSiteInfos(); - - // TODO: Add test function specific code for sites 4-8. - } - - /// - /// Test case handling functionality for sites 1-2. - /// - /// An instance of IFlowRunnerContext providing context for the test. - [TestrongTestCase] - public void TestCase3(IFlowRunnerContext context) - { - // Retrieve site information for sites 1-2. - var siteInfos1_2 = context.ChannelMapProvider.GetAllSiteInfos(); - - // TODO: Add test function specific code for sites 1-2. - } - - /// - /// Test case handling functionality for sites 3-4. - /// - /// An instance of IFlowRunnerContext providing context for the test. - [TestrongTestCase] - public void TestCase4(IFlowRunnerContext context) - { - // Retrieve site information for sites 3-4. - var siteInfos3_4 = context.ChannelMapProvider.GetAllSiteInfos(); - - // TODO: Add test function specific code for sites 3-4. - } - ]]> - - - enableSiteInfos: Array of int, contains site number of interested sites. - testCaseCallBack: Name of test function to be executed. Note that a valid test function must has attribute "[TestrongTestCase]" - and must be declared in convention "public void FunName(IFlowRunnerContext context)". - - - - - 系统指令工厂 - - - - - DC Setting - - - - - LoadBoard Relay - - - - - Flow Skip Service - - - - - Get wafer information: wafer id, lot id etc.. - - - - - - 系统Reset - - - - - DigitalCard Reset - - - - - Suspends the current thread for the specified number of milliseconds. - - - - - - Suspends the current thread for the specified number of milliseconds. - - - - - - - wait system synchronization - - Synchronous callback function - - - - - - - - - 获取系统复位指令 - - - - - - 获取DigitalCard Reset指令 - - - - - - - 获取checkBusy指令 - - unit:(ms) - - - - - 根据Pattern名字获取系统CheckBusy指令 - - - - - - - shmoo 调用 - - - - - - - - 获取系统Open指令 - - - - - - - 系统PPMU default clamp 指令 - - - - - - 获取系统所有状态复位指令 - - - - - - 发送CheckBusyCmd - - - - - - - - Measure with add offset - - To be tested pins - Reference pins - Trigger mode ranges - Offset measure result - true: offset measure result; false: no offset measure result - - - - - This interface accesses methods which allows you to perform chaining coding. - You can use this interface to program the specified pin's VT status individually. - - - - - This method gets a VT setting which is defined in the project by the VT setting name you provide. - - VT setting name. - VTInfo object. - - - - This method allows you to write code using fluent interface which also known as chaining coding. - - IVTBatch object. - - - - This method loads the specified VT setting to the specified pins. - - - This example loads VT setting "VT_1V8" to the specified pins. - - PATTERN.DCLevel.VT.UpdateVT(new string[] { "A01", "A02" }, PATTERN.DCLevel.VT.Clone("VT_1V8")); - - - An array of pin or pin group names. - VTInfo object. - - - - This method programs VT for the specified pins. - - - - PATTERN.DCLevel.VT.UpdateVT(new string[] { "A01", "A02" }, 1.8,2400); - - - An array of pin or pin group names. - Voltage reference, in Volt - Resistor load, in Ohm - - - - This interface accesses VT chaining coding related methods. - - - string[] pins = { "A01", "A02" }; - double rLoad = 1; - double vref = 1; - PATTERN.DCLevel.VT.CreateBatch().SetPin(pins).SetRload(rLoad).SetVref(vref).Execute(); - - - - - - - This method sets pin/pin group for VT. - - An array of pin or pin group names. - IVTBatch object. - - - - This method sets voltage reference for VT. - - VT voltage reference, in Volt - IVTBatch object. - - - - This method sets resistor load for VT. - - Resistance in Ohm - IVTBatch object. - - - - 设置VT Molex TMUX 根据通道 - - - - - - - - - - 设置VT Molex TMUX 根据脚名 - - - - - - - - - - - - - - - - - 根据通道设置VT电压 - - - - - - - - - 设置全通道VT电阻 - - - - - - - - - 设置部分通道VT电阻 - - - - - - - - - - 设置部分通道VT电阻 - - - - - - - - - - 根据脚名设置VT电压 - - - - - - - - - k7方向表,公共变量待提取 - - - PatternOrderInfo - - - CaptureInfo - - - TrimInfo - - - - - 打包指令 - - - - - - 启动打包指令 - - - - - debug是否存在ram/onor pattern,并且是否下载ram/onor pattern - - - - - 是否下载 Ram Pattern - - - true:已下载 - false:未下载需要提示 - - - - - 是否下载 Onor Pattern - - - true:已下载 - false:未下载需要提示 - - - - - 检查是否存在 ram/onor pattern - - - - - - - 总行数 - - - - - 每行byte数 - - - - - - - - - - - - - - 将一个page内容分配到每一片onor的内存中 - - - - - - - 获取onor地址 - - bytes长度 - - - - - 总行数 - - - - - 每行byte数 - - - - - - - - - - - - - 将一个page内容分配到每一片onor的内存中 - - - - - - - 获取onor地址 - - bytes长度 - - - - - 总行数 - - - - - 每行byte数 - - - - - - - - - - - - - - 将一个page内容分配到每一片onor的内存中 - - - - - - - 获取onor地址 - - bytes长度 - - - - - 总行数 - - - - - 每行byte数 - - - - - - - - - - - - - 将一个page内容分配到每一片onor的内存中 - - - - - - - - 获取onor地址 - - bytes长度 - - - - - 启动(onor/ram)pattern - - pattern文件名称(无文件后缀) - - - - - 计算pattern执行时间 - - - - - - - - 计算pattern执行时间 - - - - - - - - 启动pattern - - - - - - - - - - - 启动pattern - - - - - - - - - - - start pattern. - - - - - - - - - - - 启动(onor/ram)pattern - - pattern文件名称(无文件后缀) - 实例(必填) - - - - - get pattern execution time. - - - - - - - - - get pattern execution time. - - - - - - - - - Check pattern status - - - - - - Check pattern status with execute time,which used in 15 software version - - - - - - - - - - - - pattern启动命令类 - - - - - pattern启动命令类 - - - - - 初始方向表 - - - - - - 获取方向表指令数量数组(校验位) - - 方向表指令数 - k7Type(u1u2u3u4) - - - - - 获取实际地址数组 - - 方向表字典 - k7Type - - - - - 十六进制字符串转换为byte[] - - - - - - - 获取方向表字节数组 - - - - - - - - - 遍历flow item - - - - - - 遍历item function - - - - - - 获取上一个离当前pattern最近的actiming - - - - - - - 实现pattern的编译/下载/反填的批处理 - 注:该接口的实现 不开启 线程(供production调用) - - - - - 生成隐藏文件,标识arm断电重启 - - - - - 删除隐藏文件,标识arm断电重启后发送过重置K7的指令 - - - - - 根据隐藏检测arm是否断过电 - - - - - - 拷贝文件至Pattern中的Bak文件夹 - - 源pattern文件(含cap) - - - - 在点击另存操作时调用此方法判断pattern状态 - - 当前stil所在文件夹 - - - - 当更换stil时,删除上次的缓存 - - - - - - Pattern文件是否改变 - - - - - - Pattern文件是否改变 - - - - - - 将PatternOrderInfoCompile中的Nor数据映射至PatternOrderInfoLoad - - - - - 将PatternOrderInfoCompile中的Ram数据映射至PatternOrderInfoLoad - - - - - save - - - - - - - load - - - - - - - shmoo tool 页面加载时调用,列表显示 - - - - - - delete - - - - - K7矩阵图 - +--------------------------------------------------------------------+ - | 63←←←←←←←←←←←←←←←←←←←←←←←←←←←←←←←00| - |63 1000000000000000000000000000000000000000000000000000000000000000 | - |↓ 0100000000000000000000000000000000000000000000000000000000000000 | - |↓ 0010000000000000000000000000000000000000000000000000000000000000 | - |↓ 0001000000000000000000000000000000000000000000000000000000000000 | - |↓ 0000100000000000000000000000000000000000000000000000000000000000 | - |↓ 0000010000000000000000000000000000000000000000000000000000000000 | - |↓ 0000001000000000000000000000000000000000000000000000000000000000 | - |↓ 0000000100000000000000000000000000000000000000000000000000000000 | - |↓ 0000000010000000000000000000000000000000000000000000000000000000 | - |↓ 0000000001000000000000000000000000000000000000000000000000000000 | - |↓ 0000000000100000000000000000000000000000000000000000000000000000 | - |↓ 0000000000010000000000000000000000000000000000000000000000000000 | - |↓ 0000000000001000000000000000000000000000000000000000000000000000 | - |↓ 0000000000000100000000000000000000000000000000000000000000000000 | - |↓ 0000000000000010000000000000000000000000000000000000000000000000 | - |↓ 0000000000000001000000000000000000000000000000000000000000000000 | - |↓ 0000000000000000100000000000000000000000000000000000000000000000 | - |↓ 0000000000000000010000000000000000000000000000000000000000000000 | - |↓ 0000000000000000001000000000000000000000000000000000000000000000 | - |↓ 0000000000000000000100000000000000000000000000000000000000000000 | - |↓ 0000000000000000000010000000000000000000000000000000000000000000 | - |↓ 0000000000000000000001000000000000000000000000000000000000000000 | - |↓ 0000000000000000000000100000000000000000000000000000000000000000 | - |↓ 0000000000000000000000010000000000000000000000000000000000000000 | - |↓ 0000000000000000000000001000000000000000000000000000000000000000 | - |↓ 0000000000000000000000000100000000000000000000000000000000000000 | - |↓ 0000000000000000000000000010000000000000000000000000000000000000 | - |↓ 0000000000000000000000000001000000000000000000000000000000000000 | - |↓ 0000000000000000000000000000100000000000000000000000000000000000 | - |↓ 0000000000000000000000000000010000000000000000000000000000000000 | - |↓ 0000000000000000000000000000001000000000000000000000000000000000 | - |↓ 0000000000000000000000000000000100000000000000000000000000000000 | - |↓ 0000000000000000000000000000000010000000000000000000000000000000 | - |↓ 0000000000000000000000000000000001000000000000000000000000000000 | - |↓ 0000000000000000000000000000000000100000000000000000000000000000 | - |↓ 0000000000000000000000000000000000010000000000000000000000000000 | - |↓ 0000000000000000000000000000000000001000000000000000000000000000 | - |↓ 0000000000000000000000000000000000000100000000000000000000000000 | - |↓ 0000000000000000000000000000000000000010000000000000000000000000 | - |↓ 0000000000000000000000000000000000000001000000000000000000000000 | - |↓ 0000000000000000000000000000000000000000100000000000000000000000 | - |↓ 0000000000000000000000000000000000000000010000000000000000000000 | - |↓ 0000000000000000000000000000000000000000001000000000000000000000 | - |↓ 0000000000000000000000000000000000000000000100000000000000000000 | - |↓ 0000000000000000000000000000000000000000000010000000000000000000 | - |↓ 0000000000000000000000000000000000000000000001000000000000000000 | - |↓ 0000000000000000000000000000000000000000000000100000000000000000 | - |↓ 0000000000000000000000000000000000000000000000010000000000000000 | - |↓ 0000000000000000000000000000000000000000000000001000000000000000 | - |↓ 0000000000000000000000000000000000000000000000000100000000000000 | - |↓ 0000000000000000000000000000000000000000000000000010000000000000 | - |↓ 0000000000000000000000000000000000000000000000000001000000000000 | - |↓ 0000000000000000000000000000000000000000000000000000100000000000 | - |↓ 0000000000000000000000000000000000000000000000000000010000000000 | - |↓ 0000000000000000000000000000000000000000000000000000001000000000 | - |↓ 0000000000000000000000000000000000000000000000000000000100000000 | - |↓ 0000000000000000000000000000000000000000000000000000000010000000 | - |↓ 0000000000000000000000000000000000000000000000000000000001000000 | - |↓ 0000000000000000000000000000000000000000000000000000000000100000 | - |↓ 0000000000000000000000000000000000000000000000000000000000010000 | - |↓ 0000000000000000000000000000000000000000000000000000000000001000 | - |↓ 0000000000000000000000000000000000000000000000000000000000000100 | - |↓ 0000000000000000000000000000000000000000000000000000000000000010 | - |00 0000000000000000000000000000000000000000000000000000000000000001 | - +---------------------------------------------------------------------+ - - +---+------------------------+ +---+---------------------------+ - | X | 第一片K7对应的channel | | Y | 第二三四片K7对应的channel | - +---+------------------------+ +---+---------------------------+ - - - - 一片K7 64个channel - - - - - 实现pattern的编译/下载/反填的批处理 - 注:该接口的实现 不开启 线程(供production调用) - - - - - compile-load映射器 - - - - - - compile中的nor数据映射到load - - - - - stop on fail 开启,且上个测试项含fail site - memory 中含上个测试项fail site 的pass site置fail - - - - - 根据通道读取pattern频率 - - 读取频率的通道数组(必填) - k7采取次数(必填) - k7采取次数系数(必填) - 返回通道由小到大的频率值 - - - - 获取signalNames的所有channel - - - - - - - - This method extracts data captured by specified opcode of specified site from DigCapResult object. - - pinName on which data is captured. - number of site from which data is captured. - An enumerated constant of type OpCode, valid options are CAP and CAP1~CAP32. - Array of chars containing data, data can be '0' or '1' - - - - This method extracts data captured by specified opcode of specified site from DigCapResult object. - - pinName on which data is captured. - number of site from which data is captured. - An enumerated constant of type OpCode, valid options are CAP and CAP1~CAP32. - Unsigned long value of captured data. Note that if captured data exceeds 64, which is the max length of ulong, ATE_Tester will report error. - - - - This method extracts data captured by specified opcode of specified site from DigCapResult object. - - pinName on which data is captured. - number of site from which data is captured. - An enumerated constant of type OpCode, valid options are CAP and CAP1~CAP32. - Unsigned int value of captured data. Note that if captured data exceeds 32, which is the max length of uint, ATE_Tester will report error. - - - - 校验Trim是否成功 : 对比RAM 内存和ATE本地修改Json内容是否一致 - - pattern文件名称(无文件后缀) - 字典类型,key为Pattern名称,Value为bool类型的对比结果 - - - - trim修改(某个channel)driver单列 - - pattern文件名称(无后缀)(必填) - 脚名(必填) - map中对应的site(必填) - SEND标识(必填,范围[SEND1,SEND2,SEND3,SEND4,SEND5,SEND6]) - SEND标识对应要修改的十进制值(必填) - - - - send trim后修改行的内容 - - pattern文件名称(无后缀)(必填) - - - - - - send trim后修改行的内容 - - pattern文件名称(无后缀)(必填) - - - - - - send trim后修改行的内容 - - pattern文件名称(无后缀)(必填) - pattern文件中提示的行号(注:修改pattern文件后一定要check)(必填) - - - - - trim update. - - - - - - - - - - - trim pattern - - - - - - - - - - - - 刷新 - - - - - - trim修改(某个channel)driver单列 - - pattern文件名称(无后缀)(必填) - 脚名(必填) - map中对应的site(必填) - SEND标识(必填,范围[SEND1,SEND2,SEND3,SEND4,SEND5,SEND6]) - SEND标识对应要修改的十进制值(必填) - - - - - - - - - - - - - - send trim后修改行的内容 - - pattern文件名称(无后缀)(必填) - - - - - - send trim后修改行的内容 - - pattern文件名称(无后缀)(必填) - - - - - - send trim后修改行的内容 - - pattern文件名称(无后缀)(必填) - pattern文件中提示的行号(注:修改pattern文件后一定要check)(必填) - - - - - - - - - - - - - 和对应channel的上次数据做对比,!=则修改状态Changed,isSend=true - - - - - - - - 判断未使用的channel中是否是init状态 - - - - - - - - - - - - - - - - - - - - - - - - - 获取FPGACHX集合信息 - - - - - - - - - - - - - - - - - - - 和对应channel的上次数据做对比,!=则修改状态Changed,isSend=true - - - - - - - - 判断未使用的channel中是否是init状态 - - - - - - - - - - - - - - - - - - - - - - - - 跨周期比较计算 - - - - - - - - - 获取FPGACHX集合信息 - - - - - - - - - - - - - - - - - - - 和对应channel的上次数据做对比,!=则修改状态Changed,isSend=true - - - - - - - - 判断未使用的channel中是否是init状态 - - - - - - - - - - - - - - - - - - - - - - - - - 跨周期比较计算 - - - - - - - - - - 获取FPGACHX集合信息 - - - - - - - - - - - - - - - - - ACTiming补偿解析类 - - - - - 解析文本 - - - - - - - - - - - - DCLevel设置类型 - - - - - Input High - - - - - Input Low - - - - - Output High - - - - - Output Low - - - - - VIH, Range [0, 5.8] - - - - - - - VIL, Range [0, 5.8] - - - - - - - VOH, Range: [0, 4] - - - - - - - VOH, Range: [0, 4] - - - - - - - - - - - - DCLevel预设并且通过地址启动版本(最大VIH,VIL支持设置16个值) - - - - - 88C_A 16 share 1 - - - - - VT 不生效版本 - - - - - - - - - - - - - - - 内部API实现类 - - - - - Relay 切换到Short - - 脚名 - - - - PPMU Force - - siteNo - 脚名 - Force值,ForceRange[-8,13],电压单位默认伏特,电流单位默认安培 - 模式:FIMV,FVMI,FVMV,FZMV,FZMI - 电流挡位:_5uA,_20uA,_200uA,_2mA,_60mA - 电压挡位:HighPrecision,Normal - 阶梯上电跳变次数 - 阶梯上电每次跳变Delay时间,Unit:(ns)=stepDelay*80(ns) - 阶梯上电跳变值 - - - - DPS Force - - siteNo - 脚名 - Force值,ForceRange[-8,13],电压单位默认伏特,电流单位默认安培 - DPS 模式:FVMI,FVMV,FIMV, FZMI,FZMV - 电流挡位:_5uA,_20uA,_200uA,_2mA,_60mA,_1A - 电压挡位:HighPrecision,Normal - 阶梯上电跳变次数 - 阶梯上电每次跳变Delay时间,Unit:ns - 阶梯上电跳变值 - - - - 内部方法工厂 - - - - - - - - - - - - - - - - Post STDF Ftr record - - - - true: Post success, false: Not Post(ignore by stop on fail) - - - - - - - - - - - - - Post STDF PTR record - - - - - true: Post success, false: Not Post(ignore by stop on fail) - - - - Post STDF PTR record - - - - - - true: Post success, false: Not Post(ignore by stop on fail) - - - - Post STDF PTR record - - - - - true: Post success, false: Not Post(ignore by stop on fail) - - - - Post RawText log - - - - - - Post RawText log - - - - - - Post RawText log - - - - - - - Post RawText log - - - - - - - - Post RawText log - - - - - - - - - Post RawText log - - - - - - - - Post ReportText log - - - - - - Post ReportText log - - - - - - Post Csv pre header - - - - - - Post Csv foot - - - - - - 获取回读指令 - - - - - - - - 获取多次回读DPS或者PPMU指令 - - 回读次数 - 每次回读的时间间隔 - 是否是DPS回读 - - - - - mark OS relay - - - - - - - - - - - - Obsolete Trim operation - - pattern name - pin or pin group - site (starting from 1) - Trim Opcode(SEND1,SEND2,SEND3,SEND4,SEND5,SEND6)one can write up to 64 lines. - all bits to be updated, expressed in Dec in Big Endian; - e.g. 0b0100 = 4 will update SEND1[0] = 0, SEND1[1] = 1, SEND1[2] = 0, SEND1[3] = 0 - - - - - TTR Trim operation - - pattern name - pin or pin group - site (starting from 1) - Trim Opcode(SEND1,SEND2,SEND3,SEND4,SEND5,SEND6)one can write up to 32 lines. - all bits to be updated, expressed in Dec in Big Endian, only '0' or '1'.; - e.g. 0b0100 = 4 will update SEND1[0] = '0', SEND1[1] = '1', SEND1[2] = '0', SEND1[3] = '0' - - - - - TTR Trim operation - - pattern name - pin or pin group - site (starting from 1) - pattern file data line - update pattern data form startLine to (startLine+deep),limit [1,32]. - all bits to be updated, expressed in Dec in Big Endian,only '0' or '1'.; - - - - Obsolete Refresh RAM - - pattern name - Trim Opcode(SEND1,SEND2,SEND3,SEND4,SEND5,SEND6) - - - - TTR Refresh RAM - - - - - Read the content of pattern from instrument memory - - Flow context - pattern name - Dictionary type: key = pattern name, value = pattern data - - - - Read pattern result (error cycle) - - pattern name - pin or pin group - - Number of error cycles to get, default = 1 - True: update site result - True: read error cycle - - - - - Read frequency - - pin or pin group - - period (ns) - True: binning based on the result (pass or fail) - - - list of site objects - - - - Capture failed cycles (Obsolete, will be replaced by new API with TTR optimization - - pattern name - pin or pin group - Opcode (SEND1,SEND2,SEND3,SEND4,SEND5,SEND6) - - - - Get pattern execution time(ms) - - actiming name - pattern name - Millisecond - - - - Get pattern execution time(ms) - - actiming name - pattern name - Millisecond - - - - PatternInfo (name, path and etc.) - - pattern名称 - - - - - start keep alive - - - - - - - stop keep alive - - - - - - - start 32.768khz clock keep alive - - - - - - stop 32.768khz clock keep alive - - - - - - set pin keep alive enable - - pin name - - - - set pin keep alive disable - - pin name - - - - - - - - - - - - - - - - - - A standard peak detector in time series. - The goal of this class is to identify peaks in a 1D time series (float[]). - It simply implements G.K. Palshikar's Simple Algorithms for Peak Detection - in Time-Series ( Proc. 1st Int. Conf. Advanced Data Analysis, Business - Analytics and Intelligence (ICADABAI2009), Ahmedabad, 6-7 June 2009), - We retained the first "spikiness" function he proposed, based on computing - the max signed distance to left and right neighbors. - http://sites.google.com/site/girishpalshikar/Home/mypublications/ - SimpleAlgorithmsforPeakDetectioninTimeSeriesACADABAI_2009.pdf* - Return the peak locations as array index for the time series set at creation. - @param windowSize the window size to look for peaks. a neighborhood of +/- windowSize - will be inspected to search for peaks. Typical values start at 3. - @param stringency threshold for peak values. Peak with values lower than - mean + stringency * std will be rejected. Mean and std are calculated on the - spikiness function. Typical values range from 1 to 3. - @return an int array, with one element by retained peak, containing the index of - the peak in the time series array. - - - - - - - - - - - - - - all loading ram pattern infos 写入下位机RAM - - ram info bytes - - - - check flow中调用的ram pattern 是否下载 - - (isloading,error ram pattern name) - - - - read RAM memory pattern data. - - - - - - - get RAM - - - - - - - - 读写ram pattern下载信息 - write:所有下载后的ram pattern - read: flow 中调用的ram pattern - - - - - all loading ram pattern infos 写入下位机RAM - - - - - check flow中调用的ram pattern 是否下载 - - - - - - - - - - - - - - - TTR Relay 走表,不更新Mark 状态,mark 放到回读里面更新 - - - - - 设置当前flow 状态 - - - - - 恢复flow状态 - - - - - 执行Shmoo,并打印结果 - - - - true: 打印 errorCycle - false: 打印 p | . - - - - - 执行PinMargin,并打印结果 - - - - true: 打印 errorCycle - false: 打印 p | . - - - - - 执行VMinVMax,并打印结果 - - - - true: 打印 errorCycle - false: 打印 p | . - - - - - 先执行X在执行Y - - - - - - - - Shmoo Execute - - - - - - - - - - PinMargin Execute - - - - - - - - - VMinVMax Execute - - - - - - - - - API/DebugTool Shmoo - - - - - - - - - - - - - - - - - LA - - - - - - - - - - - PinMargin - - - - - - - - - - - VMinVMax - - - - - - - - - - - - - - - - - LA - - - - - API Shmoo / DebugTool - - - - - - - - - - PinMargin/VMinVMax - - - - - - - - - 返回一组(X,Y)值的结果 - - - - - - - - PinMargin - VMinVMax - - - - - - LA - - - - - - copy备份 实时修改 发送指令 - - - - - copy备份 不做修改 获取初始数据 - - - - - API Shmoo/DebugTool - - - - - - - - - - - PinMargin/VMinVMax - - - - - - - - - - 系统API接口服务类 - - - - - 获取DC Force 补偿指令 - - - - - - - 读取PPMU/DPS补偿数据文件(csv格式) - - - - - - dna字典中是否存在该"dnaKey" - - - - - - - 获取Offset Ppmu指令 - - - - - - - 获取Offset Dps指令 - - - - - - - 获取Offset数据 - - - - - - LoadBoardRelay CommandFactory - - - - - 系统指令工厂 - - - - - 设置VT参考电压和负载 - - 脚名 - 参考电压 - 负载 - - - - - FirmWare version: >= V1.1.1.2.1_15_23 - - - - - KeepAlive一组16个channel - - - - - KeepAlive一组中一个byte控制4个channel - - - - - - - - - true : start - false: stop - - - - - DCOffsetInfo - - - - - IROffsetInfo - - - - - OffsetManager - - - - - 设置补偿数据 - - - - - - Load IR Offset - - - - - - 获取IR Offset - - - - - - - - 读取DC配置数据 - - - - - - - 初始化DC Offset - - - - - 获取配置数据 - - - - - - 初始化IR Offset - - - - - get DCOffsetInfo - - - - - - - - - get DCOffsetInfo - - - - - - - - - 获取ACTimingOffset - - - - - - - IR Offset Parser - - - - - DC Offset Parser - - - - - ACTimingByPeriodRangeOffsetPaser - - - - - 解析文本 - - - - - - - 补偿解析式基类 - - - - - 是否是整型 - - - - - - - 是否是double型 - - - - - - - 交换PPMU值 - - - - - - - - ACTiming 补偿类数据 - - - - - 版卡信息解析类 - - - - - 复位当前Slot通道状态 - - - - - 获取ppmu寄存器flag - - - - - - - - - - - 清除Mark 状态 - - - - - DpsRelay状态数组 - - - - - Relay状态数组 - - - - - 更新Relay状态 - - - - - - - 更新DpsRelay状态 - - - - - - - - 检查Dps Relay状态是否改变 - - - - - - - - 通道 - - - - - relay状态 - - - - - Dps通道 - - - - - DpsRelay状态 - - - - - 初始化 - - - - - 更新全局数据对象 - - - - - - - 获取全局数据对象 - - - - - - - - 提取ui函数,属于service逻辑 - - - - - - - 提取ui函数,属于application逻辑,包含数据传输对象转换逻辑 - - - - - - 提取ui函数,属于application逻辑,包含数据传输对象转换逻辑 - - - - - - 提取ui函数,属于application逻辑 - - - - - - 提取ui函数,属于application逻辑 - - - - - - 提取ui函数,属于application逻辑 - - - - - - 提取ui函数,属于application逻辑 - - - - - - 添加断点 - - 断点名称(必填) - - - - 孤点 - - - - - 分叉结点 - - - - - 不分叉结点 - - - - - 结点编号 - - - - - PassSite编号 - - - - - FailSite编号 - - - - - 结点名字 - - - - - 结点类型 - - - - - 结点执行的方法 - - - - - true:把结点回调方法的pass site结果设置为pass,false:把结点回调方法的pass site结果设置为fail - - - - - 分叉结点构造函数 - - 当前结点编号 - 跑过该结点后pass site的编号 - 跑过该结点后fail site的编号 - 节点类型 - 节点名称 - - - - - 孤点构造函数 - - 结点编号 - 该结点编号的site是作为Pass结果还是Fail结果 - NodeType nodeType = NodeType.IsolatedPoint表示断点是一个孤点,z这种类型断点下(testCase=null时,把该结点的site设置为pass or fail - - - - 不分叉结点构造函数(把上一次结点编号改为当前结点编号) - - - - - - - - - - - 启动Flow跳转逻辑 - - - - - 获取fail site - - - - - - 获取Site结点编号信息 - - - - - - Testrong ATE_Tester ACTimming 模块设置周期频率操作 - - 设置的周期值范围2us-10000us(必填) - tcpEnable为true,发送指令, tcpEnable为false则不发送控制指令(必填) - 实例,根据结果类可以取到对应的map 通道信息,第几块板卡信息(必填) - - - - - 初始化所有channel的状态(default) - - 实例,根据结果类可以取到对应的map 通道信息,第几块板卡信息(必填) - - - - 设置channel状态 - - actiming名称(不可以是空白或者仅空格组成)(必填) - - actiming对象数组(至少初始化一个对象)(必填) - 例: - ACBaseClass[] acArrays = new ACBaseClass[] { - new ACBaseClass {Name="actimingName",Period=1000,SignalName="A01,A02",Fmt="NR/RL/RH/SBL/SBH",Ons="NA/[0-7/8]",Data="NA/[0-7/8]",Return="NA/[0-7/8]",Off="NA/[0-7/8]",Mode="Edge/WindowCompare",Open="NA/[0-7/8]",Close="NA/[0-7/8]" }, - new ACBaseClass {Name="actimingName",Period=1000,SignalName="A01,A02",Fmt="NR/RL/RH/SBL/SBH",Ons="NA/[0-7/8]",Data="NA/[0-7/8]",Return="NA/[0-7/8]",Off="NA/[0-7/8]",Mode="Edge/WindowCompare",Open="NA/[0-7/8]",Close="NA/[0-7/8]" } - }; - - 实例,根据结果类可以取到对应的map 通道信息,第几块板卡信息(必填) - - - - Testrong ATE_Tester ClaarErrorMemory 模块清除错误信息操作 - - 实例,根据结果类可以取到对应的map 通道信息,第几块板卡信息(必填) - - - - Testrong ATE_Tester ClaarErrorMemory 模块清除错误信息操作 - - 实例,根据结果类可以取到对应的map 通道信息,第几块板卡信息(必填) - - - - Testrong ATE_Tester DPS模块根据通道force操作 - - DPS通道数组,该值长度不能超过channelMaxLimit,最大dps 数组通道值不能超过channelMaxLimit(必填) - DPS模块支持的mode:FVMI_All,FVMV_All,FIMV_All,FVMI,FVMV,FIMV,FZMI,FZMV(必填) - DPS模块电压电流值,单位默认为"A"或"V",其他单位需要转换为"A"或"V"(必填) - DPS模块支持的range:_5uA,_20uA,_200uA,_2mA,_60mA,_1A(必填) - tcpEnable为true,发送指令, tcpEnable为false不发送指令(必填) - 实例(必填) - true为补偿电压,false不补偿电压(必填) - 重复次数 - delay时间(ns)=delayNanoSec*80(ns) - 偏移值 - DPS指令 - - - - Testrong ATE_Tester DPS模块全部DPS通道force操作 - - DPS模块支持的mode:只能选择FVMI_All,FVMV_All,FIMV_All三种模式(必填) - DPS模块电压电流值,单位默认为"A"或"V",其他单位需要转换为"A"或"V",force值最大电压值不能超过10V(必填) - DPS模块支持的range:_5uA,_20uA,_200uA,_2mA,_60mA,_1A(必填) - tcpEnable为true,发送指令, tcpEnable为false不发送指令(必填) - 实例(必填) - true为补偿电压,false不补偿电压 - 重复次数 - delay时间(ns)=delayNanoSec*80(ns) - 偏移值 - DPS指令 - - - - Testrong ATE_Tester DPS模块根据通道force操作 - - DPS通道数组,该值长度不能超过channelMaxLimit,最大DPS数组中通道值不能超过channelMaxLimit(必填) - DPS模块支持的mode:只能选择FVMI,FVMV,FIMV,FZMI,FZMV(必填) - DPS模块电压电流值,单位默认为"A"或"V",其他单位需要转换为"A"或"V",force值最大电压值不能超过10V(必填) - DPS模块支持的range:_5uA,_20uA,_200uA,_2mA,_60mA,_1A(必填) - tcpEnable为true,发送指令, tcpEnable为false不发送指令(必填) - 实例(必填) - true为补偿电压,false不补偿电压 - 重复次数 - delay时间(ns)=delayNanoSec*80(ns) - 偏移值 - DPS指令 - - - - Testrong ATE_Tester DPS模块根据site force操作 - - site数组 - DPS模块支持的mode:只能选择FVMI,FVMV,FIMV,FZMI,FZMV(必填) - DPS模块电压电流值,单位默认为"A"或"V",其他单位需要转换为"A"或"V",force值最大电压值不能超过10V(必填) - DPS模块支持的range:_5uA,_20uA,_200uA,_2mA,_60mA,_1A(必填) - tcpEnable为true,发送指令, tcpEnable为false不发送指令(必填) - 实例(必填) - true为补偿电压,false不补偿电压 - 重复次数 - delay时间(ns)=delayNanoSec*80(ns) - 偏移值 - DPS指令 - - - - Testrong ATE_Tester DPS模块根据脚名force操作 - - 脚名数组 - DPS模块支持的mode:只能选择FVMI,FVMV,FIMV,FZMI,FZMV(必填) - DPS模块电压电流值,单位默认为"A"或"V",其他单位需要转换为"A"或"V",force值最大电压值不能超过10V(必填) - DPS模块支持的range:_5uA,_20uA,_200uA,_2mA,_60mA,_1A(必填) - tcpEnable为true,发送指令, tcpEnable为false不发送指令(必填) - 实例(必填) - true为补偿电压,false不补偿电压 - 重复次数 - delay时间(ns)=delayNanoSec*80(ns) - 偏移值 - DPS指令 - - - - 读取Dps温度 - - tcpEnable为true,发送指令, tcpEnable为false不发送指令(必填) - 实例(必填) - - - - - Testrong ATE_Tester DPS模块设置DPS钳位 - - DPS模块钳位电压或电流模式:ClampHighVoltage,ClampHighCurrent,ClampLowVoltage,ClampLowCurrent(必填) - DPS模块钳位电压或电流的值(必填) - tcpEnable为true,发送dps控制指令, tcpEnable为false则不发送控制指令(必填) - 实例(必填) - PPMU钳位指令 - - - - 设置DPS 1A Clamp - - DPS模块钳位电压或电流模式:ClampHighVoltage,ClampHighCurrent,ClampLowVoltage,ClampLowCurrent(必填) - DPS模块钳位电压或电流的值(必填) - 实例(必填) - tcpEnable为true,发送dps控制指令, tcpEnable为false则不发送控制指令(必填) - PPMU钳位指令 - - - - 0-5V高精度电压全通道force - - DPS模块支持的mode:只能选择FVMV_All,FIMV_All两种模式(必填) - DPS模块电压电流值,单位默认为"A"或"V",其他单位需要转换为"A"或"V",force值最大电压值不能超过10V(必填) - DPS模块支持的range:_5uA,_20uA,_200uA,_2mA,_60mA,_1A(必填) - 电压挡位(必填) - tcpEnable为true,发送指令, tcpEnable为false不发送指令(必填) - 实例(必填) - true为补偿电压,false不补偿电压(必填) - 重复次数 - delay时间(ns)=delayNanoSec*80(ns) - 偏移值 - DPS指令 - - - - 0-5V高精度电压根据脚名force - - 脚名数组(必填) - DPS模块支持的mode:只能选择FVMV,FIMV,FZMV模式(必填) - DPS模块电压电流值,单位默认为"A"或"V",其他单位需要转换为"A"或"V",force值最大电压值不能超过10V(必填) - DPS模块支持的range:_5uA,_20uA,_200uA,_2mA,_60mA,_1(必填)A - 电压挡位(必填) - tcpEnable为true,发送指令, tcpEnable为false不发送指令(必填) - 实例(必填) - true为补偿电压,false不补偿电压 - 重复次数 - delay时间(ns)=delayNanoSec*80(ns) - 偏移值 - DPS指令 - - - - 设置Dps Clamp - - clamp值,单位:mA - 实例(必填) - - - - - 设置DPSGang - - gang信息 - 实例(必填) - - - - - Testrong ATE_Tester dpsRangeRelay 模块 通过dps通道操作dps档位切换 - - dps 通道数组(必填) - DPSStatusFlag模式。(OPEN EXT INT ISMARK _60MA)(必填) - 实例(必填) - - - - Testrong ATE_Tester dpsRangeRelay 模块 通过dps名称操作dps档位切换 - - dps名称数组(必填) - DPSStatusFlag模式。(OPEN EXT INT ISMARK _60MA)(必填) - 实例(必填) - - - - 切LoadBoard Relay - - 模式(必填) - 通道数组(必填) - tcpEnable为true,发送指令, tcpEnable为false则不发送控制指令(必填) - result 为结果类实例,根据结果类可以取到对应的map 通道信息,第几块板卡信息(必填) - - - - - - Testrong ATE_Tester Reset 模块 系统复位 - - 实例(必填) - - - - Testrong ATE_Tester Reset 模块 数字板卡复位 - - 实例(必填) - - - - Testrong ATE_Tester PatternStatus 模块 CheckBusy操作 检查pattern状态是否为结束状态 - - 实例,根据结果类可以取到对应的map 通道信息,第几块板卡信息(必填) - - - - Testrong ATE_Tester PPMU 模块全部PPMU通道force操作 - - PPMU模块支持的mode:只能选择FIMV_all,FVMI_all,FVMV_all(必填) - PPMU模块电压电流值,单位默认为"A"或"V",其他单位需要转换为"A"或"V",force值最大电压值不能超过12V(必填) - PPMU模块支持的range(电流驱动强度挡位):_5uA,_20uA,_200uA,_2mA,_60mA(必填) - tcpEnable为true,发送控制指令, tcpEnable为false则不发送控制指令(必填) - context为结果类实例(必填) - true为补偿电压,false不补偿电压 - PPMU指令 - - - - Testrong ATE_Tester PPMU 模块根据通道force操作 - - PPMU通道数组(必填) - PPMU模块支持的mode:只能选择FIMV,FVMI,FVMV,FZMV,FZMI(必填) - PPMU模块电压电流值,单位默认为"A"或"V",其他单位需要转换为"A"或"V",force值最大电压值不能超过12V(必填) - PPMU模块支持的range(电流驱动强度挡位):_5uA,_20uA,_200uA,_2mA,_60mA(必填) - tcpEnable为true,发送控制指令, tcpEnable为false则不发送控制指令(必填) - context为结果类实例(必填) - true为补偿电压,false不补偿电压 - 重复次数 - delay时间(ns)=delayNanoSec*80(ns) - 偏移值 - PPMU指令 - - - - Testrong ATE_Tester PPMU 模块根据site force操作 - - PPMU site数组(必填) - PPMU模块支持的mode:只能选择FIMV,FVMI,FVMV,FZMV,FZMI(必填) - PPMU模块电压电流值,单位默认为"A"或"V",其他单位需要转换为"A"或"V",force值最大电压值不能超过12V(必填) - PPMU模块支持的range(电流驱动强度挡位):_5uA,_20uA,_200uA,_2mA,_60mA(必填) - tcpEnable为true,发送控制指令, tcpEnable为false则不发送控制指令(必填) - context为结果类实例(必填) - true为补偿电压,false不补偿电压 - 重复次数 - delay时间(ns)=delayNanoSec*80(ns) - 偏移值 - PPMU指令 - - - - Testrong ATE_Tester PPMU 模块根据脚名 force操作 - - PPMU 脚名数组(必填) - PPMU模块支持的mode:只能选择FIMV,FVMI,FVMV,FZMV,FZMI(必填) - PPMU模块电压电流值,单位默认为"A"或"V",其他单位需要转换为"A"或"V",force值最大电压值不能超过12V(必填) - PPMU模块支持的range(电流驱动强度挡位):_5uA,_20uA,_200uA,_2mA,_60mA(必填) - tcpEnable为true,发送控制指令, tcpEnable为false则不发送控制指令(必填) - context为结果类实例(必填) - true为补偿电压,false不补偿电压 - 重复次数 - delay时间(ns)=delayNanoSec*80(ns) - 偏移值 - PPMU指令 - - - - 读取PPMU温度 - - tcpEnable为true,发送控制指令, tcpEnable为false则不发送控制指令(必填) - context为结果类实例(必填) - - - - - Testrong ATE_Tester PPMU模块设置PPMU钳位 - - PPMU模块钳位电压或电流模式:ClampHighVoltage,ClampHighCurrent,ClampLowVoltage,ClampLowCurrent(必填) - PPMU模块钳位电压或电流的值(必填) - tcpEnable为true,发送dps控制指令, tcpEnable为false则不发送控制指令(必填) - context为结果类实例(必填) - PPMU钳位指令 - - - - Testrong ATE_Tester PPMU 模块全部PPMU通道force操作(0-5V高精度电压force) - - PPMU模块支持的mode:只能选择FIMV_all,FVMV_all(必填) - PPMU模块电压电流值,单位默认为"A"或"V",其他单位需要转换为"A"或"V",force值最大电压值不能超过12V(必填) - PPMU模块支持的range(电流驱动强度挡位):_5uA,_20uA,_200uA,_2mA,_60mA(必填) - 电压挡位(必填) - tcpEnable为true,发送控制指令, tcpEnable为false则不发送控制指令(必填) - context为结果类实例(必填) - true为补偿电压,false不补偿电压 - PPMU指令 - - - - Testrong ATE_Tester PPMU 模块根据脚名 force操作(0-5V高精度电压force) - - PPMU 脚名数组(必填) - PPMU模块支持的mode:只能选择FIMV,FVMV,FZMV(必填) - PPMU模块电压电流值,单位默认为"A"或"V",其他单位需要转换为"A"或"V",force值最大电压值不能超过12V(必填) - PPMU模块支持的range(电流驱动强度挡位):_5uA,_20uA,_200uA,_2mA,_60mA(必填) - 电压挡位(必填) - tcpEnable为true,发送控制指令, tcpEnable为false则不发送控制指令(必填) - context为结果类实例(必填) - true为补偿电压,false不补偿电压 - 重复次数 - delay时间(ns)=delayNanoSec*80(ns) - 偏移值 - PPMU指令 - - - - 读取Arm固件版本号 - - tcp实例必填) - tcpEnable为true,发送dps控制指令, tcpEnable为false则不发送控制指令(必填) - - - - - - 读取CPLD固件版本号 - - tcp实例必填) - tcpEnable为true,发送dps控制指令, tcpEnable为false则不发送控制指令(必填) - - - - - - Testrong ATE_Tester Relay 模块 设置所有Relay切换 - - - tcpEnable为true,发送dps控制指令, tcpEnable为false则不发送控制指令(必填) - 实例(必填) - 所有relay 统一切换到指定状态指令 - - - - Testrong ATE_Tester Relay模块根据通道设置对应relay切换到不同状态 - - 需要切换到ppmu端的IO通道数组(必填) - 需要切换到fpga端的IO通道数组(必填) - tcpEnable为true,发送dps控制指令, tcpEnable为false则不发送控制指令(必填) - 实例(必填) - 指定Relay切换到指定状态指令 - - - - Testrong ATE_Tester Relay模块根据通道设置对应Relay切换到不同状态 - - 需要切换到ppmu端的IO通道名称数组(必填) - 需要切换到fpga端的IO通道名称数组(必填) - tcpEnable为true,发送dps控制指令, tcpEnable为false则不发送控制指令(必填) - 实例(必填) - 指定Relay切换到指定状态指令 - - - - 将不同的通道切到不同的状态 - - 脚名(必填) - relay的状态(必填) - tcpEnable为true,发送dps控制指令, tcpEnable为false则不发送控制指令(必填) - 实例(必填) - - - - - 将不同的通道切到不同的状态 - - 切到ppmu的通道(必填) - 切到fpga的通道(必填) - tcpEnable为true,发送dps控制指令, tcpEnable为false则不发送控制指令(必填) - 实例(必填) - - - - - trim修改(某个channel)driver单列 - - pattern文件名称(无后缀)(必填) - 脚名(必填) - map中对应的site(必填) - pattern文件中提示的行号(注:修改pattern文件后一定要check)(必填) - numberLine(clk/reg)对应要修改的十进制值(必填) - 结果对象(必填) - - - - send trim后修改行的内容 - - pattern文件名称(无后缀)(必填) - pattern文件中提示的行号(注:修改pattern文件后一定要check)(必填) - 结果对象(必填) - - - - - 启动(onor/ram)pattern - - pattern文件名称(无文件后缀) - 结果对象 - - - - - ExecutionTime(ms) - - - - - K7 Channels 转换 - - - - - - - - K7 Channels 转换 - - - - - - - - K7 Channels 转换 - - - - - - - - Testrong ATE_Tester Channel 模块获取dps通道信息操作 - - map需要查找的dps通道数组(必填) - cpNumber为t对应的slotnumber(必填) - 在对应slot中dps通道的物理通道编号数组 - - - - 计算回读频率 - - - - - - - - - - 计算回读频率 - - - - - - - - - - 计算回读频率 - - - - - - - - - Convert To Double - - - - - - - 计算DPS连续回读值 - - - - - - - - - 计算温度公式方法 - - - - - - - - 获取计算温度 - - - - - - - 获取计算温度 - - - - - - - 获取DPS温度字符串 - - - - - - - 获取PPMU温度字符串 - - - - -
-
diff --git a/Testrong.User.Program/bin/x64/Debug/UserProgram.dll b/Testrong.User.Program/bin/x64/Debug/UserProgram.dll index 761ce29..bd0b746 100644 Binary files a/Testrong.User.Program/bin/x64/Debug/UserProgram.dll and b/Testrong.User.Program/bin/x64/Debug/UserProgram.dll differ diff --git a/Testrong.User.Program/bin/x64/Debug/UserProgram.pdb b/Testrong.User.Program/bin/x64/Debug/UserProgram.pdb index 9fd1cf5..8e91ac6 100644 Binary files a/Testrong.User.Program/bin/x64/Debug/UserProgram.pdb and b/Testrong.User.Program/bin/x64/Debug/UserProgram.pdb differ diff --git a/Testrong.User.Program/obj/x64/Debug/Testrong.User.Program.csproj.AssemblyReference.cache b/Testrong.User.Program/obj/x64/Debug/Testrong.User.Program.csproj.AssemblyReference.cache index 1d22435..9bf6334 100644 Binary files a/Testrong.User.Program/obj/x64/Debug/Testrong.User.Program.csproj.AssemblyReference.cache and b/Testrong.User.Program/obj/x64/Debug/Testrong.User.Program.csproj.AssemblyReference.cache differ diff --git a/Testrong.User.Program/obj/x64/Debug/Testrong.User.Program.csproj.CoreCompileInputs.cache b/Testrong.User.Program/obj/x64/Debug/Testrong.User.Program.csproj.CoreCompileInputs.cache index e461646..5e43543 100644 --- a/Testrong.User.Program/obj/x64/Debug/Testrong.User.Program.csproj.CoreCompileInputs.cache +++ b/Testrong.User.Program/obj/x64/Debug/Testrong.User.Program.csproj.CoreCompileInputs.cache @@ -1 +1 @@ -8336289dafd7be8d8ceb71ec0bfb414b5e10ce0020e044e9f7d2ae18b0c1e638 +1c5e67c428e7ea9ad83db74e3225f3a6ee4bdaaf429227caea859a4df23e5fee diff --git a/Testrong.User.Program/obj/x64/Debug/Testrong.User.Program.csproj.FileListAbsolute.txt b/Testrong.User.Program/obj/x64/Debug/Testrong.User.Program.csproj.FileListAbsolute.txt index 6c9cc88..8c929d6 100644 --- a/Testrong.User.Program/obj/x64/Debug/Testrong.User.Program.csproj.FileListAbsolute.txt +++ b/Testrong.User.Program/obj/x64/Debug/Testrong.User.Program.csproj.FileListAbsolute.txt @@ -2415,42 +2415,7 @@ F:\syy\Prometheus\1KS_FT_EngineeringMachine\UserProgram_time\Testrong.User.Progr F:\syy\Prometheus\1KS_FT_EngineeringMachine\UserProgram_time\Testrong.User.Program\obj\x64\Debug\UserProgram.pdb D:\WORK\ManLin\Verify\UserProgram_time\Testrong.User.Program\bin\x64\Debug\UserProgram.dll D:\WORK\ManLin\Verify\UserProgram_time\Testrong.User.Program\bin\x64\Debug\UserProgram.pdb -D:\WORK\ManLin\Verify\UserProgram_time\Testrong.User.Program\bin\x64\Debug\NLog.dll -D:\WORK\ManLin\Verify\UserProgram_time\Testrong.User.Program\bin\x64\Debug\DotNetty.Transport.dll -D:\WORK\ManLin\Verify\UserProgram_time\Testrong.User.Program\bin\x64\Debug\DotNetty.Buffers.dll -D:\WORK\ManLin\Verify\UserProgram_time\Testrong.User.Program\bin\x64\Debug\DotNetty.Codecs.dll -D:\WORK\ManLin\Verify\UserProgram_time\Testrong.User.Program\bin\x64\Debug\System.Threading.Tasks.Dataflow.dll -D:\WORK\ManLin\Verify\UserProgram_time\Testrong.User.Program\bin\x64\Debug\DotNetty.Common.dll D:\WORK\ManLin\Verify\UserProgram_time\Testrong.User.Program\bin\x64\Debug\System.Buffers.dll -D:\WORK\ManLin\Verify\UserProgram_time\Testrong.User.Program\bin\x64\Debug\Testrong.Core.Globalization.dll -D:\WORK\ManLin\Verify\UserProgram_time\Testrong.User.Program\bin\x64\Debug\AutoMapper.dll -D:\WORK\ManLin\Verify\UserProgram_time\Testrong.User.Program\bin\x64\Debug\Testrong.Core.Datalog.Interfaces.dll -D:\WORK\ManLin\Verify\UserProgram_time\Testrong.User.Program\bin\x64\Debug\Testrong.Core.Hardware.dll -D:\WORK\ManLin\Verify\UserProgram_time\Testrong.User.Program\bin\x64\Debug\MxFFTCalc.dll -D:\WORK\ManLin\Verify\UserProgram_time\Testrong.User.Program\bin\x64\Debug\MWArray.dll -D:\WORK\ManLin\Verify\UserProgram_time\Testrong.User.Program\bin\x64\Debug\MathNet.Numerics.dll -D:\WORK\ManLin\Verify\UserProgram_time\Testrong.User.Program\bin\x64\Debug\Testrong.Core.Gramar.dll -D:\WORK\ManLin\Verify\UserProgram_time\Testrong.User.Program\bin\x64\Debug\System.Threading.Tasks.Extensions.dll -D:\WORK\ManLin\Verify\UserProgram_time\Testrong.User.Program\bin\x64\Debug\System.Runtime.CompilerServices.Unsafe.dll -D:\WORK\ManLin\Verify\UserProgram_time\Testrong.User.Program\bin\x64\Debug\Microsoft.Extensions.Logging.Abstractions.dll -D:\WORK\ManLin\Verify\UserProgram_time\Testrong.User.Program\bin\x64\Debug\Microsoft.Extensions.Logging.dll -D:\WORK\ManLin\Verify\UserProgram_time\Testrong.User.Program\bin\x64\Debug\STDF.Library.dll -D:\WORK\ManLin\Verify\UserProgram_time\Testrong.User.Program\bin\x64\Debug\System.ValueTuple.dll -D:\WORK\ManLin\Verify\UserProgram_time\Testrong.User.Program\bin\x64\Debug\Antlr4.Runtime.Standard.dll -D:\WORK\ManLin\Verify\UserProgram_time\Testrong.User.Program\bin\x64\Debug\Microsoft.Extensions.DependencyInjection.Abstractions.dll -D:\WORK\ManLin\Verify\UserProgram_time\Testrong.User.Program\bin\x64\Debug\Microsoft.Extensions.Options.dll -D:\WORK\ManLin\Verify\UserProgram_time\Testrong.User.Program\bin\x64\Debug\Microsoft.Extensions.DependencyInjection.dll -D:\WORK\ManLin\Verify\UserProgram_time\Testrong.User.Program\bin\x64\Debug\Microsoft.Extensions.Primitives.dll -D:\WORK\ManLin\Verify\UserProgram_time\Testrong.User.Program\bin\x64\Debug\Microsoft.Bcl.AsyncInterfaces.dll -D:\WORK\ManLin\Verify\UserProgram_time\Testrong.User.Program\bin\x64\Debug\Testrong.Core.Model.xml -D:\WORK\ManLin\Verify\UserProgram_time\Testrong.User.Program\bin\x64\Debug\Testrong.Core.Primitives.xml -D:\WORK\ManLin\Verify\UserProgram_time\Testrong.User.Program\bin\x64\Debug\DotNetty.Transport.xml -D:\WORK\ManLin\Verify\UserProgram_time\Testrong.User.Program\bin\x64\Debug\DotNetty.Buffers.xml -D:\WORK\ManLin\Verify\UserProgram_time\Testrong.User.Program\bin\x64\Debug\DotNetty.Codecs.xml -D:\WORK\ManLin\Verify\UserProgram_time\Testrong.User.Program\bin\x64\Debug\System.Threading.Tasks.Dataflow.xml -D:\WORK\ManLin\Verify\UserProgram_time\Testrong.User.Program\bin\x64\Debug\DotNetty.Common.xml -D:\WORK\ManLin\Verify\UserProgram_time\Testrong.User.Program\bin\x64\Debug\AutoMapper.xml -D:\WORK\ManLin\Verify\UserProgram_time\Testrong.User.Program\bin\x64\Debug\STDF.Library.xml D:\WORK\ManLin\Verify\UserProgram_time\Testrong.User.Program\obj\x64\Debug\Testrong.User.Program.csproj.AssemblyReference.cache D:\WORK\ManLin\Verify\UserProgram_time\Testrong.User.Program\obj\x64\Debug\Testrong.User.Program.csproj.CoreCompileInputs.cache D:\WORK\ManLin\Verify\UserProgram_time\Testrong.User.Program\obj\x64\Debug\Testrong.A8AD3C05.Up2Date diff --git a/Testrong.User.Program/obj/x64/Debug/UserProgram.dll b/Testrong.User.Program/obj/x64/Debug/UserProgram.dll index 761ce29..bd0b746 100644 Binary files a/Testrong.User.Program/obj/x64/Debug/UserProgram.dll and b/Testrong.User.Program/obj/x64/Debug/UserProgram.dll differ diff --git a/Testrong.User.Program/obj/x64/Debug/UserProgram.pdb b/Testrong.User.Program/obj/x64/Debug/UserProgram.pdb index 9fd1cf5..8e91ac6 100644 Binary files a/Testrong.User.Program/obj/x64/Debug/UserProgram.pdb and b/Testrong.User.Program/obj/x64/Debug/UserProgram.pdb differ