public bool TryAddFactory(ImageFormat format, CoderFactory <TCoder> factory) { if (format == null) { throw new ArgumentNullException(nameof(format)); } if (factory == null) { throw new ArgumentNullException(nameof(factory)); } return(_coders.TryAdd(format, factory)); }
static Message() { { try { decoder = CoderFactory.getInstance().newDecoder("PER/U"); encoder = CoderFactory.getInstance().newEncoder("PER/U"); } catch (System.Exception e) { e = null; } } }
public ASN1TransportMessageCoder() { try { switchStaticBuffer(); coderSchemaMap.Add(0x0000, CoderFactory.getInstance().newDecoder("BER")); coderSchemaMap.Add(0x0100, CoderFactory.getInstance().newDecoder("PER")); coderSchemaMap.Add(0x0101, CoderFactory.getInstance().newDecoder("PER/U")); IEncoder defEnc = CoderFactory.getInstance().newEncoder("PER/U"); setDefaultEncoder(coderSchemeDefVal, defEnc); } catch (Exception e) { Console.WriteLine(e.ToString()); } }
protected void runEncoderPerfTest(string encoding) { IEncoder encoder = CoderFactory.getInstance().newEncoder(encoding); Assert.NotNull(encoder); // Create test structure DataSeq dt = new BERCoderTestUtils().createDataSeq(); System.IO.Stream stream = new System.IO.MemoryStream(); // Start test DateTime startTime = System.DateTime.Now; for (int i = 0; i < 100; i++) { encoder.encode <DataSeq>(dt, stream); } DateTime endTime = System.DateTime.Now; TimeSpan interval = (endTime - startTime); System.Console.WriteLine("Encode elapsed time for " + encoding + ": " + interval.TotalSeconds); }
protected void runDecoderPerfTest(string encoding, CoderTestUtilities coderUtils) { IDecoder encoder = CoderFactory.getInstance().newDecoder(encoding); Assert.NotNull(encoder); // Create test structure System.IO.Stream stream = new System.IO.MemoryStream( coderUtils.createDataSeqBytes() ); // Start test DateTime startTime = System.DateTime.Now; for (int i = 0; i < 100; i++) { DataSeq dt = encoder.decode <DataSeq>(stream); stream.Position = 0; } DateTime endTime = System.DateTime.Now; TimeSpan interval = (endTime - startTime); System.Console.WriteLine("Decode elapsed time for " + encoding + ": " + interval.TotalSeconds); }
private Packet BuildGoosePacket() { EthernetLayer ethernetLayer = new EthernetLayer { Source = new MacAddress((String)gooseParameters["maskedTextBox_srcMac"]), Destination = new MacAddress((String)gooseParameters["maskedTextBox_dstMac"]), EtherType = (EthernetType)0x88b8, }; VLanTaggedFrameLayer vlanLayer = new VLanTaggedFrameLayer { PriorityCodePoint = ClassOfService.Background, CanonicalFormatIndicator = false, VLanIdentifier = 50, EtherType = (EthernetType)0x88b8, }; StringToDataConverter StringToUtc = new StringToDataConverter(); UtcTime T = new UtcTime(StringToUtc.ConvertToTimeEntry(gooseParameters["textBox_Time"].ToString())); Pdu.GoID = (String)gooseParameters["textBox_GoID"]; Pdu.GocbRef = (String)gooseParameters["textBox_GoCBRef"]; Pdu.ConfRev = (long)Convert.ToDecimal(gooseParameters["numericUpDown_CfgRev"]); Pdu.DatSet = (String)gooseParameters["textBox_DatSet"];; Pdu.NdsCom = ((String)gooseParameters["comboBox_NdsCom"] == "1") ? true : false; Pdu.SqNum = (long)Convert.ToDecimal(gooseParameters["numericUpDown_SqNum"]); Pdu.StNum = (long)Convert.ToDecimal(gooseParameters["numericUpDown_StNum"]); Pdu.TimeAllowedtoLive = (long)Convert.ToDecimal(gooseParameters["numericUpDown_TTL"]); Pdu.Simulation = ((String)gooseParameters["comboBox_Test"] == "1") ? true : false; Pdu.T = T; Pdu.AllData = dataList; Pdu.NumDatSetEntries = dataList.Count; Goose = new GOOSE(); Goose.selectGoosePdu(Pdu); MemoryStream ms = new MemoryStream(); IEncoder encoder = CoderFactory.getInstance().newEncoder("BER"); encoder.encode <GOOSE>(Goose, ms); byte[] rawGooseData = new byte[ms.Length + 8]; // Set APPID rawGooseData[0] = (byte)(((long)Convert.ToDecimal(gooseParameters["numericUpDown_AppID"]) & 0xFF00) >> 8); rawGooseData[1] = (byte)(((long)Convert.ToDecimal(gooseParameters["numericUpDown_AppID"])) & 0xFF); // Set Length rawGooseData[2] = (byte)(((ms.Length + 8) & 0xFF00) >> 8); rawGooseData[3] = (byte)((ms.Length + 8) & 0xFF); // Set Reserved 1 and Reserved 2 rawGooseData[4] = 0; rawGooseData[5] = 0; rawGooseData[6] = 0; rawGooseData[7] = 0; ms.Position = 0; ms.Read(rawGooseData, 8, (int)ms.Length); PayloadLayer payloadLayer = new PayloadLayer { Data = new Datagram(rawGooseData), }; PacketBuilder builder; if (Convert.ToString(gooseParameters["checkBox_VlanTagEn"]) == "True") { builder = new PacketBuilder(ethernetLayer, vlanLayer, payloadLayer); ethernetLayer.EtherType = EthernetType.None; } else { builder = new PacketBuilder(ethernetLayer, payloadLayer); } return(builder.Build(DateTime.Now)); }
public bool TryGetValue(ImageFormat key, [MaybeNullWhen(false)] out CoderFactory <TCoder> value) { return(_coders.TryGetValue(key, out value)); }
public bool TryGetFactory(ImageFormat format, [MaybeNullWhen(false)] out CoderFactory <TCoder> factory) { return(_coders.TryGetValue(format, out factory)); }