├── .gitignore
├── EventsByMethod.adoc
├── LICENSE
├── README.adoc
├── YAML2SpecificationCompliance.adoc
├── demo
├── java17setup.sh
├── pom.xml
├── src
│ └── main
│ │ ├── java
│ │ └── run
│ │ │ └── chronicle
│ │ │ └── wire
│ │ │ └── demo
│ │ │ ├── Data.java
│ │ │ ├── EventByMethodExamples.java
│ │ │ ├── Example1.java
│ │ │ ├── Example2.java
│ │ │ ├── Example3.java
│ │ │ ├── Example4.java
│ │ │ ├── Example5.java
│ │ │ ├── Example6.java
│ │ │ ├── Example7.java
│ │ │ ├── ListLookup.java
│ │ │ └── mapreuse
│ │ │ ├── IntMapper.java
│ │ │ ├── Mapper.java
│ │ │ ├── Security.java
│ │ │ └── SecurityLookup.java
│ │ └── resources
│ │ ├── cfg1.yaml
│ │ └── cfg2.yaml
└── system.properties
├── images
├── Wire_line.png
├── buffer.png
└── source
│ └── buffer.svg
├── jlbh-test.sh
├── jlbhBenchmark.png
├── marshallingperf
├── pom.xml
├── src
│ └── main
│ │ └── java
│ │ └── run
│ │ └── chronicle
│ │ └── wire
│ │ └── perf
│ │ ├── BytesInBytesMarshallableMain.java
│ │ ├── JSONWireMarshallableMain.java
│ │ ├── MessageHistoryBytesMarshallableMain.java
│ │ ├── MessageHistoryWireMarshallableMain.java
│ │ ├── PrimitivesInBytesMarshallableMain.java
│ │ └── StringsInBytesMarshallableMain.java
└── system.properties
├── microbenchmarks
├── ComparisonMain.results.txt
├── Main.results.txt
├── README.md
├── examples
│ └── resources
│ │ └── example-data.xml
├── pom.xml
├── results
│ ├── boon.txt
│ ├── bson.txt
│ ├── bsonWithCBytes.txt
│ ├── bwireFFF.txt
│ ├── bwireFTF.txt
│ ├── bwireFTT.txt
│ ├── bwireTFF.txt
│ ├── bwireTTF.txt
│ ├── bytesMarshallable.txt
│ ├── bytesMarshallableStopBit.txt
│ ├── externalizable.txt
│ ├── externalizableWithCBytes.txt
│ ├── jackson.txt
│ ├── jacksonWithCBytes.txt
│ ├── jacksonWithTextCBytes.txt
│ ├── json8bit.txt
│ ├── rwire8bit.txt
│ ├── rwire8bit2.txt
│ ├── rwireUTF.txt
│ ├── sbe.txt
│ ├── smakeYaml.txt
│ ├── twire8bit.txt
│ └── twireUTF.txt
├── results2021
│ └── i7-10710U.txt
├── src
│ └── main
│ │ └── java
│ │ └── net
│ │ └── openhft
│ │ └── chronicle
│ │ └── wire
│ │ └── benchmarks
│ │ ├── ComparisonMain.java
│ │ ├── Data.java
│ │ ├── Data2.java
│ │ ├── ExternalizableData.java
│ │ ├── Main.java
│ │ ├── ObjectPoolMain.java
│ │ ├── Side.java
│ │ ├── TCData.java
│ │ └── bytes
│ │ └── NativeData.java
└── system.properties
├── pom.xml
├── src
├── main
│ ├── java
│ │ └── net
│ │ │ └── openhft
│ │ │ └── chronicle
│ │ │ └── wire
│ │ │ ├── AbstractAnyWire.java
│ │ │ ├── AbstractClassGenerator.java
│ │ │ ├── AbstractCommonMarshallable.java
│ │ │ ├── AbstractEventCfg.java
│ │ │ ├── AbstractFieldInfo.java
│ │ │ ├── AbstractGeneratedMethodReader.java
│ │ │ ├── AbstractLongConverter.java
│ │ │ ├── AbstractMarshallableCfg.java
│ │ │ ├── AbstractMethodWriterInvocationHandler.java
│ │ │ ├── AbstractTimestampLongConverter.java
│ │ │ ├── AbstractWire.java
│ │ │ ├── AsMarshallable.java
│ │ │ ├── Base32LongConverter.java
│ │ │ ├── Base64LongConverter.java
│ │ │ ├── Base85LongConverter.java
│ │ │ ├── BaseEvent.java
│ │ │ ├── BinaryMethodWriterInvocationHandler.java
│ │ │ ├── BinaryReadDocumentContext.java
│ │ │ ├── BinaryWire.java
│ │ │ ├── BinaryWireCode.java
│ │ │ ├── BinaryWireHighCode.java
│ │ │ ├── BinaryWriteDocumentContext.java
│ │ │ ├── BitSetUtil.java
│ │ │ ├── BracketType.java
│ │ │ ├── BytesInBinaryMarshallable.java
│ │ │ ├── CSVWire.java
│ │ │ ├── CharSequenceObjectMap.java
│ │ │ ├── ChronicleBitSet.java
│ │ │ ├── Comment.java
│ │ │ ├── CommentAnnotationNotifier.java
│ │ │ ├── DefaultValueIn.java
│ │ │ ├── Demarshallable.java
│ │ │ ├── DocumentContext.java
│ │ │ ├── DocumentContextHolder.java
│ │ │ ├── DocumentWritten.java
│ │ │ ├── DynamicEnum.java
│ │ │ ├── Event.java
│ │ │ ├── ExcerptListener.java
│ │ │ ├── FieldInfo.java
│ │ │ ├── FieldNumberParselet.java
│ │ │ ├── GenerateJsonSchemaMain.java
│ │ │ ├── GenerateMethodBridge.java
│ │ │ ├── GenerateMethodDelegate.java
│ │ │ ├── GenerateMethodReader.java
│ │ │ ├── GenerateMethodWriter.java
│ │ │ ├── GenerateMethodWriter2.java
│ │ │ ├── GeneratedProxyClass.java
│ │ │ ├── GeneratingMethodReaderInterceptorReturns.java
│ │ │ ├── HashWire.java
│ │ │ ├── HeadNumberChecker.java
│ │ │ ├── HexadecimalLongConverter.java
│ │ │ ├── IdentifierLongConverter.java
│ │ │ ├── InputStreamToWire.java
│ │ │ ├── JSONWire.java
│ │ │ ├── KeyedMarshallable.java
│ │ │ ├── LongArrayValueBitSet.java
│ │ │ ├── LongConversion.java
│ │ │ ├── LongConverter.java
│ │ │ ├── LongValueBitSet.java
│ │ │ ├── Marshallable.java
│ │ │ ├── MarshallableIn.java
│ │ │ ├── MarshallableOut.java
│ │ │ ├── MarshallableOutBuilder.java
│ │ │ ├── MarshallableParser.java
│ │ │ ├── MessageHistory.java
│ │ │ ├── MessagePathClassifier.java
│ │ │ ├── MethodDelegate.java
│ │ │ ├── MethodFilterOnFirstArg.java
│ │ │ ├── MethodWireKey.java
│ │ │ ├── MethodWriter.java
│ │ │ ├── MethodWriterInvocationHandlerSupplier.java
│ │ │ ├── MethodWriterValidationException.java
│ │ │ ├── MicroDurationLongConverter.java
│ │ │ ├── MicroTimestampLongConverter.java
│ │ │ ├── MilliTimestampLongConverter.java
│ │ │ ├── NanoDurationLongConverter.java
│ │ │ ├── NanoTimestampLongConverter.java
│ │ │ ├── NoDocumentContext.java
│ │ │ ├── ObjectIntObjectConsumer.java
│ │ │ ├── ParameterHolderSequenceWriter.java
│ │ │ ├── QueryWire.java
│ │ │ ├── Quotes.java
│ │ │ ├── RawText.java
│ │ │ ├── RawWire.java
│ │ │ ├── ReadAnyWire.java
│ │ │ ├── ReadDocumentContext.java
│ │ │ ├── ReadMarshallable.java
│ │ │ ├── ReflectionUtil.java
│ │ │ ├── RollbackIfNotCompleteNotifier.java
│ │ │ ├── ScalarStrategy.java
│ │ │ ├── SelfDescribingMarshallable.java
│ │ │ ├── SelfDescribingTriviallyCopyable.java
│ │ │ ├── Sequence.java
│ │ │ ├── SerializationStrategies.java
│ │ │ ├── SerializationStrategy.java
│ │ │ ├── ServicesTimestampLongConverter.java
│ │ │ ├── ShortTextLongConverter.java
│ │ │ ├── SourceContext.java
│ │ │ ├── TextMethodWriterInvocationHandler.java
│ │ │ ├── TextReadDocumentContext.java
│ │ │ ├── TextStopCharTesters.java
│ │ │ ├── TextStopCharsTesters.java
│ │ │ ├── TextWire.java
│ │ │ ├── TextWriteDocumentContext.java
│ │ │ ├── TriConsumer.java
│ │ │ ├── UnexpectedFieldHandlingException.java
│ │ │ ├── UnrecoverableTimeoutException.java
│ │ │ ├── Validate.java
│ │ │ ├── ValueIn.java
│ │ │ ├── ValueInStack.java
│ │ │ ├── ValueInState.java
│ │ │ ├── ValueOut.java
│ │ │ ├── VanillaMessageHistory.java
│ │ │ ├── VanillaMethodReader.java
│ │ │ ├── VanillaMethodReaderBuilder.java
│ │ │ ├── VanillaMethodWriterBuilder.java
│ │ │ ├── VanillaWireParser.java
│ │ │ ├── Wire.java
│ │ │ ├── WireCommon.java
│ │ │ ├── WireDumper.java
│ │ │ ├── WireIn.java
│ │ │ ├── WireInternal.java
│ │ │ ├── WireKey.java
│ │ │ ├── WireMarshaller.java
│ │ │ ├── WireMarshallerForUnexpectedFields.java
│ │ │ ├── WireObjectInput.java
│ │ │ ├── WireObjectOutput.java
│ │ │ ├── WireOut.java
│ │ │ ├── WireParselet.java
│ │ │ ├── WireParser.java
│ │ │ ├── WireSerializedLambda.java
│ │ │ ├── WireToOutputStream.java
│ │ │ ├── WireType.java
│ │ │ ├── WireTypeConverter.java
│ │ │ ├── Wires.java
│ │ │ ├── WordsLongConverter.java
│ │ │ ├── WrappedDocumentContext.java
│ │ │ ├── WriteAfterEOFException.java
│ │ │ ├── WriteDocumentContext.java
│ │ │ ├── WriteMarshallable.java
│ │ │ ├── WriteValue.java
│ │ │ ├── YamlKeys.java
│ │ │ ├── YamlLogging.java
│ │ │ ├── YamlToken.java
│ │ │ ├── YamlTokeniser.java
│ │ │ ├── YamlWire.java
│ │ │ ├── YamlWireOut.java
│ │ │ ├── converter
│ │ │ ├── Base16.java
│ │ │ ├── Base64.java
│ │ │ ├── Base85.java
│ │ │ ├── Id.java
│ │ │ ├── NanoTime.java
│ │ │ ├── PowerOfTwoLongConverter.java
│ │ │ ├── ShortText.java
│ │ │ ├── SizeLongConverter.java
│ │ │ ├── SymbolsLongConverter.java
│ │ │ └── Words.java
│ │ │ ├── domestic
│ │ │ ├── AutoTailers.java
│ │ │ ├── InternalWire.java
│ │ │ ├── extractor
│ │ │ │ ├── DocumentExtractor.java
│ │ │ │ ├── ToDoubleDocumentExtractor.java
│ │ │ │ └── ToLongDocumentExtractor.java
│ │ │ ├── package-info.java
│ │ │ ├── reduction
│ │ │ │ ├── ConcurrentCollectors.java
│ │ │ │ ├── README.adoc
│ │ │ │ ├── Reduction.java
│ │ │ │ └── Reductions.java
│ │ │ └── stream
│ │ │ │ ├── README.adoc
│ │ │ │ └── Streams.java
│ │ │ ├── internal
│ │ │ ├── FileMarshallableOut.java
│ │ │ ├── FromStringInterner.java
│ │ │ ├── HTTPMarshallableOut.java
│ │ │ ├── InternalAutoTailers.java
│ │ │ ├── MethodWriterClassNameGenerator.java
│ │ │ ├── StringConsumerMarshallableOut.java
│ │ │ ├── VanillaFieldInfo.java
│ │ │ ├── WireTypeConverterInternal.java
│ │ │ ├── extractor
│ │ │ │ ├── DocumentExtractorBuilder.java
│ │ │ │ └── DocumentExtractorUtil.java
│ │ │ ├── fieldinfo
│ │ │ │ ├── CharFieldInfo.java
│ │ │ │ ├── DoubleFieldInfo.java
│ │ │ │ ├── IntFieldInfo.java
│ │ │ │ ├── LongFieldInfo.java
│ │ │ │ ├── ObjectFieldInfo.java
│ │ │ │ └── UnsafeFieldInfo.java
│ │ │ ├── package-info.java
│ │ │ ├── reduction
│ │ │ │ └── ReductionUtil.java
│ │ │ └── stream
│ │ │ │ └── StreamsUtil.java
│ │ │ └── utils
│ │ │ ├── ConfigLoader.java
│ │ │ ├── JavaSourceCodeFormatter.java
│ │ │ ├── JsonSourceCodeFormatter.java
│ │ │ ├── MethodReaderStatus.java
│ │ │ ├── RecordHistory.java
│ │ │ └── SourceCodeFormatter.java
│ └── resources
│ │ ├── common-words.txt
│ │ └── more-common-words.txt
└── test
│ ├── java
│ └── net
│ │ └── openhft
│ │ └── chronicle
│ │ └── wire
│ │ ├── AbstractClassGeneratorTest.java
│ │ ├── AbstractCommonMarshallableTest.java
│ │ ├── AbstractFieldTest.java
│ │ ├── AbstractMarshallableCfgTest.java
│ │ ├── AbstractTimestampLongConverterJLBHBenchmark.java
│ │ ├── AbstractUntypedFieldTest.java
│ │ ├── Base32LongConverterTest.java
│ │ ├── Base64LongConverterTest.java
│ │ ├── Base85LongConverterTest.java
│ │ ├── BinaryInTextTest.java
│ │ ├── BinaryMethodWriterInvocationHandlerTest.java
│ │ ├── BinaryToTextTest.java
│ │ ├── BinaryWire2Test.java
│ │ ├── BinaryWireHighCodeTest.java
│ │ ├── BinaryWireNumbersTest.java
│ │ ├── BinaryWirePerfTest.java
│ │ ├── BinaryWireStringInternerTest.java
│ │ ├── BinaryWireTest.java
│ │ ├── BinaryWireWithMappedBytesTest.java
│ │ ├── BitSetTest.java
│ │ ├── BracketsOnJSONWireTest.java
│ │ ├── BytesMarshallableCompatibilityTest.java
│ │ ├── CSVBytesMarshallableTest.java
│ │ ├── CSVWireTest.java
│ │ ├── CcyPair.java
│ │ ├── ChainedMethodsTest.java
│ │ ├── ChainedMethodsTestChainedMethodsTest$1MethodReader.java
│ │ ├── CharSequenceObjectMapTest.java
│ │ ├── ChronicleBitSetTest.java
│ │ ├── ClassAliasPoolTest.java
│ │ ├── CopyTest.java
│ │ ├── DMNestedClass.java
│ │ ├── DMOuterClass.java
│ │ ├── DefaultMarshallerTest.java
│ │ ├── DemarshallableObject.java
│ │ ├── DeserializeFromNakedFileTest.java
│ │ ├── DocumentContextTest.java
│ │ ├── DoubleTest.java
│ │ ├── EgMain.java
│ │ ├── ElasticByteBufferTest.java
│ │ ├── EmbeddedBytesMarshallableTest.java
│ │ ├── EndOfDayShort.java
│ │ ├── EnumSetMarshallingTest.java
│ │ ├── EnumTest.java
│ │ ├── EscapeCharsTest.java
│ │ ├── FIX42.java
│ │ ├── FIX42Test.java
│ │ ├── FloatDtoTest.java
│ │ ├── ForwardAndBackwardCompatibilityMarshallableTest.java
│ │ ├── ForwardAndBackwardCompatibilityTest.java
│ │ ├── Fun.java
│ │ ├── GenerateFIXWireKey.java
│ │ ├── GenerateJsonSchemaMainTest.java
│ │ ├── GenerateMethodBridgeTest.java
│ │ ├── GenerateMethodDelegateTest.java
│ │ ├── GenerateMethodWriterSameInterfaceDifferentOuterClassTest.java
│ │ ├── GenericMethodsTest.java
│ │ ├── HashWireTest.java
│ │ ├── HexDumpTest.java
│ │ ├── ILast.java
│ │ ├── IMid.java
│ │ ├── IMid2.java
│ │ ├── ITop.java
│ │ ├── IdentifierLongConverterTest.java
│ │ ├── IgnoreHighOrderBitsTest.java
│ │ ├── InnerMapTest.java
│ │ ├── IntConversionTest.java
│ │ ├── InvalidYamWithCommonMistakesTest.java
│ │ ├── Issue341Test.java
│ │ ├── JSONEmptySequencesTest.java
│ │ ├── JSONNanTest.java
│ │ ├── JSONTypesWithEnumsAndBoxedTypesTest.java
│ │ ├── JSONTypesWithMapsTest.java
│ │ ├── JSONWireDTOTest.java
│ │ ├── JSONWireMiscTest.java
│ │ ├── JSONWireTest.java
│ │ ├── JSONWireTypesTest.java
│ │ ├── JSONWireWithListsTest.java
│ │ ├── JsonUtil.java
│ │ ├── JsonWireDoubleAndFloatSpecialValuesAcceptanceTests.java
│ │ ├── JsonWireToStringAcceptanceTest.java
│ │ ├── KubernetesYamlTest.java
│ │ ├── LongConversionExampleA.java
│ │ ├── LongConversionExampleB.java
│ │ ├── LongConversionExampleC.java
│ │ ├── LongConversionTest.java
│ │ ├── Marshallable2Test.java
│ │ ├── MarshallableCfgResetTest.java
│ │ ├── MarshallableOutBuilderTest.java
│ │ ├── MarshallableTest.java
│ │ ├── MessageHistoryTest.java
│ │ ├── MessagePathClassifierTest.java
│ │ ├── MethodReaderArgumentsRecycleProxyTest.java
│ │ ├── MethodReaderArgumentsRecycleTest.java
│ │ ├── MethodReaderBuilderExceptionHandlerTest.java
│ │ ├── MethodReaderChainedInterceptedGenericInterfaceTest.java
│ │ ├── MethodReaderDelegationTest.java
│ │ ├── MethodReaderInterceptorReturnsTest.java
│ │ ├── MethodReaderMethodIdsTest.java
│ │ ├── MethodReaderNonStandardInstancesTest.java
│ │ ├── MethodReaderSuperInterfaceForSeveralReturnTypesTest.java
│ │ ├── MethodWriterBytesTest.java
│ │ ├── MethodWriterNestedReturnTypeTest.java
│ │ ├── MethodWriterStringTest.java
│ │ ├── MethodWriterVagueTypesTest.java
│ │ ├── MicroLongConverterTest.java
│ │ ├── MicroTimestampLongConverterTest.java
│ │ ├── MilliTimestampLongConverterTest.java
│ │ ├── MyClass.java
│ │ ├── MyClass2.java
│ │ ├── MyClass3.java
│ │ ├── MyMarshallable.java
│ │ ├── MyTypes.java
│ │ ├── MyTypesCustom.java
│ │ ├── NanoLongConverterTest.java
│ │ ├── NanoTimestampLongConverterTest.java
│ │ ├── NestedMapsTest.java
│ │ ├── ObjectWithTreeMap.java
│ │ ├── OutOfOrderTest.java
│ │ ├── Outer1.java
│ │ ├── Outer2.java
│ │ ├── OverrideAValueTest.java
│ │ ├── PrimArraysTest.java
│ │ ├── PrimitiveTypeWrappersTest.java
│ │ ├── ProjectTest.java
│ │ ├── QueryWireTest.java
│ │ ├── RFCExamplesTest.java
│ │ ├── RawWirePerfTest.java
│ │ ├── RawWireTest.java
│ │ ├── ReadAnyWireTest.java
│ │ ├── ReadDocumentContextTest.java
│ │ ├── ReadOneTest.java
│ │ ├── ReadmeChapter1Test.java
│ │ ├── ReadmePojoTest.java
│ │ ├── SequenceTest.java
│ │ ├── SerializableObjectTest.java
│ │ ├── ShortTextLongConverterTest.java
│ │ ├── SizeLongConverterTest.java
│ │ ├── SkipValueTest.java
│ │ ├── SmallDoublesMarshallingTest.java
│ │ ├── StrangeTextCombinationTest.java
│ │ ├── StreamMain.java
│ │ ├── StringConsumerMarshallableOutTest.java
│ │ ├── TWTSingleton.java
│ │ ├── TestIntConversion.java
│ │ ├── TestJsonIssue467.java
│ │ ├── TestLongConversion.java
│ │ ├── TestMarshallable.java
│ │ ├── TestMarshallableZoneId.java
│ │ ├── TextBinaryWireTest.java
│ │ ├── TextCompatibilityTest.java
│ │ ├── TextDocumentTest.java
│ │ ├── TextSkipValueTest.java
│ │ ├── TextWireAgitatorTest.java
│ │ ├── TextWireCompatibilityTest.java
│ │ ├── TextWireTest.java
│ │ ├── TextWireTypeArrayTest.java
│ │ ├── TextWithArraysTest.java
│ │ ├── ThrowableTest.java
│ │ ├── TimestampLongConverterZoneIdsTest.java
│ │ ├── TimestampLongConverterZonedIdsConfigTest.java
│ │ ├── TriviallyCopyableJLBH.java
│ │ ├── TriviallyCopyableTest.java
│ │ ├── UnicodeStringTest.java
│ │ ├── UnknownEnumTest.java
│ │ ├── UnknownFieldsTest.java
│ │ ├── UnsupportedChangesTest.java
│ │ ├── Update.java
│ │ ├── UpdateInterceptorReturnTypeTest.java
│ │ ├── UsingTestMarshallableTest.java
│ │ ├── ValueOutTest.java
│ │ ├── VanillaMessageHistoryTest.java
│ │ ├── VanillaMethodReaderTest.java
│ │ ├── VanillaMethodWriterBuilderVerboseTypesTest.java
│ │ ├── WMTwoFields.java
│ │ ├── WireDumperRandomTest.java
│ │ ├── WireDumperTest.java
│ │ ├── WireInternalInternTest.java
│ │ ├── WireInternalTest.java
│ │ ├── WireMarshallerTest.java
│ │ ├── WireParserTest.java
│ │ ├── WireResetTest.java
│ │ ├── WireResourcesTest.java
│ │ ├── WireSerializedLambdaTest.java
│ │ ├── WireStringCollectionTest.java
│ │ ├── WireTestCommon.java
│ │ ├── WireTests.java
│ │ ├── WireTextBugTest.java
│ │ ├── WireToOutputStreamTest.java
│ │ ├── WireTypeConverterTest.java
│ │ ├── WireTypeTest.java
│ │ ├── WiresFromFileTest.java
│ │ ├── WiresTest.java
│ │ ├── WordsLongConverterTest.java
│ │ ├── WriteDocumentContextTest.java
│ │ ├── YamlSpecTest.java
│ │ ├── YamlSpecificationTest.java
│ │ ├── YamlSpecificationTextWireTest.java
│ │ ├── YamlTokeniserTest.java
│ │ ├── YamlWireTest.java
│ │ ├── YamlWireUtilTest.java
│ │ ├── bytesmarshallable
│ │ ├── BenchArrayStringMain.java
│ │ ├── BenchBytesMain.java
│ │ ├── BenchFieldsMain.java
│ │ ├── BenchNullMain.java
│ │ ├── BenchRefBytesMain.java
│ │ ├── BenchRefStringMain.java
│ │ ├── BenchStringMain.java
│ │ ├── BenchUtf8StringMain.java
│ │ ├── BytesMarshallableTest.java
│ │ ├── NestedGenericTest.java
│ │ ├── PerfRegressionHolder.java
│ │ └── PerfRegressionTest.java
│ │ ├── compact
│ │ └── DotNetTest.java
│ │ ├── converter
│ │ ├── Base64Test.java
│ │ ├── LongConvertorFieldsTest.java
│ │ └── NanoTimeTest.java
│ │ ├── domestic
│ │ └── streaming
│ │ │ ├── CreateUtil.java
│ │ │ ├── StreamsTest.java
│ │ │ ├── reduction
│ │ │ ├── CollectorTest.java
│ │ │ ├── CountAccumulationTest.java
│ │ │ ├── LastIndexSeenTailerTest.java
│ │ │ ├── LastIndexSeenTest.java
│ │ │ ├── LastMarketDataPerSymbolTest.java
│ │ │ ├── MarketData.java
│ │ │ ├── MethodWriterTest.java
│ │ │ ├── MinMax.java
│ │ │ ├── MinMaxLastMarketDataPerSymbolTest.java
│ │ │ └── StreamingDemoMain.java
│ │ │ └── streams
│ │ │ ├── StreamsDemoTest.java
│ │ │ └── StreamsTest.java
│ │ ├── dynenum
│ │ └── WireDynamicEnumTest.java
│ │ ├── examples
│ │ ├── MessageRoutingExample.java
│ │ ├── Person.java
│ │ ├── PersonOps.java
│ │ ├── PersonWireMain.java
│ │ ├── WireExamples1.java
│ │ ├── WireExamples2.java
│ │ ├── WireExamples3.java
│ │ └── WireExamples4.java
│ │ ├── generated
│ │ └── ChronicleWireMethodExample.java
│ │ ├── internal
│ │ ├── MethodWriterClassNameGeneratorTest.java
│ │ ├── WireTypeConverterTest.java
│ │ ├── WireTypeConverterWithTuplesTest.java
│ │ └── stream
│ │ │ └── StreamsUtilTest.java
│ │ ├── io
│ │ └── SyncableMethodWriterTest.java
│ │ ├── issue
│ │ ├── ClassAliasPool840Test.java
│ │ ├── Issue272Test.java
│ │ ├── Issue277Test.java
│ │ ├── Issue327Test.java
│ │ ├── Issue328Test.java
│ │ ├── Issue344Test.java
│ │ ├── Issue609Test.java
│ │ ├── Issue620Test.java
│ │ ├── Issue739Test.java
│ │ ├── Issue751Test.java
│ │ ├── Issue844Test.java
│ │ ├── Issue886Test.java
│ │ ├── JSON222IndividualTest.java
│ │ ├── JSON222Test.java
│ │ ├── JSON322Test.java
│ │ ├── WireBug35Test.java
│ │ ├── WireBug37Test.java
│ │ ├── WireBug38Test.java
│ │ └── WireBug39Test.java
│ │ ├── java17
│ │ ├── Field.java
│ │ ├── Group.java
│ │ ├── NestedTest.java
│ │ └── Required.java
│ │ ├── map
│ │ ├── MapCustomTest.java
│ │ ├── MapMarshallableTest.java
│ │ └── MapWireTest.java
│ │ ├── marshallable
│ │ ├── A2Class.java
│ │ ├── AClass.java
│ │ ├── B2Class.java
│ │ ├── BClass.java
│ │ ├── ByteBufferMarshallingTest.java
│ │ ├── BytesUsageTest.java
│ │ ├── CNFREOnMissingClassTest.java
│ │ ├── CompareNaNTest.java
│ │ ├── EnumWireTest.java
│ │ ├── FieldInfoTest.java
│ │ ├── JSONWithAMapTest.java
│ │ ├── MarshallableWireTest.java
│ │ ├── MarshallableWithOverwriteFalseTest.java
│ │ ├── MarshallingEventGroupTest.java
│ │ ├── MarshallingJSONStringTest.java
│ │ ├── Nested.java
│ │ ├── NullFieldMarshallingTest.java
│ │ ├── Rung.java
│ │ ├── ScalarValues.java
│ │ ├── This0AsTransientTest.java
│ │ ├── ThreeSequence.java
│ │ ├── ThreeSequenceTest.java
│ │ ├── TriviallyCopyableMarketData.java
│ │ ├── TriviallyCopyableMarketDataTest.java
│ │ ├── TwoArrays.java
│ │ ├── TwoArraysTest.java
│ │ ├── UnknownDatatimeTest.java
│ │ ├── WithDefaults.java
│ │ ├── WithDefaultsTest.java
│ │ └── WithSubstitutionTest.java
│ │ ├── method
│ │ ├── BrokenChainTest.java
│ │ ├── ChronicleEvent.java
│ │ ├── ChronicleEventHandler.java
│ │ ├── ClusterCommand.java
│ │ ├── ClusterCommandListener.java
│ │ ├── DefaultMethodHandlingTest.java
│ │ ├── Event.java
│ │ ├── EventHandler.java
│ │ ├── Funding.java
│ │ ├── FundingListener.java
│ │ ├── FundingOut.java
│ │ ├── GenerateMethodWriterInheritanceTest.java
│ │ ├── GenericMethodWriterTest.java
│ │ ├── HandleSkippedValueReadsTest.java
│ │ ├── MarshallableMethodReaderTest.java
│ │ ├── MethodIdTest.java
│ │ ├── MethodReaderWithHistoryTest.java
│ │ ├── MethodWriter2Test.java
│ │ ├── MethodWriterByInterfaceTest.java
│ │ ├── MethodWriterMarshallableTest.java
│ │ ├── MethodWriterProxy2Test.java
│ │ ├── MethodWriterProxyTest.java
│ │ ├── MethodWriterTest.java
│ │ ├── MockDto.java
│ │ ├── MockMethods.java
│ │ ├── Service.java
│ │ ├── SkipsIgnoresEveryThingTest.java
│ │ ├── VanillaMethodReaderHierarchyTest.java
│ │ ├── VanillaMethodReaderTest.java
│ │ └── YamlTextWireTest.java
│ │ ├── passthrough
│ │ ├── GenericPassTest.java
│ │ └── PassThroughTest.java
│ │ ├── recursive
│ │ ├── Base.java
│ │ ├── RecursiveTest.java
│ │ ├── ReferToBaseClass.java
│ │ └── ReferToSameClass.java
│ │ ├── reordered
│ │ ├── NestedClass.java
│ │ ├── NestedReadSubset.java
│ │ ├── OuterClass.java
│ │ └── ReorderedTest.java
│ │ ├── reuse
│ │ ├── ByteArrayResuseTest.java
│ │ ├── ModelKeys.java
│ │ ├── NestedClass.java
│ │ ├── NestedClassTest.java
│ │ ├── OuterClass.java
│ │ ├── WireCollection.java
│ │ ├── WireCollectionTest.java
│ │ ├── WireModel.java
│ │ ├── WireProperty.java
│ │ └── WireUtils.java
│ │ ├── security
│ │ ├── ApacheStructExploitTest.java
│ │ ├── exploit.xml
│ │ └── exploit.yaml
│ │ ├── serializable
│ │ ├── MonetaTest.java
│ │ ├── Nested.java
│ │ ├── ScalarValues.java
│ │ └── SerializableWireTest.java
│ │ ├── type
│ │ └── conversions
│ │ │ └── binary
│ │ │ └── ConventionsTest.java
│ │ └── utils
│ │ └── JavaSourceCodeFormatterTest.java
│ └── resources
│ ├── CSVWireTest.csv
│ ├── FIX42.xml
│ ├── FIX42.xsd
│ ├── compat
│ ├── escaped.yaml
│ └── quoted-comment.yaml
│ ├── docs
│ └── qe_cfg.yaml
│ ├── echoing.yaml
│ ├── empty-file.yaml
│ ├── exception.yaml
│ ├── itop.schema.json
│ ├── md.yaml
│ ├── md2.yaml
│ ├── methods-collections-in.yaml
│ ├── methods
│ ├── in.yaml
│ └── out.yaml
│ ├── mixed-quotes.yaml
│ ├── morse-code.yaml
│ ├── my-pojos.yaml
│ ├── naked.yaml
│ ├── nst_files
│ ├── README.adoc
│ ├── e-0.yaml
│ ├── e-1.yaml
│ ├── e-10.yaml
│ ├── e-101.yaml
│ ├── e-12.yaml
│ ├── e-125.yaml
│ ├── e-13.yaml
│ ├── e-136.yaml
│ ├── e-137.yaml
│ ├── e-139.yaml
│ ├── e-140.yaml
│ ├── e-145.yaml
│ ├── e-147.yaml
│ ├── e-149.yaml
│ ├── e-15.yaml
│ ├── e-150.yaml
│ ├── e-151.yaml
│ ├── e-153.yaml
│ ├── e-154.yaml
│ ├── e-155.yaml
│ ├── e-156.yaml
│ ├── e-157.yaml
│ ├── e-158.yaml
│ ├── e-159.yaml
│ ├── e-160.yaml
│ ├── e-161.yaml
│ ├── e-162.yaml
│ ├── e-163.yaml
│ ├── e-164.yaml
│ ├── e-165.yaml
│ ├── e-169.yaml
│ ├── e-171.yaml
│ ├── e-172.yaml
│ ├── e-173.yaml
│ ├── e-175.yaml
│ ├── e-176.yaml
│ ├── e-177.yaml
│ ├── e-178.yaml
│ ├── e-179.yaml
│ ├── e-180.yaml
│ ├── e-181.yaml
│ ├── e-183.yaml
│ ├── e-184.yaml
│ ├── e-185.yaml
│ ├── e-186.yaml
│ ├── e-187.yaml
│ ├── e-188.yaml
│ ├── e-189.yaml
│ ├── e-190.yaml
│ ├── e-191.yaml
│ ├── e-192.yaml
│ ├── e-194.yaml
│ ├── e-195.yaml
│ ├── e-197.yaml
│ ├── e-198.yaml
│ ├── e-199.yaml
│ ├── e-2.yaml
│ ├── e-20.yaml
│ ├── e-200.yaml
│ ├── e-201.yaml
│ ├── e-202.yaml
│ ├── e-203.yaml
│ ├── e-204.yaml
│ ├── e-205.yaml
│ ├── e-206.yaml
│ ├── e-207.yaml
│ ├── e-208.yaml
│ ├── e-209.yaml
│ ├── e-21.yaml
│ ├── e-210.yaml
│ ├── e-211.yaml
│ ├── e-212.yaml
│ ├── e-213.yaml
│ ├── e-214.yaml
│ ├── e-216.yaml
│ ├── e-217.yaml
│ ├── e-218.yaml
│ ├── e-219.yaml
│ ├── e-22.yaml
│ ├── e-220.yaml
│ ├── e-223.yaml
│ ├── e-24.yaml
│ ├── e-25.yaml
│ ├── e-26.yaml
│ ├── e-27.yaml
│ ├── e-28.yaml
│ ├── e-29.yaml
│ ├── e-30.yaml
│ ├── e-31.yaml
│ ├── e-33.yaml
│ ├── e-34.yaml
│ ├── e-35.yaml
│ ├── e-36.yaml
│ ├── e-37.yaml
│ ├── e-40.yaml
│ ├── e-44.yaml
│ ├── e-46.yaml
│ ├── e-54.yaml
│ ├── e-55.yaml
│ ├── e-59.yaml
│ ├── e-63.yaml
│ ├── e-64.yaml
│ ├── e-66.yaml
│ ├── e-69.yaml
│ ├── e-7.yaml
│ ├── e-77.yaml
│ ├── e-78.yaml
│ ├── e-79.yaml
│ ├── e-80.yaml
│ ├── e-81.yaml
│ ├── e-82.yaml
│ ├── e-83.yaml
│ ├── e-85.yaml
│ ├── e-86.yaml
│ ├── e-87.yaml
│ ├── e-91.yaml
│ ├── n_0.json
│ ├── n_1.json
│ ├── n_10.json
│ ├── n_101.json
│ ├── n_11.json
│ ├── n_12.json
│ ├── n_125.json
│ ├── n_127.json
│ ├── n_13.json
│ ├── n_136.json
│ ├── n_137.json
│ ├── n_139.json
│ ├── n_14.json
│ ├── n_140.json
│ ├── n_145.json
│ ├── n_147.json
│ ├── n_149.json
│ ├── n_15.json
│ ├── n_150.json
│ ├── n_151.json
│ ├── n_153.json
│ ├── n_154.json
│ ├── n_155.json
│ ├── n_156.json
│ ├── n_157.json
│ ├── n_158.json
│ ├── n_159.json
│ ├── n_16.json
│ ├── n_160.json
│ ├── n_161.json
│ ├── n_162.json
│ ├── n_163.json
│ ├── n_164.json
│ ├── n_165.json
│ ├── n_169.json
│ ├── n_17.json
│ ├── n_171.json
│ ├── n_172.json
│ ├── n_173.json
│ ├── n_175.json
│ ├── n_176.json
│ ├── n_177.json
│ ├── n_178.json
│ ├── n_179.json
│ ├── n_18.json
│ ├── n_180.json
│ ├── n_181.json
│ ├── n_183.json
│ ├── n_184.json
│ ├── n_185.json
│ ├── n_186.json
│ ├── n_187.json
│ ├── n_188.json
│ ├── n_189.json
│ ├── n_19.json
│ ├── n_190.json
│ ├── n_191.json
│ ├── n_192.json
│ ├── n_193.json
│ ├── n_194.json
│ ├── n_195.json
│ ├── n_197.json
│ ├── n_198.json
│ ├── n_199.json
│ ├── n_2.json
│ ├── n_20.json
│ ├── n_200.json
│ ├── n_201.json
│ ├── n_202.json
│ ├── n_203.json
│ ├── n_204.json
│ ├── n_205.json
│ ├── n_206.json
│ ├── n_207.json
│ ├── n_208.json
│ ├── n_209.json
│ ├── n_21.json
│ ├── n_210.json
│ ├── n_211.json
│ ├── n_212.json
│ ├── n_213.json
│ ├── n_214.json
│ ├── n_216.json
│ ├── n_217.json
│ ├── n_218.json
│ ├── n_219.json
│ ├── n_22.json
│ ├── n_220.json
│ ├── n_221.json
│ ├── n_222.json
│ ├── n_223.json
│ ├── n_23.json
│ ├── n_24.json
│ ├── n_25.json
│ ├── n_26.json
│ ├── n_27.json
│ ├── n_28.json
│ ├── n_29.json
│ ├── n_3.json
│ ├── n_30.json
│ ├── n_31.json
│ ├── n_32.json
│ ├── n_33.json
│ ├── n_34.json
│ ├── n_35.json
│ ├── n_36.json
│ ├── n_37.json
│ ├── n_4.json
│ ├── n_40.json
│ ├── n_44.json
│ ├── n_46.json
│ ├── n_5.json
│ ├── n_54.json
│ ├── n_55.json
│ ├── n_59.json
│ ├── n_6.json
│ ├── n_63.json
│ ├── n_64.json
│ ├── n_66.json
│ ├── n_69.json
│ ├── n_7.json
│ ├── n_77.json
│ ├── n_78.json
│ ├── n_79.json
│ ├── n_8.json
│ ├── n_80.json
│ ├── n_81.json
│ ├── n_82.json
│ ├── n_83.json
│ ├── n_85.json
│ ├── n_86.json
│ ├── n_87.json
│ ├── n_9.json
│ ├── n_91.json
│ ├── y_100.json
│ ├── y_102.json
│ ├── y_103.json
│ ├── y_104.json
│ ├── y_105.json
│ ├── y_106.json
│ ├── y_107.json
│ ├── y_108.json
│ ├── y_109.json
│ ├── y_110.json
│ ├── y_111.json
│ ├── y_112.json
│ ├── y_113.json
│ ├── y_114.json
│ ├── y_115.json
│ ├── y_116.json
│ ├── y_117.json
│ ├── y_118.json
│ ├── y_119.json
│ ├── y_120.json
│ ├── y_121.json
│ ├── y_122.json
│ ├── y_123.json
│ ├── y_124.json
│ ├── y_126.json
│ ├── y_128.json
│ ├── y_129.json
│ ├── y_130.json
│ ├── y_131.json
│ ├── y_132.json
│ ├── y_133.json
│ ├── y_134.json
│ ├── y_135.json
│ ├── y_138.json
│ ├── y_141.json
│ ├── y_142.json
│ ├── y_143.json
│ ├── y_144.json
│ ├── y_146.json
│ ├── y_148.json
│ ├── y_152.json
│ ├── y_166.json
│ ├── y_167.json
│ ├── y_168.json
│ ├── y_170.json
│ ├── y_174.json
│ ├── y_182.json
│ ├── y_196.json
│ ├── y_215.json
│ ├── y_38.json
│ ├── y_39.json
│ ├── y_41.json
│ ├── y_42.json
│ ├── y_43.json
│ ├── y_45.json
│ ├── y_47.json
│ ├── y_48.json
│ ├── y_49.json
│ ├── y_50.json
│ ├── y_51.json
│ ├── y_52.json
│ ├── y_53.json
│ ├── y_56.json
│ ├── y_57.json
│ ├── y_58.json
│ ├── y_60.json
│ ├── y_61.json
│ ├── y_62.json
│ ├── y_65.json
│ ├── y_67.json
│ ├── y_68.json
│ ├── y_70.json
│ ├── y_71.json
│ ├── y_72.json
│ ├── y_73.json
│ ├── y_74.json
│ ├── y_75.json
│ ├── y_76.json
│ ├── y_84.json
│ ├── y_88.json
│ ├── y_89.json
│ ├── y_90.json
│ ├── y_92.json
│ ├── y_93.json
│ ├── y_94.json
│ ├── y_95.json
│ ├── y_96.json
│ ├── y_97.json
│ ├── y_98.json
│ └── y_99.json
│ ├── snake-yaml-examples
│ ├── any-object-example-b.yaml
│ ├── any-object-example.yaml
│ ├── list-bean-1.yaml
│ ├── list-bean-2.yaml
│ ├── list-bean-2b.yaml
│ ├── list-bean-3.yaml
│ ├── list-bean-4.yaml
│ ├── list-bean-4b.yaml
│ ├── map-bean-1.yaml
│ ├── map-bean-10.yaml
│ ├── map-bean-10b.yaml
│ ├── map-bean-11.yaml
│ ├── map-bean-11b.yaml
│ ├── map-bean-12.yaml
│ ├── map-bean-12b.yaml
│ ├── map-bean-13.yaml
│ ├── map-bean-13b.yaml
│ ├── map-bean-1b.yaml
│ ├── map-bean-2.yaml
│ ├── map-bean-2b.yaml
│ ├── map-recursive-1.yaml
│ ├── map-recursive-1_1.yaml
│ ├── map-recursive-2.yaml
│ ├── map-recursive-3.yaml
│ ├── map-recursive-4.yaml
│ ├── set-bean-1.yaml
│ ├── set-bean-1b.yaml
│ ├── set-bean-2.yaml
│ ├── set-bean-3.yaml
│ ├── set-bean-4.yaml
│ ├── set-bean-5.yaml
│ └── set-bean-6.yaml
│ └── yaml
│ ├── complex-mapping.yaml
│ ├── int-mapping-incomplete.yaml
│ ├── int-mapping.yaml
│ ├── k8s
│ ├── example1.yaml
│ ├── example2.yaml
│ ├── example3.yaml
│ ├── example4.yaml
│ ├── example5.yaml
│ ├── example6.yaml
│ ├── example7.yaml
│ ├── example8.yaml
│ └── example9.yaml
│ ├── sample1.yaml
│ ├── sample2.yaml
│ ├── services.yaml
│ └── spec
│ ├── 2_10_NodeAppearsTwiceInThisDocument.out.yaml
│ ├── 2_10_NodeAppearsTwiceInThisDocument.yaml
│ ├── 2_11MappingBetweenSequences.yaml
│ ├── 2_12CompactNestedMapping.out.yaml
│ ├── 2_12CompactNestedMapping.yaml
│ ├── 2_13InLiteralsNewlinesArePreserved.out.yaml
│ ├── 2_13InLiteralsNewlinesArePreserved.yaml
│ ├── 2_14InThefoldedScalars.out.yaml
│ ├── 2_14InThefoldedScalars.yaml
│ ├── 2_15FoldedNewlines.yaml
│ ├── 2_16IndentationDeterminesScope.yaml
│ ├── 2_17QuotedScalars.out.yaml
│ ├── 2_17QuotedScalars.yaml
│ ├── 2_18Multi_lineFlowScalars.yaml
│ ├── 2_18Multi_lineFlowScalarsFixed.yaml
│ ├── 2_19Integers.out.yaml
│ ├── 2_19Integers.yaml
│ ├── 2_1_SequenceOfScalars.out.yaml
│ ├── 2_1_SequenceOfScalars.yaml
│ ├── 2_20FloatingPoint.yaml
│ ├── 2_21Miscellaneous.yaml
│ ├── 2_21MiscellaneousBis.out.yaml
│ ├── 2_21MiscellaneousBis.yaml
│ ├── 2_21MiscellaneousFixed.yaml
│ ├── 2_22Timestamps.yaml
│ ├── 2_23VariousExplicitTags.out.yaml
│ ├── 2_23VariousExplicitTags.yaml
│ ├── 2_24GlobalTags.yaml
│ ├── 2_25UnorderedSets.yaml
│ ├── 2_26OrderedMappings.yaml
│ ├── 2_27Invoice.yaml
│ ├── 2_28LogFile.yaml
│ ├── 2_2_MappingScalarsToScalars.out.yaml
│ ├── 2_2_MappingScalarsToScalars.yaml
│ ├── 2_3_MappingScalarsToSequences.out.yaml
│ ├── 2_3_MappingScalarsToSequences.yaml
│ ├── 2_4_SequenceOfMappings.out.yaml
│ ├── 2_4_SequenceOfMappings.yaml
│ ├── 2_5_SequenceOfSequences.out.yaml
│ ├── 2_5_SequenceOfSequences.yaml
│ ├── 2_6_MappingOfMappings.out.yaml
│ ├── 2_6_MappingOfMappings.yaml
│ ├── 2_7_TwoDocumentsInAStream.out.yaml
│ ├── 2_7_TwoDocumentsInAStream.yaml
│ ├── 2_8_PlayByPlayFeed.yaml
│ ├── 2_9_SingleDocumentWithTwoComments.out.yaml
│ ├── 2_9_SingleDocumentWithTwoComments.yaml
│ ├── README.adoc
│ ├── spec.pdf
│ └── types
│ ├── map.yaml
│ ├── map_mixed_tags.yaml
│ ├── merge.yaml
│ ├── omap.yaml
│ ├── pairs.yaml
│ ├── seq.yaml
│ ├── set.yaml
│ ├── v.yaml
│ └── value.yaml
├── system.properties
└── systemProperties.adoc
/.gitignore:
--------------------------------------------------------------------------------
1 | ### How to update
2 | # This is copied from OpenHFT/.gitignore
3 | # update the original and run OpenHFT/update_gitignore.sh
4 |
5 | ### Compiled class file
6 | *.class
7 |
8 | ### Package Files
9 | *.jar
10 | *.war
11 | *.ear
12 |
13 | ### Log file
14 | *.log
15 |
16 | ### IntelliJ
17 | *.iml
18 | *.ipr
19 | *.iws
20 | .idea
21 | compat_reports
22 | .attach_pid*
23 |
24 | ### Virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
25 | hs_err_pid*
26 |
27 | ### Maven template
28 | target/
29 | pom.xml.tag
30 | pom.xml.releaseBackup
31 | pom.xml.versionsBackup
32 | pom.xml.next
33 | release.properties
34 |
35 | ### Eclipse template
36 | *.pydevproject
37 | .metadata
38 | .gradle
39 | bin/
40 | tmp/
41 | *.tmp
42 | *.bak
43 | *.swp
44 | *~.nib
45 | local.properties
46 | .classpath
47 | .project
48 | .settings/
49 | .loadpath
50 |
51 | ### Queue files
52 | *.cq4t
53 | *.cq4
54 |
55 | .DS_Store
56 |
--------------------------------------------------------------------------------
/demo/java17setup.sh:
--------------------------------------------------------------------------------
1 | #! /bin/bash
2 |
3 | #
4 | # Copyright 2016-2022 chronicle.software
5 | #
6 | # https://chronicle.software
7 | #
8 | # Licensed under the Apache License, Version 2.0 (the "License");
9 | # you may not use this file except in compliance with the License.
10 | # You may obtain a copy of the License at
11 | #
12 | # http://www.apache.org/licenses/LICENSE-2.0
13 | #
14 | # Unless required by applicable law or agreed to in writing, software
15 | # distributed under the License is distributed on an "AS IS" BASIS,
16 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17 | # See the License for the specific language governing permissions and
18 | # limitations under the License.
19 | #
20 |
21 | export MAVEN_OPTS="--add-exports=java.base/jdk.internal.ref=ALL-UNNAMED --add-exports=java.base/sun.nio.ch=ALL-UNNAMED \
22 | --add-exports=jdk.unsupported/sun.misc=ALL-UNNAMED --add-exports=jdk.compiler/com.sun.tools.javac.file=ALL-UNNAMED \
23 | --add-opens=jdk.compiler/com.sun.tools.javac=ALL-UNNAMED --add-exports=jdk.compiler/com.sun.tools.javac.file=ALL-UNNAMED \
24 | --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.lang.reflect=ALL-UNNAMED \
25 | --add-opens=java.base/java.io=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED"
--------------------------------------------------------------------------------
/demo/src/main/resources/cfg1.yaml:
--------------------------------------------------------------------------------
1 | !Data1 {
2 | name: Tom,
3 | age: 25,
4 | address: "21 High street, Liverpool"
5 | }
6 |
--------------------------------------------------------------------------------
/demo/src/main/resources/cfg2.yaml:
--------------------------------------------------------------------------------
1 | !run.chronicle.wire.demo.Example7$Data2 {
2 | name: Helen,
3 | age: 19,
4 | address: "15 Royal Way, Liverpool"
5 | }
6 |
--------------------------------------------------------------------------------
/demo/system.properties:
--------------------------------------------------------------------------------
1 | #
2 | # Copyright 2016-2022 chronicle.software
3 | #
4 | # https://chronicle.software
5 | #
6 | # Licensed under the Apache License, Version 2.0 (the "License");
7 | # you may not use this file except in compliance with the License.
8 | # You may obtain a copy of the License at
9 | #
10 | # http://www.apache.org/licenses/LICENSE-2.0
11 | #
12 | # Unless required by applicable law or agreed to in writing, software
13 | # distributed under the License is distributed on an "AS IS" BASIS,
14 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 | # See the License for the specific language governing permissions and
16 | # limitations under the License.
17 | #
18 |
19 | # Tracing if resources are closed/released correctly.
20 | jvm.resource.tracing=true
21 | disable.resource.warning=true
22 | # for profiling
23 | jvm.safepoint.enabled=false
24 | wire.generate.v2=false
25 | # reduce logging of the announcer
26 | chronicle.announcer.disable=true
27 | report.unoptimised=true
--------------------------------------------------------------------------------
/images/Wire_line.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenHFT/Chronicle-Wire/c8ca01bb62e9b6e46318624a6a4a96b4d5b21d38/images/Wire_line.png
--------------------------------------------------------------------------------
/images/buffer.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenHFT/Chronicle-Wire/c8ca01bb62e9b6e46318624a6a4a96b4d5b21d38/images/buffer.png
--------------------------------------------------------------------------------
/jlbh-test.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | #
3 | # Copyright 2016-2022 chronicle.software
4 | #
5 | # https://chronicle.software
6 | #
7 | # Licensed under the Apache License, Version 2.0 (the "License");
8 | # you may not use this file except in compliance with the License.
9 | # You may obtain a copy of the License at
10 | #
11 | # http://www.apache.org/licenses/LICENSE-2.0
12 | #
13 | # Unless required by applicable law or agreed to in writing, software
14 | # distributed under the License is distributed on an "AS IS" BASIS,
15 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 | # See the License for the specific language governing permissions and
17 | # limitations under the License.
18 | #
19 |
20 | mvn clean test-compile exec:java -Dexec.mainClass="net.openhft.chronicle.wire.TriviallyCopyableJLBH" -Dexec.classpathScope=test
21 |
--------------------------------------------------------------------------------
/jlbhBenchmark.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenHFT/Chronicle-Wire/c8ca01bb62e9b6e46318624a6a4a96b4d5b21d38/jlbhBenchmark.png
--------------------------------------------------------------------------------
/marshallingperf/system.properties:
--------------------------------------------------------------------------------
1 | #
2 | # Copyright 2016-2022 chronicle.software
3 | #
4 | # https://chronicle.software
5 | #
6 | # Licensed under the Apache License, Version 2.0 (the "License");
7 | # you may not use this file except in compliance with the License.
8 | # You may obtain a copy of the License at
9 | #
10 | # http://www.apache.org/licenses/LICENSE-2.0
11 | #
12 | # Unless required by applicable law or agreed to in writing, software
13 | # distributed under the License is distributed on an "AS IS" BASIS,
14 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 | # See the License for the specific language governing permissions and
16 | # limitations under the License.
17 | #
18 |
19 | # Tracing if resources are closed/released correctly.
20 | jvm.resource.tracing=false
21 | # for profiling
22 | jvm.safepoint.enabled=false
23 | wire.generate.v2=false
24 | # reduce logging of the announcer
25 | chronicle.announcer.disable=true
26 | report.unoptimised=true
--------------------------------------------------------------------------------
/microbenchmarks/src/main/java/net/openhft/chronicle/wire/benchmarks/Side.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2015-2020 chronicle.software
3 | *
4 | * This program is free software: you can redistribute it and/or modify
5 | * it under the terms of the GNU Lesser General Public License as published by
6 | * the Free Software Foundation, either version 3 of the License.
7 | *
8 | * This program is distributed in the hope that it will be useful,
9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 | * GNU Lesser General Public License for more details.
12 | *
13 | * You should have received a copy of the GNU Lesser General Public License
14 | * along with this program. If not, see .
15 | */
16 |
17 | package net.openhft.chronicle.wire.benchmarks;
18 |
19 | public enum Side {
20 | Buy, Sell
21 | }
22 |
--------------------------------------------------------------------------------
/microbenchmarks/system.properties:
--------------------------------------------------------------------------------
1 | #
2 | # Copyright 2016-2022 chronicle.software
3 | #
4 | # https://chronicle.software
5 | #
6 | # Licensed under the Apache License, Version 2.0 (the "License");
7 | # you may not use this file except in compliance with the License.
8 | # You may obtain a copy of the License at
9 | #
10 | # http://www.apache.org/licenses/LICENSE-2.0
11 | #
12 | # Unless required by applicable law or agreed to in writing, software
13 | # distributed under the License is distributed on an "AS IS" BASIS,
14 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 | # See the License for the specific language governing permissions and
16 | # limitations under the License.
17 | #
18 |
19 | # Tracing if resources are closed/released correctly.
20 | jvm.resource.tracing=false
21 | # for profiling
22 | jvm.safepoint.enabled=false
23 | # reduce logging of the announcer
24 | chronicle.announcer.disable=true
25 | report.unoptimised=true
--------------------------------------------------------------------------------
/src/main/java/net/openhft/chronicle/wire/AsMarshallable.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2016-2022 chronicle.software
3 | *
4 | * https://chronicle.software
5 | *
6 | * Licensed under the Apache License, Version 2.0 (the "License");
7 | * you may not use this file except in compliance with the License.
8 | * You may obtain a copy of the License at
9 | *
10 | * http://www.apache.org/licenses/LICENSE-2.0
11 | *
12 | * Unless required by applicable law or agreed to in writing, software
13 | * distributed under the License is distributed on an "AS IS" BASIS,
14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 | * See the License for the specific language governing permissions and
16 | * limitations under the License.
17 | */
18 |
19 | package net.openhft.chronicle.wire;
20 |
21 | import java.lang.annotation.ElementType;
22 | import java.lang.annotation.Retention;
23 | import java.lang.annotation.RetentionPolicy;
24 | import java.lang.annotation.Target;
25 |
26 | /**
27 | * This annotation indicates that the associated field or parameter should be treated as
28 | * a {@code Marshallable} type, implying it should be serialized or deserialized accordingly.
29 | * It can be applied to fields or method parameters to provide metadata about their marshalling behavior.
30 | */
31 | @Retention(RetentionPolicy.RUNTIME) // Indicates that this annotation should be retained at runtime.
32 | @Target({ElementType.FIELD, ElementType.PARAMETER}) // Specifies that this annotation can be applied to fields and method parameters.
33 | public @interface AsMarshallable {
34 | }
35 |
--------------------------------------------------------------------------------
/src/main/java/net/openhft/chronicle/wire/BytesInBinaryMarshallable.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2016-2020 chronicle.software
3 | *
4 | * https://chronicle.software
5 | *
6 | * Licensed under the Apache License, Version 2.0 (the "License");
7 | * you may not use this file except in compliance with the License.
8 | * You may obtain a copy of the License at
9 | *
10 | * http://www.apache.org/licenses/LICENSE-2.0
11 | *
12 | * Unless required by applicable law or agreed to in writing, software
13 | * distributed under the License is distributed on an "AS IS" BASIS,
14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 | * See the License for the specific language governing permissions and
16 | * limitations under the License.
17 | */
18 | package net.openhft.chronicle.wire;
19 |
20 | /**
21 | * Represents an abstract base class for binary marshallables that primarily deal with bytes.
22 | * By default, this class does not use self-describing messages.
23 | *
24 | * This class extends the {@link AbstractCommonMarshallable} to provide common functionalities
25 | * shared among marshallables.
26 | */
27 | public abstract class BytesInBinaryMarshallable extends AbstractCommonMarshallable {
28 |
29 | /**
30 | * Determines whether this marshallable uses self-describing messages.
31 | *
32 | * @return {@code false} indicating that this marshallable does not use self-describing messages by default.
33 | */
34 | @Override
35 | public boolean usesSelfDescribingMessage() {
36 | return false;
37 | }
38 | }
39 |
--------------------------------------------------------------------------------
/src/main/java/net/openhft/chronicle/wire/CommentAnnotationNotifier.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2016-2020 chronicle.software
3 | *
4 | * https://chronicle.software
5 | *
6 | * Licensed under the Apache License, Version 2.0 (the "License");
7 | * you may not use this file except in compliance with the License.
8 | * You may obtain a copy of the License at
9 | *
10 | * http://www.apache.org/licenses/LICENSE-2.0
11 | *
12 | * Unless required by applicable law or agreed to in writing, software
13 | * distributed under the License is distributed on an "AS IS" BASIS,
14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 | * See the License for the specific language governing permissions and
16 | * limitations under the License.
17 | */
18 | package net.openhft.chronicle.wire;
19 |
20 | /**
21 | * Represents an interface to notify whether a certain element has a preceding comment annotation.
22 | * Implementers can use this to handle scenarios where knowledge of preceding comments is required.
23 | */
24 | interface CommentAnnotationNotifier {
25 |
26 | /**
27 | * Notifies the implementer whether a certain element has a preceding comment annotation.
28 | *
29 | * @param hasCommentAnnotation A flag indicating if the element has a preceding comment.
30 | * True if it has, otherwise false.
31 | */
32 | void hasPrecedingComment(boolean hasCommentAnnotation);
33 | }
34 |
--------------------------------------------------------------------------------
/src/main/java/net/openhft/chronicle/wire/FieldNumberParselet.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2016-2020 chronicle.software
3 | *
4 | * https://chronicle.software
5 | *
6 | * Licensed under the Apache License, Version 2.0 (the "License");
7 | * you may not use this file except in compliance with the License.
8 | * You may obtain a copy of the License at
9 | *
10 | * http://www.apache.org/licenses/LICENSE-2.0
11 | *
12 | * Unless required by applicable law or agreed to in writing, software
13 | * distributed under the License is distributed on an "AS IS" BASIS,
14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 | * See the License for the specific language governing permissions and
16 | * limitations under the License.
17 | */
18 | package net.openhft.chronicle.wire;
19 |
20 | import net.openhft.chronicle.core.io.InvalidMarshallableException;
21 |
22 | /**
23 | * Represents a parselet to process field numbers in a wire format.
24 | * Implementations should provide logic to read data based on the field number from a wire input source.
25 | */
26 | public interface FieldNumberParselet {
27 |
28 | /**
29 | * Reads and processes data corresponding to the given field number (methodId) from the wire input.
30 | *
31 | * @param methodId The field number or methodId that denotes which data to read.
32 | * @param wire The wire input source from which the data is read.
33 | * @throws InvalidMarshallableException If there's an error in reading or processing the data.
34 | */
35 | void readOne(long methodId, WireIn wire) throws InvalidMarshallableException;
36 | }
37 |
--------------------------------------------------------------------------------
/src/main/java/net/openhft/chronicle/wire/KeyedMarshallable.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2016-2020 chronicle.software
3 | *
4 | * https://chronicle.software
5 | *
6 | * Licensed under the Apache License, Version 2.0 (the "License");
7 | * you may not use this file except in compliance with the License.
8 | * You may obtain a copy of the License at
9 | *
10 | * http://www.apache.org/licenses/LICENSE-2.0
11 | *
12 | * Unless required by applicable law or agreed to in writing, software
13 | * distributed under the License is distributed on an "AS IS" BASIS,
14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 | * See the License for the specific language governing permissions and
16 | * limitations under the License.
17 | */
18 | package net.openhft.chronicle.wire;
19 |
20 | import net.openhft.chronicle.bytes.Bytes;
21 | import org.jetbrains.annotations.NotNull;
22 |
23 | public interface KeyedMarshallable {
24 |
25 | /**
26 | * Writes the key of the current instance into the provided {@code Bytes} object.
27 | * This default implementation utilizes the {@code Wires.writeKey} method.
28 | *
29 | * @param bytes The {@code Bytes} object into which the key of the current instance is written.
30 | */
31 | @SuppressWarnings("rawtypes")
32 | default void writeKey(@NotNull Bytes> bytes) {
33 | Wires.writeKey(this, bytes);
34 | }
35 | }
36 |
--------------------------------------------------------------------------------
/src/main/java/net/openhft/chronicle/wire/MarshallableParser.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2016-2020 chronicle.software
3 | *
4 | * https://chronicle.software
5 | *
6 | * Licensed under the Apache License, Version 2.0 (the "License");
7 | * you may not use this file except in compliance with the License.
8 | * You may obtain a copy of the License at
9 | *
10 | * http://www.apache.org/licenses/LICENSE-2.0
11 | *
12 | * Unless required by applicable law or agreed to in writing, software
13 | * distributed under the License is distributed on an "AS IS" BASIS,
14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 | * See the License for the specific language governing permissions and
16 | * limitations under the License.
17 | */
18 | package net.openhft.chronicle.wire;
19 |
20 | import org.jetbrains.annotations.NotNull;
21 |
22 | /**
23 | * This is the {@code MarshallableParser} functional interface.
24 | * It provides a contract for parsing methods that convert a given {@link ValueIn} into an instance of type {@code T}.
25 | * Designed to be used in scenarios where marshalling is required to transform input values into desired data types.
26 | *
27 | * @param the type of the object that will be produced after parsing the input value.
28 | */
29 | @FunctionalInterface
30 | public interface MarshallableParser {
31 |
32 | /**
33 | * Parses the provided {@code ValueIn} into an instance of type {@code T}.
34 | *
35 | * @param valueIn the input value to be parsed.
36 | * @return the parsed instance of type {@code T}.
37 | */
38 | @NotNull
39 | T parse(ValueIn valueIn);
40 | }
41 |
--------------------------------------------------------------------------------
/src/main/java/net/openhft/chronicle/wire/MethodDelegate.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2016-2022 chronicle.software
3 | *
4 | * https://chronicle.software
5 | *
6 | * Licensed under the Apache License, Version 2.0 (the "License");
7 | * you may not use this file except in compliance with the License.
8 | * You may obtain a copy of the License at
9 | *
10 | * http://www.apache.org/licenses/LICENSE-2.0
11 | *
12 | * Unless required by applicable law or agreed to in writing, software
13 | * distributed under the License is distributed on an "AS IS" BASIS,
14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 | * See the License for the specific language governing permissions and
16 | * limitations under the License.
17 | */
18 |
19 | package net.openhft.chronicle.wire;
20 |
21 | /**
22 | * Represents an interface that provides a mechanism for method delegation.
23 | * Implementors of this interface can set a delegate to which method invocations are
24 | * forwarded. By using this interface, users can achieve behavior modification,
25 | * augmentation, or decoration of method calls by setting appropriate delegates.
26 | *
27 | * @param The type of the delegate to which method calls will be forwarded.
28 | */
29 | public interface MethodDelegate {
30 |
31 | /**
32 | * Sets the delegate to which method invocations will be forwarded.
33 | *
34 | * This mechanism allows the delegation of method calls to an alternate implementation,
35 | * enabling behaviors like logging, mocking, or additional processing.
36 | *
37 | * @param delegate The object that will receive the delegated method calls.
38 | */
39 | void delegate(OUT delegate);
40 | }
41 |
--------------------------------------------------------------------------------
/src/main/java/net/openhft/chronicle/wire/MethodWriterValidationException.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2016-2022 chronicle.software
3 | *
4 | * https://chronicle.software
5 | *
6 | * Licensed under the Apache License, Version 2.0 (the "License");
7 | * you may not use this file except in compliance with the License.
8 | * You may obtain a copy of the License at
9 | *
10 | * http://www.apache.org/licenses/LICENSE-2.0
11 | *
12 | * Unless required by applicable law or agreed to in writing, software
13 | * distributed under the License is distributed on an "AS IS" BASIS,
14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 | * See the License for the specific language governing permissions and
16 | * limitations under the License.
17 | */
18 |
19 | package net.openhft.chronicle.wire;
20 |
21 | /**
22 | * The {@code MethodWriterValidationException} is a specialized exception class that indicates a failure
23 | * in generating a {@link MethodWriter}. This exception type prevents falling back to the default proxy
24 | * implementation. It is typically thrown when there are invalid conditions or configurations related to
25 | * {@link MethodWriter} creation.
26 | */
27 | public class MethodWriterValidationException extends IllegalArgumentException {
28 | private static final long serialVersionUID = 0L;
29 |
30 | /**
31 | * Constructs a new {@code MethodWriterValidationException} with the specified detail message.
32 | *
33 | * @param s the detail message explaining the reason for the exception.
34 | */
35 | public MethodWriterValidationException(String s) {
36 | super(s);
37 | }
38 | }
39 |
--------------------------------------------------------------------------------
/src/main/java/net/openhft/chronicle/wire/Quotes.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2016-2020 chronicle.software
3 | *
4 | * https://chronicle.software
5 | *
6 | * Licensed under the Apache License, Version 2.0 (the "License");
7 | * you may not use this file except in compliance with the License.
8 | * You may obtain a copy of the License at
9 | *
10 | * http://www.apache.org/licenses/LICENSE-2.0
11 | *
12 | * Unless required by applicable law or agreed to in writing, software
13 | * distributed under the License is distributed on an "AS IS" BASIS,
14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 | * See the License for the specific language governing permissions and
16 | * limitations under the License.
17 | */
18 | package net.openhft.chronicle.wire;
19 |
20 | /**
21 | * Enumerates the types of quotation marks.
22 | * This enum represents the most common quotation marks: none, single, and double.
23 | * Each enumeration value is associated with its corresponding character representation.
24 | */
25 | enum Quotes {
26 |
27 | /** Represents the absence of a quotation mark. */
28 | NONE(' '),
29 |
30 | /** Represents a single quotation mark. */
31 | SINGLE('\''),
32 |
33 | /** Represents a double quotation mark. */
34 | DOUBLE('"');
35 |
36 | // The character representation of the quotation mark
37 | final char q;
38 |
39 | /**
40 | * Constructs a new instance of {@code Quotes} with the provided character representation.
41 | *
42 | * @param q The character representation of the quotation mark.
43 | */
44 | Quotes(char q) {
45 | this.q = q;
46 | }
47 | }
48 |
--------------------------------------------------------------------------------
/src/main/java/net/openhft/chronicle/wire/RawText.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2016-2020 chronicle.software
3 | *
4 | * https://chronicle.software
5 | *
6 | * Licensed under the Apache License, Version 2.0 (the "License");
7 | * you may not use this file except in compliance with the License.
8 | * You may obtain a copy of the License at
9 | *
10 | * http://www.apache.org/licenses/LICENSE-2.0
11 | *
12 | * Unless required by applicable law or agreed to in writing, software
13 | * distributed under the License is distributed on an "AS IS" BASIS,
14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 | * See the License for the specific language governing permissions and
16 | * limitations under the License.
17 | */
18 | package net.openhft.chronicle.wire;
19 |
20 | /**
21 | * Represents a container for raw textual data.
22 | * The primary purpose of this class is to encapsulate a text
23 | * while providing a simple structure for raw text handling.
24 | */
25 | class RawText {
26 | // The encapsulated raw textual data
27 | String text;
28 |
29 | /**
30 | * Constructs a new instance of {@code RawText} initialized with
31 | * the provided CharSequence.
32 | *
33 | * @param text The CharSequence to be encapsulated by this instance.
34 | */
35 | public RawText(CharSequence text) {
36 | this.text = text.toString();
37 | }
38 | }
39 |
--------------------------------------------------------------------------------
/src/main/java/net/openhft/chronicle/wire/SelfDescribingMarshallable.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2016-2020 chronicle.software
3 | *
4 | * https://chronicle.software
5 | *
6 | * Licensed under the Apache License, Version 2.0 (the "License");
7 | * you may not use this file except in compliance with the License.
8 | * You may obtain a copy of the License at
9 | *
10 | * http://www.apache.org/licenses/LICENSE-2.0
11 | *
12 | * Unless required by applicable law or agreed to in writing, software
13 | * distributed under the License is distributed on an "AS IS" BASIS,
14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 | * See the License for the specific language governing permissions and
16 | * limitations under the License.
17 | */
18 | package net.openhft.chronicle.wire;
19 |
20 | /**
21 | * Represents an abstraction of marshallable objects that are self-describing by default.
22 | * This class extends {@code AbstractCommonMarshallable} and ensures that instances
23 | * inherently use self-describing messages.
24 | */
25 | public abstract class SelfDescribingMarshallable extends AbstractCommonMarshallable {
26 | @Override
27 | public boolean usesSelfDescribingMessage() {
28 | return true;
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/src/main/java/net/openhft/chronicle/wire/UnexpectedFieldHandlingException.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2016-2020 Chronicle Software
3 | *
4 | * https://chronicle.software
5 | *
6 | * Licensed under the Apache License, Version 2.0 (the "License");
7 | * you may not use this file except in compliance with the License.
8 | * You may obtain a copy of the License at
9 | *
10 | * http://www.apache.org/licenses/LICENSE-2.0
11 | *
12 | * Unless required by applicable law or agreed to in writing, software
13 | * distributed under the License is distributed on an "AS IS" BASIS,
14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 | * See the License for the specific language governing permissions and
16 | * limitations under the License.
17 | */
18 | package net.openhft.chronicle.wire;
19 |
20 | /**
21 | * Wrapper exception used to encapsulate and propagate exceptions to high-level API calls
22 | * that arise from {@link ReadMarshallable#unexpectedField(Object, ValueIn)}.
23 | * Typically, this is thrown when an unexpected field is encountered during marshalling or
24 | * unmarshalling processes.
25 | */
26 | public class UnexpectedFieldHandlingException extends RuntimeException {
27 | private static final long serialVersionUID = 0L;
28 |
29 | /**
30 | * Constructs a new UnexpectedFieldHandlingException with the provided underlying cause.
31 | *
32 | * @param cause The root cause of this exception, typically originating from
33 | * {@link ReadMarshallable#unexpectedField(Object, ValueIn)}.
34 | */
35 | public UnexpectedFieldHandlingException(Throwable cause) {
36 | super(cause);
37 | }
38 | }
39 |
--------------------------------------------------------------------------------
/src/main/java/net/openhft/chronicle/wire/Validate.java:
--------------------------------------------------------------------------------
1 | package net.openhft.chronicle.wire;
2 |
3 | /**
4 | * This is the Validate interface.
5 | * Implementations of this interface are responsible for validating objects
6 | * based on specific criteria or conditions.
7 | * The purpose of the validate method is to ensure the correctness or suitability
8 | * of the object in question.
9 | */
10 | public interface Validate {
11 |
12 | /**
13 | * Validates the provided object based on specific criteria or conditions.
14 | * If the object does not meet the conditions, the method might throw a
15 | * runtime exception or exhibit other behavior as defined by the
16 | * implementation. It is recommended for implementers to clearly document
17 | * the validation rules and potential outcomes.
18 | *
19 | * @param o The object to be validated.
20 | */
21 | void validate(Object o);
22 | }
23 |
--------------------------------------------------------------------------------
/src/main/java/net/openhft/chronicle/wire/WireParselet.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2016-2020 chronicle.software
3 | *
4 | * https://chronicle.software
5 | *
6 | * Licensed under the Apache License, Version 2.0 (the "License");
7 | * you may not use this file except in compliance with the License.
8 | * You may obtain a copy of the License at
9 | *
10 | * http://www.apache.org/licenses/LICENSE-2.0
11 | *
12 | * Unless required by applicable law or agreed to in writing, software
13 | * distributed under the License is distributed on an "AS IS" BASIS,
14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 | * See the License for the specific language governing permissions and
16 | * limitations under the License.
17 | */
18 | package net.openhft.chronicle.wire;
19 |
20 | import net.openhft.chronicle.core.io.InvalidMarshallableException;
21 |
22 | /**
23 | * Represents a functional interface that can process wire input based on a given
24 | * character sequence key and a value input. The `WireParselet` can be seen as a
25 | * specific action or handler for a particular key found in the wire input.
26 | */
27 | @FunctionalInterface
28 | public interface WireParselet {
29 |
30 | /**
31 | * Consumes and processes a wire input based on a given character sequence
32 | * and a value input.
33 | *
34 | * @param s The character sequence (usually representing a key) from the wire input.
35 | * @param in The value associated with the key in the wire input.
36 | * @throws InvalidMarshallableException If there's an issue with processing the data.
37 | */
38 | void accept(CharSequence s, ValueIn in) throws InvalidMarshallableException;
39 | }
40 |
--------------------------------------------------------------------------------
/src/main/java/net/openhft/chronicle/wire/WriteAfterEOFException.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2016-2020 chronicle.software
3 | *
4 | * https://chronicle.software
5 | *
6 | * Licensed under the Apache License, Version 2.0 (the "License");
7 | * you may not use this file except in compliance with the License.
8 | * You may obtain a copy of the License at
9 | *
10 | * http://www.apache.org/licenses/LICENSE-2.0
11 | *
12 | * Unless required by applicable law or agreed to in writing, software
13 | * distributed under the License is distributed on an "AS IS" BASIS,
14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 | * See the License for the specific language governing permissions and
16 | * limitations under the License.
17 | */
18 | package net.openhft.chronicle.wire;
19 |
20 | /**
21 | * This is the WriteAfterEOFException class extending IllegalStateException.
22 | * The exception is thrown when there's an attempt to write data after the End-Of-File (EOF) marker.
23 | * This is typically used to safeguard against improper file manipulation and to maintain data integrity.
24 | */
25 | public class WriteAfterEOFException extends IllegalStateException {
26 | private static final long serialVersionUID = 0L;
27 |
28 | /**
29 | * Constructs a new instance of WriteAfterEOFException with a default error message.
30 | * The message indicates that writing after EOF is not permitted.
31 | */
32 | public WriteAfterEOFException() {
33 | super("You should not be able to write at EOF");
34 | }
35 | }
36 |
--------------------------------------------------------------------------------
/src/main/java/net/openhft/chronicle/wire/domestic/InternalWire.java:
--------------------------------------------------------------------------------
1 | package net.openhft.chronicle.wire.domestic;
2 |
3 | public interface InternalWire {
4 | void forceNotInsideHeader();
5 | }
6 |
--------------------------------------------------------------------------------
/src/main/java/net/openhft/chronicle/wire/domestic/package-info.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2016-2022 chronicle.software
3 | *
4 | * https://chronicle.software
5 | *
6 | * Licensed under the Apache License, Version 2.0 (the "License");
7 | * you may not use this file except in compliance with the License.
8 | * You may obtain a copy of the License at
9 | *
10 | * http://www.apache.org/licenses/LICENSE-2.0
11 | *
12 | * Unless required by applicable law or agreed to in writing, software
13 | * distributed under the License is distributed on an "AS IS" BASIS,
14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 | * See the License for the specific language governing permissions and
16 | * limitations under the License.
17 | */
18 |
19 | /**
20 | * This package and any and all sub-packages contains strictly internal classes reserved for Chronicle Software.
21 | * Domestic classes shall never be used directly by end-user code. Instead, they are only available
22 | * for use internally by other Chronicle libraries.
23 | *
24 | * Specifically, the following actions (including, but not limited to) are not allowed
25 | * on internal classes and packages:
26 | *
27 | * - Casting to
28 | * - Reflection of any kind
29 | * - Explicit Serialize/deserialize
30 | *
31 | *
32 | * The classes in this package and any sub-package are subject to change at any time for any reason.
33 | */
34 | package net.openhft.chronicle.wire.domestic;
35 |
--------------------------------------------------------------------------------
/src/main/java/net/openhft/chronicle/wire/internal/package-info.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2016-2022 chronicle.software
3 | *
4 | * https://chronicle.software
5 | *
6 | * Licensed under the Apache License, Version 2.0 (the "License");
7 | * you may not use this file except in compliance with the License.
8 | * You may obtain a copy of the License at
9 | *
10 | * http://www.apache.org/licenses/LICENSE-2.0
11 | *
12 | * Unless required by applicable law or agreed to in writing, software
13 | * distributed under the License is distributed on an "AS IS" BASIS,
14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 | * See the License for the specific language governing permissions and
16 | * limitations under the License.
17 | */
18 |
19 | /**
20 | * This package and any and all sub-packages contains strictly internal classes for this Chronicle library.
21 | * Internal classes shall never be used directly.
22 | *
23 | * Specifically, the following actions (including, but not limited to) are not allowed
24 | * on internal classes and packages:
25 | *
26 | * - Casting to
27 | * - Reflection of any kind
28 | * - Explicit Serialize/deserialize
29 | *
30 | *
31 | * The classes in this package and any sub-package are subject to
32 | * changes at any time for any reason.
33 | */
34 | package net.openhft.chronicle.wire.internal;
35 |
--------------------------------------------------------------------------------
/src/main/java/net/openhft/chronicle/wire/utils/JsonSourceCodeFormatter.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2016-2022 chronicle.software
3 | *
4 | * https://chronicle.software
5 | *
6 | * Licensed under the Apache License, Version 2.0 (the "License");
7 | * you may not use this file except in compliance with the License.
8 | * You may obtain a copy of the License at
9 | *
10 | * http://www.apache.org/licenses/LICENSE-2.0
11 | *
12 | * Unless required by applicable law or agreed to in writing, software
13 | * distributed under the License is distributed on an "AS IS" BASIS,
14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 | * See the License for the specific language governing permissions and
16 | * limitations under the License.
17 | */
18 |
19 | package net.openhft.chronicle.wire.utils;
20 |
21 | /**
22 | * This is the JsonSourceCodeFormatter class, extending the functionality of the {@link SourceCodeFormatter} class.
23 | * It provides a specialized formatting behavior tailored for JSON content. By default, it uses an indentation of 2 spaces,
24 | * adhering to common standards for JSON formatting.
25 | */
26 | public class JsonSourceCodeFormatter extends SourceCodeFormatter {
27 |
28 | /**
29 | * Constructor for the JsonSourceCodeFormatter class.
30 | * Initializes the formatter with an indentation of 2 spaces.
31 | */
32 | public JsonSourceCodeFormatter() {
33 | super(2);
34 | }
35 | }
36 |
--------------------------------------------------------------------------------
/src/main/java/net/openhft/chronicle/wire/utils/MethodReaderStatus.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2016-2022 chronicle.software
3 | *
4 | * https://chronicle.software
5 | *
6 | * Licensed under the Apache License, Version 2.0 (the "License");
7 | * you may not use this file except in compliance with the License.
8 | * You may obtain a copy of the License at
9 | *
10 | * http://www.apache.org/licenses/LICENSE-2.0
11 | *
12 | * Unless required by applicable law or agreed to in writing, software
13 | * distributed under the License is distributed on an "AS IS" BASIS,
14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 | * See the License for the specific language governing permissions and
16 | * limitations under the License.
17 | */
18 |
19 | package net.openhft.chronicle.wire.utils;
20 |
21 | public enum MethodReaderStatus {
22 | EMPTY,
23 | HISTORY,
24 | KNOWN,
25 | UNKNOWN
26 | }
27 |
--------------------------------------------------------------------------------
/src/main/java/net/openhft/chronicle/wire/utils/RecordHistory.java:
--------------------------------------------------------------------------------
1 | package net.openhft.chronicle.wire.utils;
2 |
3 | /**
4 | * Write a history before each message
5 | *
6 | * @param interface of messages with prepended history
7 | */
8 | public interface RecordHistory {
9 | T history(net.openhft.chronicle.wire.VanillaMessageHistory history);
10 | }
11 |
--------------------------------------------------------------------------------
/src/test/java/net/openhft/chronicle/wire/AbstractCommonMarshallableTest.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2016-2022 chronicle.software
3 | *
4 | * https://chronicle.software
5 | *
6 | * Licensed under the Apache License, Version 2.0 (the "License");
7 | * you may not use this file except in compliance with the License.
8 | * You may obtain a copy of the License at
9 | *
10 | * http://www.apache.org/licenses/LICENSE-2.0
11 | *
12 | * Unless required by applicable law or agreed to in writing, software
13 | * distributed under the License is distributed on an "AS IS" BASIS,
14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 | * See the License for the specific language governing permissions and
16 | * limitations under the License.
17 | */
18 |
19 | package net.openhft.chronicle.wire;
20 |
21 | import org.junit.jupiter.api.Test;
22 |
23 | import static org.junit.jupiter.api.Assertions.assertFalse;
24 |
25 | /**
26 | * A test class for validating the behavior of AbstractCommonMarshallable.
27 | * This class extends the base test functionalities provided by WireTestCommon.
28 | */
29 | class AbstractCommonMarshallableTest extends net.openhft.chronicle.wire.WireTestCommon {
30 |
31 | /**
32 | * Tests the default behavior of AbstractCommonMarshallable
33 | * to ensure it doesn't use self-describing messages by default.
34 | */
35 | @Test
36 | void doesNotUseSelfDescribingMessagesByDefault() {
37 | // Assert that a new instance of AbstractCommonMarshallable
38 | // doesn't use self-describing messages by default
39 | assertFalse(new AbstractCommonMarshallable() {
40 | }.usesSelfDescribingMessage());
41 | }
42 | }
43 |
--------------------------------------------------------------------------------
/src/test/java/net/openhft/chronicle/wire/BinaryToTextTest.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2016-2020 chronicle.software
3 | *
4 | * https://chronicle.software
5 | *
6 | * Licensed under the Apache License, Version 2.0 (the "License");
7 | * you may not use this file except in compliance with the License.
8 | * You may obtain a copy of the License at
9 | *
10 | * http://www.apache.org/licenses/LICENSE-2.0
11 | *
12 | * Unless required by applicable law or agreed to in writing, software
13 | * distributed under the License is distributed on an "AS IS" BASIS,
14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 | * See the License for the specific language governing permissions and
16 | * limitations under the License.
17 | */
18 | package net.openhft.chronicle.wire;
19 |
20 | import net.openhft.chronicle.bytes.Bytes;
21 | import org.jetbrains.annotations.NotNull;
22 | import org.junit.Test;
23 |
24 | import static org.junit.Assert.assertEquals;
25 |
26 | public class BinaryToTextTest extends WireTestCommon {
27 |
28 | // Test conversion of binary data to text representation
29 | @Test
30 | public void test() {
31 | Bytes> tbytes = Bytes.allocateElasticOnHeap();
32 | @NotNull Wire tw = new BinaryWire(tbytes);
33 | tw.usePadding(true);
34 | tw.writeDocument(false, w -> w.write(() -> "key").text("hello"));
35 | assertEquals("" +
36 | "--- !!data #binary\n" +
37 | "key: hello\n",
38 | Wires.fromSizePrefixedBlobs(tw));
39 | }
40 | }
41 |
--------------------------------------------------------------------------------
/src/test/java/net/openhft/chronicle/wire/CcyPair.java:
--------------------------------------------------------------------------------
1 | package net.openhft.chronicle.wire;
2 |
3 | import net.openhft.chronicle.core.pool.EnumInterner;
4 |
5 | enum CcyPair {
6 | EURUSD, GBPUSD, EURCHF;
7 |
8 | static final EnumInterner INTERNER = new EnumInterner<>(CcyPair.class);
9 | }
10 |
--------------------------------------------------------------------------------
/src/test/java/net/openhft/chronicle/wire/ChainedMethodsTestChainedMethodsTest$1MethodReader.java:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenHFT/Chronicle-Wire/c8ca01bb62e9b6e46318624a6a4a96b4d5b21d38/src/test/java/net/openhft/chronicle/wire/ChainedMethodsTestChainedMethodsTest$1MethodReader.java
--------------------------------------------------------------------------------
/src/test/java/net/openhft/chronicle/wire/CharSequenceObjectMapTest.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2016-2022 chronicle.software
3 | *
4 | * https://chronicle.software
5 | *
6 | * Licensed under the Apache License, Version 2.0 (the "License");
7 | * you may not use this file except in compliance with the License.
8 | * You may obtain a copy of the License at
9 | *
10 | * http://www.apache.org/licenses/LICENSE-2.0
11 | *
12 | * Unless required by applicable law or agreed to in writing, software
13 | * distributed under the License is distributed on an "AS IS" BASIS,
14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 | * See the License for the specific language governing permissions and
16 | * limitations under the License.
17 | */
18 |
19 | package net.openhft.chronicle.wire;
20 |
21 | import org.junit.Test;
22 |
23 | import static org.junit.Assert.assertEquals;
24 |
25 | public class CharSequenceObjectMapTest extends WireTestCommon {
26 |
27 | // Test the put operation of the CharSequenceObjectMap
28 | @Test
29 | public void put() {
30 | // Initialize a new CharSequenceObjectMap with a capacity of 10
31 | CharSequenceObjectMap map = new CharSequenceObjectMap<>(10);
32 |
33 | // Add key-value pairs to the map for values from 10 to 19
34 | for (int i = 10; i < 20; i++) {
35 | map.put("" + i, "" + i);
36 | }
37 |
38 | // Verify that the added key-value pairs can be successfully retrieved from the map
39 | for (int i = 10; i < 20; i++) {
40 | assertEquals("" + i, map.get("" + i));
41 | }
42 | }
43 | }
44 |
--------------------------------------------------------------------------------
/src/test/java/net/openhft/chronicle/wire/Fun.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2016-2020 chronicle.software
3 | *
4 | * https://chronicle.software
5 | *
6 | * Licensed under the Apache License, Version 2.0 (the "License");
7 | * you may not use this file except in compliance with the License.
8 | * You may obtain a copy of the License at
9 | *
10 | * http://www.apache.org/licenses/LICENSE-2.0
11 | *
12 | * Unless required by applicable law or agreed to in writing, software
13 | * distributed under the License is distributed on an "AS IS" BASIS,
14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 | * See the License for the specific language governing permissions and
16 | * limitations under the License.
17 | */
18 | package net.openhft.chronicle.wire;
19 |
20 | import net.openhft.chronicle.core.util.SerializableFunction;
21 | import org.jetbrains.annotations.NotNull;
22 |
23 | // Enum representing a set of functions that manipulate strings
24 | public enum Fun implements SerializableFunction {
25 |
26 | // Enum instance that appends an "A" to the given string
27 | ADD_A {
28 | // Apply the function to the input string
29 | @NotNull
30 | @Override
31 | public String apply(String s) {
32 | // Append 'A' to the given string and return
33 | return s + "A";
34 | }
35 | }
36 | }
37 |
--------------------------------------------------------------------------------
/src/test/java/net/openhft/chronicle/wire/GenerateFIXWireKey.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2016-2020 chronicle.software
3 | *
4 | * https://chronicle.software
5 | *
6 | * Licensed under the Apache License, Version 2.0 (the "License");
7 | * you may not use this file except in compliance with the License.
8 | * You may obtain a copy of the License at
9 | *
10 | * http://www.apache.org/licenses/LICENSE-2.0
11 | *
12 | * Unless required by applicable law or agreed to in writing, software
13 | * distributed under the License is distributed on an "AS IS" BASIS,
14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 | * See the License for the specific language governing permissions and
16 | * limitations under the License.
17 | */
18 | package net.openhft.chronicle.wire;
19 |
20 | import java.io.IOException;
21 | import java.nio.file.Files;
22 | import java.nio.file.Paths;
23 |
24 | // Class to generate FIX Wire keys from an XML file
25 | public class GenerateFIXWireKey {
26 |
27 | // Main method to read and process the XML
28 | public static void main(String[] args) throws IOException {
29 | // Stream lines from the XML file
30 | Files.lines(Paths.get("src/test/resources/FIX42.xml"))
31 | // Filter lines that contain a specific field attribute
32 | .filter(s -> s.contains("field number='"))
33 | // Split each line based on the single quote character
34 | .map(s -> s.split("'"))
35 | // For each processed line, print out the key and its associated number
36 | .forEach(arr ->System.out.printf("\t%s(%s),%n", arr[3], arr[1]));
37 | }
38 | }
39 |
--------------------------------------------------------------------------------
/src/test/java/net/openhft/chronicle/wire/ILast.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2016-2022 chronicle.software
3 | *
4 | * https://chronicle.software
5 | *
6 | * Licensed under the Apache License, Version 2.0 (the "License");
7 | * you may not use this file except in compliance with the License.
8 | * You may obtain a copy of the License at
9 | *
10 | * http://www.apache.org/licenses/LICENSE-2.0
11 | *
12 | * Unless required by applicable law or agreed to in writing, software
13 | * distributed under the License is distributed on an "AS IS" BASIS,
14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 | * See the License for the specific language governing permissions and
16 | * limitations under the License.
17 | */
18 |
19 | package net.openhft.chronicle.wire;
20 |
21 | // An interface defining a method for echoing a text
22 | public interface ILast {
23 | void echo(String text);
24 | }
25 |
--------------------------------------------------------------------------------
/src/test/java/net/openhft/chronicle/wire/IMid.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2016-2022 chronicle.software
3 | *
4 | * https://chronicle.software
5 | *
6 | * Licensed under the Apache License, Version 2.0 (the "License");
7 | * you may not use this file except in compliance with the License.
8 | * You may obtain a copy of the License at
9 | *
10 | * http://www.apache.org/licenses/LICENSE-2.0
11 | *
12 | * Unless required by applicable law or agreed to in writing, software
13 | * distributed under the License is distributed on an "AS IS" BASIS,
14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 | * See the License for the specific language governing permissions and
16 | * limitations under the License.
17 | */
18 |
19 | package net.openhft.chronicle.wire;
20 |
21 | // An interface defining a method to get the next interface `ILast` based on a long parameter
22 | public interface IMid {
23 | ILast next(long x);
24 | }
25 |
--------------------------------------------------------------------------------
/src/test/java/net/openhft/chronicle/wire/IMid2.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2016-2022 chronicle.software
3 | *
4 | * https://chronicle.software
5 | *
6 | * Licensed under the Apache License, Version 2.0 (the "License");
7 | * you may not use this file except in compliance with the License.
8 | * You may obtain a copy of the License at
9 | *
10 | * http://www.apache.org/licenses/LICENSE-2.0
11 | *
12 | * Unless required by applicable law or agreed to in writing, software
13 | * distributed under the License is distributed on an "AS IS" BASIS,
14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 | * See the License for the specific language governing permissions and
16 | * limitations under the License.
17 | */
18 |
19 | package net.openhft.chronicle.wire;
20 |
21 | // Another interface defining methods to get the next interface `ILast` and to handle DTO operations
22 | interface IMid2 {
23 | ILast next2(String a);
24 |
25 | void dto(DMOuterClass dmoc);
26 | }
27 |
--------------------------------------------------------------------------------
/src/test/java/net/openhft/chronicle/wire/ITop.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2016-2022 chronicle.software
3 | *
4 | * https://chronicle.software
5 | *
6 | * Licensed under the Apache License, Version 2.0 (the "License");
7 | * you may not use this file except in compliance with the License.
8 | * You may obtain a copy of the License at
9 | *
10 | * http://www.apache.org/licenses/LICENSE-2.0
11 | *
12 | * Unless required by applicable law or agreed to in writing, software
13 | * distributed under the License is distributed on an "AS IS" BASIS,
14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 | * See the License for the specific language governing permissions and
16 | * limitations under the License.
17 | */
18 |
19 | package net.openhft.chronicle.wire;
20 |
21 | // An interface that defines various methods with different parameter requirements.
22 | interface ITop {
23 | // Define a method that takes a string and returns an IMid object.
24 | IMid mid(String name);
25 |
26 | // Define a method that takes a string and returns an IMid2 object.
27 | IMid2 mid2(String name);
28 |
29 | // Define a method with no arguments that returns an IMid object.
30 | IMid midNoArg();
31 |
32 | // Define a method that takes an int and a long and returns an IMid object.
33 | IMid midTwoArgs(int i, long l);
34 | }
35 |
--------------------------------------------------------------------------------
/src/test/java/net/openhft/chronicle/wire/IntConversionTest.java:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenHFT/Chronicle-Wire/c8ca01bb62e9b6e46318624a6a4a96b4d5b21d38/src/test/java/net/openhft/chronicle/wire/IntConversionTest.java
--------------------------------------------------------------------------------
/src/test/java/net/openhft/chronicle/wire/MethodReaderArgumentsRecycleProxyTest.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2016-2020 chronicle.software
3 | *
4 | * https://chronicle.software
5 | *
6 | * Licensed under the Apache License, Version 2.0 (the "License");
7 | * you may not use this file except in compliance with the License.
8 | * You may obtain a copy of the License at
9 | *
10 | * http://www.apache.org/licenses/LICENSE-2.0
11 | *
12 | * Unless required by applicable law or agreed to in writing, software
13 | * distributed under the License is distributed on an "AS IS" BASIS,
14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 | * See the License for the specific language governing permissions and
16 | * limitations under the License.
17 | */
18 | package net.openhft.chronicle.wire;
19 |
20 | import org.junit.After;
21 |
22 | // Test class extending MethodReaderArgumentsRecycleTest to test behavior of method readers when using proxies
23 | public class MethodReaderArgumentsRecycleProxyTest extends MethodReaderArgumentsRecycleTest {
24 | @Override
25 | public void setUp() {
26 | // Disable proxy code generation for the duration of the tests
27 | System.setProperty("disableReaderProxyCodegen", "true");
28 | super.setUp();
29 | }
30 |
31 | @After
32 | public void after() {
33 | // Clear the property to re-enable proxy code generation
34 | System.clearProperty("disableReaderProxyCodegen");
35 | }
36 | }
37 |
--------------------------------------------------------------------------------
/src/test/java/net/openhft/chronicle/wire/MyClass.java:
--------------------------------------------------------------------------------
1 | package net.openhft.chronicle.wire;
2 |
3 | import net.openhft.chronicle.wire.SelfDescribingMarshallable;
4 |
5 | // Define a class representing a marshallable entity with a message field
6 | public class MyClass extends SelfDescribingMarshallable {
7 | String msg; // Field to hold a message string
8 | }
9 |
--------------------------------------------------------------------------------
/src/test/java/net/openhft/chronicle/wire/MyClass2.java:
--------------------------------------------------------------------------------
1 | package net.openhft.chronicle.wire;
2 |
3 | // Define a class representing a marshallable entity containing another custom marshallable object
4 | public class MyClass2 extends SelfDescribingMarshallable {
5 |
6 | MyClass3 myClass; // Field to hold an instance of MyClass3
7 |
8 | }
9 |
--------------------------------------------------------------------------------
/src/test/java/net/openhft/chronicle/wire/MyClass3.java:
--------------------------------------------------------------------------------
1 | package net.openhft.chronicle.wire;
2 |
3 | import net.openhft.chronicle.wire.SelfDescribingMarshallable;
4 |
5 | // Define a class representing a marshallable entity with a single string field 'x'
6 | public class MyClass3 extends SelfDescribingMarshallable {
7 | String x; // Field to store a string value
8 | }
9 |
--------------------------------------------------------------------------------
/src/test/java/net/openhft/chronicle/wire/ObjectWithTreeMap.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2016-2022 chronicle.software
3 | *
4 | * https://chronicle.software
5 | *
6 | * Licensed under the Apache License, Version 2.0 (the "License");
7 | * you may not use this file except in compliance with the License.
8 | * You may obtain a copy of the License at
9 | *
10 | * http://www.apache.org/licenses/LICENSE-2.0
11 | *
12 | * Unless required by applicable law or agreed to in writing, software
13 | * distributed under the License is distributed on an "AS IS" BASIS,
14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 | * See the License for the specific language governing permissions and
16 | * limitations under the License.
17 | */
18 |
19 | package net.openhft.chronicle.wire;
20 |
21 | import java.util.TreeMap;
22 |
23 | // Class ObjectWithTreeMap extends SelfDescribingMarshallable and contains a TreeMap
24 | class ObjectWithTreeMap extends SelfDescribingMarshallable {
25 | // Declaration and instantiation of a TreeMap, mapping String keys to String values
26 | final TreeMap map = new TreeMap<>();
27 | }
28 |
--------------------------------------------------------------------------------
/src/test/java/net/openhft/chronicle/wire/Outer1.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2016-2022 chronicle.software
3 | *
4 | * https://chronicle.software
5 | *
6 | * Licensed under the Apache License, Version 2.0 (the "License");
7 | * you may not use this file except in compliance with the License.
8 | * You may obtain a copy of the License at
9 | *
10 | * http://www.apache.org/licenses/LICENSE-2.0
11 | *
12 | * Unless required by applicable law or agreed to in writing, software
13 | * distributed under the License is distributed on an "AS IS" BASIS,
14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 | * See the License for the specific language governing permissions and
16 | * limitations under the License.
17 | */
18 |
19 | package net.openhft.chronicle.wire;
20 |
21 | class Outer1 {
22 | public interface InnerInterface {
23 | void x(String message);
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/src/test/java/net/openhft/chronicle/wire/Outer2.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2016-2022 chronicle.software
3 | *
4 | * https://chronicle.software
5 | *
6 | * Licensed under the Apache License, Version 2.0 (the "License");
7 | * you may not use this file except in compliance with the License.
8 | * You may obtain a copy of the License at
9 | *
10 | * http://www.apache.org/licenses/LICENSE-2.0
11 | *
12 | * Unless required by applicable law or agreed to in writing, software
13 | * distributed under the License is distributed on an "AS IS" BASIS,
14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 | * See the License for the specific language governing permissions and
16 | * limitations under the License.
17 | */
18 |
19 | package net.openhft.chronicle.wire;
20 |
21 | class Outer2 {
22 | interface InnerInterface {
23 | void y(String message);
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/src/test/java/net/openhft/chronicle/wire/TWTSingleton.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2016-2020 chronicle.software
3 | */
4 |
5 | package net.openhft.chronicle.wire;
6 |
7 | enum TWTSingleton {
8 | INSTANCE
9 | }
10 |
--------------------------------------------------------------------------------
/src/test/java/net/openhft/chronicle/wire/TestIntConversion.java:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenHFT/Chronicle-Wire/c8ca01bb62e9b6e46318624a6a4a96b4d5b21d38/src/test/java/net/openhft/chronicle/wire/TestIntConversion.java
--------------------------------------------------------------------------------
/src/test/java/net/openhft/chronicle/wire/Update.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2016-2020 chronicle.software
3 | *
4 | * https://chronicle.software
5 | *
6 | * Licensed under the Apache License, Version 2.0 (the "License");
7 | * you may not use this file except in compliance with the License.
8 | * You may obtain a copy of the License at
9 | *
10 | * http://www.apache.org/licenses/LICENSE-2.0
11 | *
12 | * Unless required by applicable law or agreed to in writing, software
13 | * distributed under the License is distributed on an "AS IS" BASIS,
14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 | * See the License for the specific language governing permissions and
16 | * limitations under the License.
17 | */
18 | package net.openhft.chronicle.wire;
19 |
20 | import net.openhft.chronicle.core.util.SerializableUpdater;
21 | import org.jetbrains.annotations.NotNull;
22 |
23 | import java.util.concurrent.atomic.AtomicLong;
24 |
25 | public enum Update implements SerializableUpdater {
26 |
27 | // Enumeration constant that represents an INCREMENT update.
28 | // It increments the provided AtomicLong by 1.
29 | INCR {
30 | @Override
31 | public void update(@NotNull AtomicLong aLong) {
32 | aLong.incrementAndGet();
33 | }
34 | },
35 |
36 | // Enumeration constant that represents a DECREMENT update.
37 | // It decrements the provided AtomicLong by 1.
38 | DECR {
39 | @Override
40 | public void update(@NotNull AtomicLong aLong) {
41 | aLong.decrementAndGet();
42 | }
43 | }
44 | }
45 |
--------------------------------------------------------------------------------
/src/test/java/net/openhft/chronicle/wire/WMTwoFields.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2016-2022 chronicle.software
3 | *
4 | * https://chronicle.software
5 | *
6 | * Licensed under the Apache License, Version 2.0 (the "License");
7 | * you may not use this file except in compliance with the License.
8 | * You may obtain a copy of the License at
9 | *
10 | * http://www.apache.org/licenses/LICENSE-2.0
11 | *
12 | * Unless required by applicable law or agreed to in writing, software
13 | * distributed under the License is distributed on an "AS IS" BASIS,
14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 | * See the License for the specific language governing permissions and
16 | * limitations under the License.
17 | */
18 |
19 | package net.openhft.chronicle.wire;
20 |
21 | // Class WMTwoFields, a data structure that extends SelfDescribingMarshallable
22 | // to utilize its serialization/deserialization and other common functionalities.
23 | class WMTwoFields extends SelfDescribingMarshallable {
24 |
25 | // 'id' field with a custom long conversion using WordsLongConverter,
26 | // facilitating specific serialization/deserialization of the integer as a long.
27 | @LongConversion(WordsLongConverter.class)
28 | int id;
29 |
30 | // 'ts' field (presumably for timestamp) with a custom long conversion using
31 | // MicroTimestampLongConverter, facilitating specific serialization/deserialization
32 | // of the long value, typically to/from a microsecond-precision timestamp.
33 | @LongConversion(MicroTimestampLongConverter.class)
34 | long ts;
35 | }
36 |
--------------------------------------------------------------------------------
/src/test/java/net/openhft/chronicle/wire/WireParserTest.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2016-2022 chronicle.software
3 | *
4 | * https://chronicle.software
5 | *
6 | * Licensed under the Apache License, Version 2.0 (the "License");
7 | * you may not use this file except in compliance with the License.
8 | * You may obtain a copy of the License at
9 | *
10 | * http://www.apache.org/licenses/LICENSE-2.0
11 | *
12 | * Unless required by applicable law or agreed to in writing, software
13 | * distributed under the License is distributed on an "AS IS" BASIS,
14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 | * See the License for the specific language governing permissions and
16 | * limitations under the License.
17 | */
18 |
19 | package net.openhft.chronicle.wire;
20 |
21 | import net.openhft.chronicle.bytes.Bytes;
22 | import org.junit.Test;
23 |
24 | import static org.junit.Assert.assertEquals;
25 |
26 | public class WireParserTest extends WireTestCommon {
27 |
28 | @Test
29 | public void noOpReadOne() {
30 | // Create an elastic byte buffer with an initial capacity of 128 bytes.
31 | BinaryWire wire = new BinaryWire(Bytes.allocateElasticOnHeap(128));
32 |
33 | // Write a sample string "Hello world" to the buffer.
34 | wire.bytes().writeUtf8("Hello world");
35 |
36 | // Skip all readable bytes in the wire.
37 | WireParser.skipReadable(-1, wire);
38 |
39 | // Assert that there are no more bytes left to read from the wire.
40 | assertEquals(0, wire.bytes().readRemaining());
41 | }
42 | }
43 |
--------------------------------------------------------------------------------
/src/test/java/net/openhft/chronicle/wire/bytesmarshallable/BenchArrayStringMain.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2016-2022 chronicle.software
3 | *
4 | * https://chronicle.software
5 | *
6 | * Licensed under the Apache License, Version 2.0 (the "License");
7 | * you may not use this file except in compliance with the License.
8 | * You may obtain a copy of the License at
9 | *
10 | * http://www.apache.org/licenses/LICENSE-2.0
11 | *
12 | * Unless required by applicable law or agreed to in writing, software
13 | * distributed under the License is distributed on an "AS IS" BASIS,
14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 | * See the License for the specific language governing permissions and
16 | * limitations under the License.
17 | */
18 |
19 | package net.openhft.chronicle.wire.bytesmarshallable;
20 |
21 | // Class: BenchArrayStringMain
22 | // A performance benchmarking class designed to test the efficiency
23 | // and performance of operations related to array strings.
24 | public class BenchArrayStringMain {
25 |
26 | // Main method: entry point of the application, intended for
27 | // running the benchmarking test related to array strings.
28 | public static void main(String[] args) {
29 | // Instantiate a PerfRegressionHolder object.
30 | PerfRegressionHolder main = new PerfRegressionHolder();
31 |
32 | // Perform the benchmark test specific to array string operations.
33 | main.doTest(main::benchArrayString);
34 | }
35 | }
36 |
--------------------------------------------------------------------------------
/src/test/java/net/openhft/chronicle/wire/bytesmarshallable/BenchBytesMain.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2016-2022 chronicle.software
3 | *
4 | * https://chronicle.software
5 | *
6 | * Licensed under the Apache License, Version 2.0 (the "License");
7 | * you may not use this file except in compliance with the License.
8 | * You may obtain a copy of the License at
9 | *
10 | * http://www.apache.org/licenses/LICENSE-2.0
11 | *
12 | * Unless required by applicable law or agreed to in writing, software
13 | * distributed under the License is distributed on an "AS IS" BASIS,
14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 | * See the License for the specific language governing permissions and
16 | * limitations under the License.
17 | */
18 |
19 | package net.openhft.chronicle.wire.bytesmarshallable;
20 |
21 | // Class: BenchBytesMain
22 | // A performance benchmarking class designed to test the efficiency
23 | // and performance of byte-related operations.
24 | public class BenchBytesMain {
25 |
26 | // Main method: entry point of the application, intended for
27 | // running the benchmarking test related to bytes operations.
28 | public static void main(String[] args) {
29 | // Instantiate a PerfRegressionHolder object.
30 | PerfRegressionHolder main = new PerfRegressionHolder();
31 |
32 | // Perform the benchmark test specific to byte operations.
33 | main.doTest(main::benchBytes);
34 | }
35 | }
36 |
--------------------------------------------------------------------------------
/src/test/java/net/openhft/chronicle/wire/bytesmarshallable/BenchFieldsMain.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2016-2022 chronicle.software
3 | *
4 | * https://chronicle.software
5 | *
6 | * Licensed under the Apache License, Version 2.0 (the "License");
7 | * you may not use this file except in compliance with the License.
8 | * You may obtain a copy of the License at
9 | *
10 | * http://www.apache.org/licenses/LICENSE-2.0
11 | *
12 | * Unless required by applicable law or agreed to in writing, software
13 | * distributed under the License is distributed on an "AS IS" BASIS,
14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 | * See the License for the specific language governing permissions and
16 | * limitations under the License.
17 | */
18 |
19 | package net.openhft.chronicle.wire.bytesmarshallable;
20 |
21 | // Class: BenchFieldsMain
22 | // A performance benchmarking class designed to test the efficiency
23 | // and performance of field-related operations.
24 | public class BenchFieldsMain {
25 |
26 | // Main method: entry point of the application, intended for
27 | // running the benchmarking test related to fields operations.
28 | public static void main(String[] args) {
29 | // Instantiate a PerfRegressionHolder object.
30 | PerfRegressionHolder main = new PerfRegressionHolder();
31 |
32 | // Perform the benchmark test specific to field operations.
33 | main.doTest(main::benchFields);
34 | }
35 | }
36 |
--------------------------------------------------------------------------------
/src/test/java/net/openhft/chronicle/wire/bytesmarshallable/BenchNullMain.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2016-2022 chronicle.software
3 | *
4 | * https://chronicle.software
5 | *
6 | * Licensed under the Apache License, Version 2.0 (the "License");
7 | * you may not use this file except in compliance with the License.
8 | * You may obtain a copy of the License at
9 | *
10 | * http://www.apache.org/licenses/LICENSE-2.0
11 | *
12 | * Unless required by applicable law or agreed to in writing, software
13 | * distributed under the License is distributed on an "AS IS" BASIS,
14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 | * See the License for the specific language governing permissions and
16 | * limitations under the License.
17 | */
18 |
19 | package net.openhft.chronicle.wire.bytesmarshallable;
20 |
21 | // Class: BenchNullMain
22 | // A performance benchmarking class designed to test the efficiency
23 | // and performance of operations with null values.
24 | public class BenchNullMain {
25 |
26 | // Main method: entry point of the application, intended for
27 | // running the benchmarking test related to null operations.
28 | public static void main(String[] args) {
29 | // Instantiate a PerfRegressionHolder object.
30 | PerfRegressionHolder main = new PerfRegressionHolder();
31 |
32 | // Perform the benchmark test specific to operations involving null values.
33 | main.doTest(main::benchNull);
34 | }
35 | }
36 |
--------------------------------------------------------------------------------
/src/test/java/net/openhft/chronicle/wire/bytesmarshallable/BenchRefBytesMain.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2016-2022 chronicle.software
3 | *
4 | * https://chronicle.software
5 | *
6 | * Licensed under the Apache License, Version 2.0 (the "License");
7 | * you may not use this file except in compliance with the License.
8 | * You may obtain a copy of the License at
9 | *
10 | * http://www.apache.org/licenses/LICENSE-2.0
11 | *
12 | * Unless required by applicable law or agreed to in writing, software
13 | * distributed under the License is distributed on an "AS IS" BASIS,
14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 | * See the License for the specific language governing permissions and
16 | * limitations under the License.
17 | */
18 |
19 | package net.openhft.chronicle.wire.bytesmarshallable;
20 |
21 | // Class: BenchRefBytesMain
22 | // A class for performance benchmarking, particularly designed to
23 | // test the efficiency and performance of operations related to reference bytes.
24 | public class BenchRefBytesMain {
25 |
26 | // Main method: entry point of the application, designed for
27 | // running the benchmarking test related to reference bytes operations.
28 | public static void main(String[] args) {
29 | // Instantiate a PerfRegressionHolder object.
30 | PerfRegressionHolder main = new PerfRegressionHolder();
31 |
32 | // Execute the benchmark test specific to reference byte operations.
33 | main.doTest(main::benchRefBytes);
34 | }
35 | }
36 |
--------------------------------------------------------------------------------
/src/test/java/net/openhft/chronicle/wire/bytesmarshallable/BenchRefStringMain.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2016-2022 chronicle.software
3 | *
4 | * https://chronicle.software
5 | *
6 | * Licensed under the Apache License, Version 2.0 (the "License");
7 | * you may not use this file except in compliance with the License.
8 | * You may obtain a copy of the License at
9 | *
10 | * http://www.apache.org/licenses/LICENSE-2.0
11 | *
12 | * Unless required by applicable law or agreed to in writing, software
13 | * distributed under the License is distributed on an "AS IS" BASIS,
14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 | * See the License for the specific language governing permissions and
16 | * limitations under the License.
17 | */
18 |
19 | package net.openhft.chronicle.wire.bytesmarshallable;
20 |
21 | // Class: BenchRefStringMain
22 | // A performance benchmarking class designed to test the efficiency
23 | // and performance of operations related to reference strings.
24 | public class BenchRefStringMain {
25 |
26 | // Main method: entry point of the application, designed for
27 | // running the benchmarking test related to reference strings operations.
28 | public static void main(String[] args) {
29 | // Instantiate a PerfRegressionHolder object.
30 | PerfRegressionHolder main = new PerfRegressionHolder();
31 |
32 | // Execute the benchmark test specific to reference string operations.
33 | main.doTest(main::benchRefString);
34 | }
35 | }
36 |
--------------------------------------------------------------------------------
/src/test/java/net/openhft/chronicle/wire/bytesmarshallable/BenchStringMain.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2016-2022 chronicle.software
3 | *
4 | * https://chronicle.software
5 | *
6 | * Licensed under the Apache License, Version 2.0 (the "License");
7 | * you may not use this file except in compliance with the License.
8 | * You may obtain a copy of the License at
9 | *
10 | * http://www.apache.org/licenses/LICENSE-2.0
11 | *
12 | * Unless required by applicable law or agreed to in writing, software
13 | * distributed under the License is distributed on an "AS IS" BASIS,
14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 | * See the License for the specific language governing permissions and
16 | * limitations under the License.
17 | */
18 |
19 | package net.openhft.chronicle.wire.bytesmarshallable;
20 |
21 | // Class: BenchStringMain
22 | // A class for performance benchmarking, particularly designed to
23 | // test the efficiency and performance of string-related operations.
24 | public class BenchStringMain {
25 |
26 | // Main method: entry point of the application, designed for
27 | // running the benchmarking test related to string operations.
28 | public static void main(String[] args) {
29 | // Instantiate a PerfRegressionHolder object.
30 | PerfRegressionHolder main = new PerfRegressionHolder();
31 |
32 | // Execute the benchmark test specific to string operations.
33 | main.doTest(main::benchString);
34 | }
35 | }
36 |
--------------------------------------------------------------------------------
/src/test/java/net/openhft/chronicle/wire/bytesmarshallable/BenchUtf8StringMain.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2016-2022 chronicle.software
3 | *
4 | * https://chronicle.software
5 | *
6 | * Licensed under the Apache License, Version 2.0 (the "License");
7 | * you may not use this file except in compliance with the License.
8 | * You may obtain a copy of the License at
9 | *
10 | * http://www.apache.org/licenses/LICENSE-2.0
11 | *
12 | * Unless required by applicable law or agreed to in writing, software
13 | * distributed under the License is distributed on an "AS IS" BASIS,
14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 | * See the License for the specific language governing permissions and
16 | * limitations under the License.
17 | */
18 |
19 | package net.openhft.chronicle.wire.bytesmarshallable;
20 |
21 | // Class: BenchUtf8StringMain
22 | // A class for performance benchmarking, particularly designed to
23 | // test the efficiency and performance of UTF-8 string-related operations.
24 | public class BenchUtf8StringMain {
25 |
26 | // Main method: entry point of the application, designed for
27 | // running the benchmarking test related to UTF-8 string operations.
28 | public static void main(String[] args) {
29 | // Instantiate a PerfRegressionHolder object.
30 | PerfRegressionHolder main = new PerfRegressionHolder();
31 |
32 | // Execute the benchmark test specific to UTF-8 string operations.
33 | main.doTest(main::benchUtf8String);
34 | }
35 | }
36 |
--------------------------------------------------------------------------------
/src/test/java/net/openhft/chronicle/wire/examples/PersonOps.java:
--------------------------------------------------------------------------------
1 | package net.openhft.chronicle.wire.examples;
2 |
3 | /**
4 | * This interface defines operations related to a person.
5 | */
6 | public interface PersonOps {
7 |
8 | /**
9 | * Add a new person.
10 | *
11 | * @param p The person to be added.
12 | */
13 | void addPerson(Person p);
14 | }
15 |
--------------------------------------------------------------------------------
/src/test/java/net/openhft/chronicle/wire/examples/WireExamples3.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2016-2022 chronicle.software
3 | *
4 | * https://chronicle.software
5 | *
6 | * Licensed under the Apache License, Version 2.0 (the "License");
7 | * you may not use this file except in compliance with the License.
8 | * You may obtain a copy of the License at
9 | *
10 | * http://www.apache.org/licenses/LICENSE-2.0
11 | *
12 | * Unless required by applicable law or agreed to in writing, software
13 | * distributed under the License is distributed on an "AS IS" BASIS,
14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 | * See the License for the specific language governing permissions and
16 | * limitations under the License.
17 | */
18 |
19 | package net.openhft.chronicle.wire.examples;
20 |
21 | public class WireExamples3 {
22 |
23 | interface Printer {
24 | void print(String message);
25 | }
26 |
27 | public static void main(String[] args) {
28 | final Printer consolePrinter = System.out::println;
29 | consolePrinter.print("hello world");
30 | }
31 | }
32 |
--------------------------------------------------------------------------------
/src/test/java/net/openhft/chronicle/wire/issue/Issue751Test.java:
--------------------------------------------------------------------------------
1 | package net.openhft.chronicle.wire.issue;
2 |
3 | import net.openhft.chronicle.bytes.Bytes;
4 | import net.openhft.chronicle.wire.*;
5 | import org.jetbrains.annotations.NotNull;
6 | import org.junit.Test;
7 |
8 | public class Issue751Test extends WireTestCommon {
9 |
10 | public static class One extends SelfDescribingMarshallable {
11 | Comparable> text;
12 |
13 | public One(Comparable> text) {
14 | this.text = text;
15 | }
16 | }
17 |
18 | public static class Two implements Comparable, Marshallable {
19 | Comparable> text;
20 |
21 | public Two(Comparable> text) {
22 | this.text = text;
23 | }
24 |
25 | @Override
26 | public int compareTo(@NotNull Issue751Test.Two o) {
27 | return text.hashCode() - o.text.hashCode();
28 | }
29 | }
30 |
31 | public static class Three extends SelfDescribingMarshallable {
32 | private One one;
33 | private Two two;
34 |
35 | public Three(One one, Two two) {
36 | this.one = one;
37 | this.two = two;
38 | }
39 | }
40 |
41 | @Test
42 | public void comparableField() {
43 | Wire wire = new YamlWire(Bytes.allocateElasticOnHeap());
44 | wire.write("first").object(new Three(
45 | new One("hello"), new Two(42)));
46 |
47 | System.err.println(wire.read("first").object());
48 | }
49 | }
50 |
--------------------------------------------------------------------------------
/src/test/java/net/openhft/chronicle/wire/java17/Field.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2016-2022 chronicle.software
3 | *
4 | * https://chronicle.software
5 | *
6 | * Licensed under the Apache License, Version 2.0 (the "License");
7 | * you may not use this file except in compliance with the License.
8 | * You may obtain a copy of the License at
9 | *
10 | * http://www.apache.org/licenses/LICENSE-2.0
11 | *
12 | * Unless required by applicable law or agreed to in writing, software
13 | * distributed under the License is distributed on an "AS IS" BASIS,
14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 | * See the License for the specific language governing permissions and
16 | * limitations under the License.
17 | */
18 |
19 | package net.openhft.chronicle.wire.java17;
20 |
21 | import net.openhft.chronicle.wire.SelfDescribingMarshallable;
22 |
23 | import java.util.HashMap;
24 | import java.util.Map;
25 |
26 | /**
27 | * Represents a field with the ability to describe its structure and contents.
28 | * Inherits the capabilities of SelfDescribingMarshallable to provide
29 | * self-describing marshalling and unmarshalling.
30 | */
31 | public class Field extends SelfDescribingMarshallable {
32 |
33 | // A map to maintain the required status for various field names
34 | private final Map required = new HashMap<>();
35 |
36 | /**
37 | * Sets the required status for a given field name.
38 | *
39 | * @param name The name of the field.
40 | * @param required The required status of the field.
41 | */
42 | public void required(String name, Required required) {
43 | this.required.put(name, required);
44 | }
45 | }
46 |
--------------------------------------------------------------------------------
/src/test/java/net/openhft/chronicle/wire/java17/Group.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2016-2022 chronicle.software
3 | *
4 | * https://chronicle.software
5 | *
6 | * Licensed under the Apache License, Version 2.0 (the "License");
7 | * you may not use this file except in compliance with the License.
8 | * You may obtain a copy of the License at
9 | *
10 | * http://www.apache.org/licenses/LICENSE-2.0
11 | *
12 | * Unless required by applicable law or agreed to in writing, software
13 | * distributed under the License is distributed on an "AS IS" BASIS,
14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 | * See the License for the specific language governing permissions and
16 | * limitations under the License.
17 | */
18 |
19 | package net.openhft.chronicle.wire.java17;
20 |
21 | import net.openhft.chronicle.wire.SelfDescribingMarshallable;
22 |
23 | /**
24 | * Represents a group that contains a field and its related configurations.
25 | * Inherits the capabilities of SelfDescribingMarshallable to provide
26 | * self-describing marshalling and unmarshalling.
27 | */
28 | public class Group extends SelfDescribingMarshallable {
29 |
30 | // The field associated with this group
31 | private final Field field;
32 |
33 | /**
34 | * Constructs a Group with the specified field.
35 | *
36 | * @param field The field to be associated with this group.
37 | */
38 | public Group(Field field) {
39 | this.field = field;
40 | }
41 | }
42 |
--------------------------------------------------------------------------------
/src/test/java/net/openhft/chronicle/wire/java17/Required.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2016-2022 chronicle.software
3 | *
4 | * https://chronicle.software
5 | *
6 | * Licensed under the Apache License, Version 2.0 (the "License");
7 | * you may not use this file except in compliance with the License.
8 | * You may obtain a copy of the License at
9 | *
10 | * http://www.apache.org/licenses/LICENSE-2.0
11 | *
12 | * Unless required by applicable law or agreed to in writing, software
13 | * distributed under the License is distributed on an "AS IS" BASIS,
14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 | * See the License for the specific language governing permissions and
16 | * limitations under the License.
17 | */
18 |
19 | package net.openhft.chronicle.wire.java17;
20 |
21 | public enum Required {
22 | NO
23 | }
24 |
--------------------------------------------------------------------------------
/src/test/java/net/openhft/chronicle/wire/marshallable/UnknownDatatimeTest.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2016-2020 chronicle.software
3 | */
4 |
5 | package net.openhft.chronicle.wire.marshallable;
6 |
7 | import net.openhft.chronicle.wire.Marshallable;
8 | import net.openhft.chronicle.wire.WireTestCommon;
9 | import org.junit.Test;
10 |
11 | import java.io.IOException;
12 |
13 | import static org.junit.Assert.assertEquals;
14 |
15 | // Import necessary libraries...
16 |
17 | /**
18 | * Test suite for ignoring unknown datetime during deserialization.
19 | */
20 | public class UnknownDatatimeTest extends WireTestCommon {
21 |
22 | /**
23 | * Tests if an unknown datetime can be ignored during deserialization.
24 | */
25 | @Test
26 | public void ignoreAnUnknownDateTime() throws IOException {
27 | // Deserialize an instance of AClass from a string.
28 | // The string contains a datetime field 'eventTime' which is not expected to exist in AClass.
29 | AClass aClass = Marshallable.fromString("!" + AClass.class.getName() + " { eventTime: 2019-04-02T11:20:41.616653, id: 123456 }");
30 |
31 | // Assert that the 'id' field of the deserialized object has the expected value.
32 | // The absence of 'eventTime' in AClass should not cause any issues during deserialization.
33 | assertEquals(123456, aClass.id);
34 | }
35 | }
36 |
--------------------------------------------------------------------------------
/src/test/java/net/openhft/chronicle/wire/method/ChronicleEventHandler.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2016-2022 chronicle.software
3 | *
4 | * https://chronicle.software
5 | *
6 | * Licensed under the Apache License, Version 2.0 (the "License");
7 | * you may not use this file except in compliance with the License.
8 | * You may obtain a copy of the License at
9 | *
10 | * http://www.apache.org/licenses/LICENSE-2.0
11 | *
12 | * Unless required by applicable law or agreed to in writing, software
13 | * distributed under the License is distributed on an "AS IS" BASIS,
14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 | * See the License for the specific language governing permissions and
16 | * limitations under the License.
17 | */
18 |
19 | package net.openhft.chronicle.wire.method;
20 |
21 | /**
22 | * Defines a specialized handler for dealing with ChronicleEvent instances.
23 | * This interface extends the generic EventHandler to specifically handle
24 | * ChronicleEvent objects.
25 | */
26 | public interface ChronicleEventHandler extends EventHandler {
27 |
28 | /**
29 | * Handles the provided ChronicleEvent.
30 | * @param event The ChronicleEvent instance to be handled.
31 | */
32 | @Override
33 | void event(ChronicleEvent event);
34 | }
35 |
--------------------------------------------------------------------------------
/src/test/java/net/openhft/chronicle/wire/method/ClusterCommandListener.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2016-2022 chronicle.software
3 | *
4 | * https://chronicle.software
5 | *
6 | * Licensed under the Apache License, Version 2.0 (the "License");
7 | * you may not use this file except in compliance with the License.
8 | * You may obtain a copy of the License at
9 | *
10 | * http://www.apache.org/licenses/LICENSE-2.0
11 | *
12 | * Unless required by applicable law or agreed to in writing, software
13 | * distributed under the License is distributed on an "AS IS" BASIS,
14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 | * See the License for the specific language governing permissions and
16 | * limitations under the License.
17 | */
18 |
19 | package net.openhft.chronicle.wire.method;
20 |
21 | /**
22 | * An interface defining a listener for cluster commands.
23 | * Implementations of this interface can process commands intended for cluster operations.
24 | */
25 | public interface ClusterCommandListener {
26 |
27 | /**
28 | * Invoked when a cluster command needs to be processed.
29 | *
30 | * @param clusterCommand The cluster command to be processed.
31 | */
32 | void command(ClusterCommand clusterCommand);
33 | }
34 |
--------------------------------------------------------------------------------
/src/test/java/net/openhft/chronicle/wire/method/EventHandler.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2016-2022 chronicle.software
3 | *
4 | * https://chronicle.software
5 | *
6 | * Licensed under the Apache License, Version 2.0 (the "License");
7 | * you may not use this file except in compliance with the License.
8 | * You may obtain a copy of the License at
9 | *
10 | * http://www.apache.org/licenses/LICENSE-2.0
11 | *
12 | * Unless required by applicable law or agreed to in writing, software
13 | * distributed under the License is distributed on an "AS IS" BASIS,
14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 | * See the License for the specific language governing permissions and
16 | * limitations under the License.
17 | */
18 |
19 | package net.openhft.chronicle.wire.method;
20 |
21 | /**
22 | * Interface for handling events of type T where T is a subtype of Event.
23 | * Implementors of this interface should provide concrete behavior for what to do with the event.
24 | *
25 | * @param The type of event this handler is responsible for, bounded by the Event interface.
26 | */
27 | public interface EventHandler {
28 |
29 | /**
30 | * Handles the event. This method is meant to define how an event should be processed.
31 | *
32 | * @param event The event to handle.
33 | */
34 | void event(T event);
35 |
36 | /**
37 | * Responds to an event. This method is typically invoked when an event occurs.
38 | *
39 | * @param event The event that has occurred.
40 | */
41 | void onEvent(T event);
42 | }
43 |
--------------------------------------------------------------------------------
/src/test/java/net/openhft/chronicle/wire/method/FundingOut.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2016-2022 chronicle.software
3 | *
4 | * https://chronicle.software
5 | *
6 | * Licensed under the Apache License, Version 2.0 (the "License");
7 | * you may not use this file except in compliance with the License.
8 | * You may obtain a copy of the License at
9 | *
10 | * http://www.apache.org/licenses/LICENSE-2.0
11 | *
12 | * Unless required by applicable law or agreed to in writing, software
13 | * distributed under the License is distributed on an "AS IS" BASIS,
14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 | * See the License for the specific language governing permissions and
16 | * limitations under the License.
17 | */
18 |
19 | package net.openhft.chronicle.wire.method;
20 |
21 | /**
22 | * Interface that combines the functionalities of both FundingListener and ClusterCommandListener.
23 | * It represents an entity capable of handling both funding-related events and cluster command events.
24 | * This design allows a single implementation to listen to and process a variety of different event types.
25 | */
26 | public interface FundingOut extends
27 | FundingListener, ClusterCommandListener {
28 | // This interface currently does not declare any additional methods, but it inherits all methods
29 | // from both FundingListener and ClusterCommandListener.
30 | }
31 |
--------------------------------------------------------------------------------
/src/test/java/net/openhft/chronicle/wire/method/MockDto.java:
--------------------------------------------------------------------------------
1 | package net.openhft.chronicle.wire.method;
2 |
3 | import net.openhft.chronicle.wire.Comment;
4 | import net.openhft.chronicle.wire.SelfDescribingMarshallable;
5 |
6 | class MockDto extends SelfDescribingMarshallable {
7 | @Comment("field1 comment")
8 | String field1;
9 | @Comment("field2 comment")
10 | double field2;
11 | }
12 |
--------------------------------------------------------------------------------
/src/test/java/net/openhft/chronicle/wire/method/MockMethods.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2016-2022 chronicle.software
3 | *
4 | * https://chronicle.software
5 | *
6 | * Licensed under the Apache License, Version 2.0 (the "License");
7 | * you may not use this file except in compliance with the License.
8 | * You may obtain a copy of the License at
9 | *
10 | * http://www.apache.org/licenses/LICENSE-2.0
11 | *
12 | * Unless required by applicable law or agreed to in writing, software
13 | * distributed under the License is distributed on an "AS IS" BASIS,
14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 | * See the License for the specific language governing permissions and
16 | * limitations under the License.
17 | */
18 |
19 | package net.openhft.chronicle.wire.method;
20 |
21 | import net.openhft.chronicle.wire.IMid;
22 |
23 | import java.util.List;
24 |
25 | /**
26 | * Interface defining a set of mock methods for testing purposes.
27 | * It includes methods with various argument types and one that returns another interface.
28 | */
29 | interface MockMethods {
30 | // Method with a single MockDto argument
31 | void method1(MockDto dto);
32 |
33 | // Another method with a single MockDto argument
34 | void method2(MockDto dto);
35 |
36 | // Method with a list of MockDto objects as an argument
37 | void method3(List dtos);
38 |
39 | // Method with a list of strings as an argument
40 | void list(List strings);
41 |
42 | // Method designed to throw an exception
43 | void throwException(String s);
44 |
45 | // Method that returns an instance of the IMid interface
46 | IMid mid(String text);
47 | }
48 |
--------------------------------------------------------------------------------
/src/test/java/net/openhft/chronicle/wire/method/Service.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2016-2022 chronicle.software
3 | *
4 | * https://chronicle.software
5 | *
6 | * Licensed under the Apache License, Version 2.0 (the "License");
7 | * you may not use this file except in compliance with the License.
8 | * You may obtain a copy of the License at
9 | *
10 | * http://www.apache.org/licenses/LICENSE-2.0
11 | *
12 | * Unless required by applicable law or agreed to in writing, software
13 | * distributed under the License is distributed on an "AS IS" BASIS,
14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 | * See the License for the specific language governing permissions and
16 | * limitations under the License.
17 | */
18 |
19 | package net.openhft.chronicle.wire.method;
20 |
21 | /**
22 | * Enum representing different service types.
23 | * Each enum constant represents a distinct service.
24 | */
25 | public enum Service {
26 |
27 | // Enum constants representing different services
28 | S1, // Represents service type S1
29 | S2; // Represents service type S2
30 |
31 | /**
32 | * Returns the service ID as a string.
33 | * This method converts the enum constant to a string representation.
34 | *
35 | * @return The string representation of the enum constant, effectively the service ID.
36 | */
37 | String serviceId() {
38 | return toString(); // Returns the string representation of the enum constant
39 | }
40 | }
41 |
--------------------------------------------------------------------------------
/src/test/java/net/openhft/chronicle/wire/recursive/Base.java:
--------------------------------------------------------------------------------
1 | package net.openhft.chronicle.wire.recursive;
2 |
3 | import net.openhft.chronicle.wire.AbstractEventCfg;
4 |
5 | public class Base extends AbstractEventCfg {
6 | private final String name;
7 |
8 | public Base(String name) {
9 | this.name = name;
10 | }
11 |
12 | public String name() {
13 | return name;
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/src/test/java/net/openhft/chronicle/wire/recursive/RecursiveTest.java:
--------------------------------------------------------------------------------
1 | package net.openhft.chronicle.wire.recursive;
2 |
3 | import net.openhft.chronicle.wire.WireMarshaller;
4 | import org.junit.Test;
5 |
6 | import static org.junit.jupiter.api.Assertions.assertEquals;
7 | import static org.junit.jupiter.api.Assertions.assertNotNull;
8 |
9 | /**
10 | * Test for recursion in the marshaller and fields. WIRE_MARSHALLER_CL.get should not recurse while
11 | * looking up fields of the class. At time of writing this occurs when checking if the component class
12 | * of a subfield is a leaf and is only a problem when the component class is the same as the parent class.
13 | */
14 | public class RecursiveTest {
15 |
16 | @Test
17 | public void referToBaseClass() {
18 | test(new ReferToBaseClass("hello"), new ReferToBaseClass(null));
19 | }
20 |
21 | @Test
22 | public void referToSameClass() {
23 | test(new ReferToSameClass("test"), new ReferToSameClass(null));
24 | }
25 |
26 | @Test
27 | public void marshallerReferToSameClass() {
28 | WireMarshaller> marshaller= WireMarshaller.WIRE_MARSHALLER_CL.get(ReferToSameClass.class);
29 | assertNotNull(marshaller);
30 | }
31 |
32 | @Test
33 | public void marshallerReferToBaseClass() {
34 | WireMarshaller> marshaller = WireMarshaller.WIRE_MARSHALLER_CL.get(ReferToBaseClass.class);
35 | assertNotNull(marshaller);
36 | }
37 |
38 | private void test(Base from, Base to) {
39 | from.copyTo(to);
40 | assertEquals(from.name(), to.name());
41 | }
42 | }
--------------------------------------------------------------------------------
/src/test/java/net/openhft/chronicle/wire/recursive/ReferToBaseClass.java:
--------------------------------------------------------------------------------
1 | package net.openhft.chronicle.wire.recursive;
2 |
3 | import java.util.ArrayList;
4 | import java.util.List;
5 |
6 | public class ReferToBaseClass extends ReferToSameClass {
7 | private final List list = new ArrayList<>();
8 |
9 | public ReferToBaseClass(String name) {
10 | super(name);
11 | }
12 |
13 | public List list() {
14 | return list;
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/src/test/java/net/openhft/chronicle/wire/recursive/ReferToSameClass.java:
--------------------------------------------------------------------------------
1 | package net.openhft.chronicle.wire.recursive;
2 |
3 | import java.util.ArrayList;
4 | import java.util.List;
5 |
6 | public class ReferToSameClass extends Base {
7 | private final List list = new ArrayList<>();
8 |
9 | public ReferToSameClass(String name) {
10 | super(name);
11 | }
12 |
13 | public List list() {
14 | return list;
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/src/test/java/net/openhft/chronicle/wire/security/exploit.yaml:
--------------------------------------------------------------------------------
1 | is: !javax.crypto.CipherInputStream {
2 | cipher: !javax.crypto.NullCipher {
3 | initialized: false,
4 | opmode: 0,
5 | serviceIterator: !javax.imageio.spi.FilterIterator {
6 | iter: !javax.imageio.spi.FilterIterator {
7 | iter: !java.util.Collections$EmptyIterator { },
8 | next: !java.lang.ProcessBuilder {
9 | command: [
10 | /bin/sh,
11 | "-c",
12 | echo hello world
13 | ],
14 | directory: !!null "",
15 | environment: !!null "",
16 | redirectErrorStream: false,
17 | redirects: !!null ""
18 | }
19 | },
20 | filter: !javax.imageio.ImageIO$ContainsFilter {
21 | method: {
22 | clazz: java.lang.ProcessBuilder,
23 | name: start,
24 | parameterTypes: [ ]
25 | }
26 | },
27 | next: foo
28 | },
29 | input: !java.lang.ProcessBuilder$NullInputStream { },
30 | done: false,
31 | ostart: 0,
32 | ofinish: 0,
33 | closed: false
34 | }
35 |
--------------------------------------------------------------------------------
/src/test/resources/CSVWireTest.csv:
--------------------------------------------------------------------------------
1 | Symbol,Name,Price,Change,ChangePercent,Day's Volume
2 | III,3i Group,479.4,12,2.44,2387043
3 | 3IN,3i Infrastructure,164.7,0.1,0.06,429433
4 | AA,AA,325.9,5.7,1.72,1469834
5 |
--------------------------------------------------------------------------------
/src/test/resources/compat/escaped.yaml:
--------------------------------------------------------------------------------
1 | b: "\bb\b"
2 | t: "\tt\t"
3 | n: "\nn\n"
4 |
--------------------------------------------------------------------------------
/src/test/resources/compat/quoted-comment.yaml:
--------------------------------------------------------------------------------
1 | quoted: ' # not a ''comment''.'
2 |
--------------------------------------------------------------------------------
/src/test/resources/docs/qe_cfg.yaml:
--------------------------------------------------------------------------------
1 | !ChronicleQueueReplicationCfg {
2 | context: !QueueClusterContext {
3 | heartbeatIntervalMs: 60000,
4 | heartbeatTimeoutMs: 120000,
5 | },
6 | hosts: {
7 | server: { connectUri: localhost:7072 },
8 | client: { connectUri: localhost:7073 }
9 | },
10 | queues: {
11 | trades: {
12 | path: trades,
13 | master: server,
14 | acknowledge: true
15 | }
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/src/test/resources/echoing.yaml:
--------------------------------------------------------------------------------
1 | port: 65432
2 | microservice: !net.openhft.chronicle.queue.channel.EchoingMicroservice { }
3 | buffered: ${buffered}
4 |
--------------------------------------------------------------------------------
/src/test/resources/empty-file.yaml:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenHFT/Chronicle-Wire/c8ca01bb62e9b6e46318624a6a4a96b4d5b21d38/src/test/resources/empty-file.yaml
--------------------------------------------------------------------------------
/src/test/resources/exception.yaml:
--------------------------------------------------------------------------------
1 | --- !!data
2 | exception: !java.security.InvalidAlgorithmParameterException {
3 | message: Reference cannot be null,
4 | stackTrace: [
5 | { class: net.openhft.chronicle.wire.YamlWireTest, method: testException, file: YamlWireTest.java, line: 783 },
6 | { class: net.openhft.chronicle.wire.YamlWireTest, method: runTestException, file: YamlWireTest.java, line: 73 },
7 | { class: sun.reflect.NativeMethodAccessorImpl, method: invoke0, file: NativeMethodAccessorImpl.java, line: -2 }
8 | ]
9 | }
10 |
--------------------------------------------------------------------------------
/src/test/resources/itop.schema.json:
--------------------------------------------------------------------------------
1 | {
2 | "$schema": "http://json-schema.org/draft-07/schema#",
3 | "$id": "http://json-schema.org/draft-07/schema#",
4 | "title": "Core schema meta-schema",
5 | "definitions": {
6 | "DMOuterClass": {
7 | "type": "object",
8 | "required": [
9 | "b",
10 | "bb",
11 | "s",
12 | "f",
13 | "d",
14 | "l",
15 | "i"
16 | ],
17 | "properties": {
18 | "text": {
19 | "type": "string"
20 | },
21 | "b": {
22 | "type": "boolean"
23 | },
24 | "bb": {
25 | "type": "integer"
26 | },
27 | "s": {
28 | "type": "integer"
29 | },
30 | "f": {
31 | "type": "number"
32 | },
33 | "d": {
34 | "type": "number"
35 | },
36 | "l": {
37 | "type": "integer"
38 | },
39 | "i": {
40 | "type": "integer"
41 | },
42 | "nested": {
43 | "type": "array"
44 | },
45 | "map": {
46 | "type": "object"
47 | }
48 | }
49 | }
50 | },
51 | "properties": {
52 | "echo": {
53 | "type": "string"
54 | },
55 | "next2": {
56 | "type": "string"
57 | },
58 | "dto": {
59 | "$ref": "#/definitions/DMOuterClass"
60 | },
61 | "mid2": {
62 | "type": "string"
63 | },
64 | "next": {
65 | "type": "integer"
66 | },
67 | "mid": {
68 | "type": "string"
69 | }
70 | }
71 | }
72 |
--------------------------------------------------------------------------------
/src/test/resources/md.yaml:
--------------------------------------------------------------------------------
1 | [
2 | !MDU {
3 | symbol: EU
4 | },
5 | !MDU {
6 | symbol: UY
7 | },
8 | !MDU {
9 | symbol: AU
10 | }
11 | ]
12 |
--------------------------------------------------------------------------------
/src/test/resources/md2.yaml:
--------------------------------------------------------------------------------
1 | !MDU {
2 | symbol: EU
3 | }
4 | ---
5 | !MDU {
6 | symbol: UY
7 | }
8 | ---
9 | !MDU {
10 | symbol: AU
11 | }
12 | ---
13 |
--------------------------------------------------------------------------------
/src/test/resources/methods-collections-in.yaml:
--------------------------------------------------------------------------------
1 | method3: [
2 | {
3 | field1: hello,
4 | field2: 1.23
5 | },
6 | {
7 | field1: world,
8 | field2: 1e6
9 | }
10 | ]
11 | ...
12 | method3: [
13 | {
14 | field1: gidday,
15 | field2: 1
16 | },
17 | {
18 | field1: mate,
19 | field2: 2
20 | }
21 | ]
22 | ---
23 |
--------------------------------------------------------------------------------
/src/test/resources/methods/in.yaml:
--------------------------------------------------------------------------------
1 | ---
2 | ---
3 | method1: {
4 | field1: hello, # field1 comment
5 | field2: 1.23, # field2 comment
6 | }
7 | ...
8 | ---
9 | method2: {
10 | field1: world, # field1 comment
11 | field2: 1E6, # field2 comment
12 | }
13 | ...
14 | ...
15 | ---
16 | ...
17 | list: [
18 | hello,
19 | world
20 | ]
21 | ...
22 |
--------------------------------------------------------------------------------
/src/test/resources/methods/out.yaml:
--------------------------------------------------------------------------------
1 | method1: {
2 | field1: hello, # field1 comment
3 | field2: 1.23, # field2 comment
4 | }
5 | ...
6 | method2: {
7 | field1: world, # field1 comment
8 | field2: 1E6, # field2 comment
9 | }
10 | ...
11 | list: [
12 | hello,
13 | world
14 | ]
15 | ...
16 |
--------------------------------------------------------------------------------
/src/test/resources/mixed-quotes.yaml:
--------------------------------------------------------------------------------
1 | [ "\"", '"', '\', '"', "\"'", "\"", "\"\"", "\'\'" ]
2 |
--------------------------------------------------------------------------------
/src/test/resources/morse-code.yaml:
--------------------------------------------------------------------------------
1 | ---
2 | A: .-
3 | B: -...
4 | C: -.-.
5 | D: -..
6 | E: .
7 | F: ..-.
8 | G: --.
9 | H: ....
10 | I: ..
11 | J: .---
12 | K: -.-
13 | L: .-..
14 | M: --
15 | N: -.
16 | O: ---
17 | P: .--.
18 | Q: --.-
19 | R: .-.
20 | S: ...
21 | T: "-"
22 | U: ..-
23 | V: ...-
24 | W: .--
25 | X: -..-
26 | Y: -.--
27 | Z: --..
28 | ...
29 |
--------------------------------------------------------------------------------
/src/test/resources/my-pojos.yaml:
--------------------------------------------------------------------------------
1 | !MyPojos {
2 | name: test-list,
3 | myPojos: [
4 | { text: text1, num: 1, factor: 1.1 },
5 | { text: text2, num: 2, factor: 2.2 }
6 | ]
7 | }
8 |
--------------------------------------------------------------------------------
/src/test/resources/naked.yaml:
--------------------------------------------------------------------------------
1 | HeartBtInt: 20
2 |
--------------------------------------------------------------------------------
/src/test/resources/nst_files/README.adoc:
--------------------------------------------------------------------------------
1 | Copied from https://github.com/nst/JSONTestSuite
2 |
3 | MIT License
4 |
5 | Copyright (c) 2016 Nicolas Seriot
6 |
7 | Permission is hereby granted, free of charge, to any person obtaining a copy
8 | of this software and associated documentation files (the "Software"), to deal
9 | in the Software without restriction, including without limitation the rights
10 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
11 | copies of the Software, and to permit persons to whom the Software is
12 | furnished to do so, subject to the following conditions:
13 |
14 | The above copyright notice and this permission notice shall be included in all
15 | copies or substantial portions of the Software.
16 |
17 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
20 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
21 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
22 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
23 | SOFTWARE.
24 |
--------------------------------------------------------------------------------
/src/test/resources/nst_files/e-0.yaml:
--------------------------------------------------------------------------------
1 | ""
2 |
--------------------------------------------------------------------------------
/src/test/resources/nst_files/e-1.yaml:
--------------------------------------------------------------------------------
1 | ""
2 |
--------------------------------------------------------------------------------
/src/test/resources/nst_files/e-10.yaml:
--------------------------------------------------------------------------------
1 | [
2 | 1,
3 | 2
4 | ]
5 |
--------------------------------------------------------------------------------
/src/test/resources/nst_files/e-101.yaml:
--------------------------------------------------------------------------------
1 | [
2 | hello,
3 | "bye\n\r\t\v"
4 | ]
5 |
--------------------------------------------------------------------------------
/src/test/resources/nst_files/e-12.yaml:
--------------------------------------------------------------------------------
1 | "1": 2
2 |
--------------------------------------------------------------------------------
/src/test/resources/nst_files/e-125.yaml:
--------------------------------------------------------------------------------
1 | hello
2 |
--------------------------------------------------------------------------------
/src/test/resources/nst_files/e-13.yaml:
--------------------------------------------------------------------------------
1 | "1": 2
2 |
--------------------------------------------------------------------------------
/src/test/resources/nst_files/e-136.yaml:
--------------------------------------------------------------------------------
1 | 3.0
2 |
--------------------------------------------------------------------------------
/src/test/resources/nst_files/e-137.yaml:
--------------------------------------------------------------------------------
1 | .3
2 |
--------------------------------------------------------------------------------
/src/test/resources/nst_files/e-139.yaml:
--------------------------------------------------------------------------------
1 | "0.3e"
2 |
--------------------------------------------------------------------------------
/src/test/resources/nst_files/e-140.yaml:
--------------------------------------------------------------------------------
1 | "0.3e+"
2 |
--------------------------------------------------------------------------------
/src/test/resources/nst_files/e-145.yaml:
--------------------------------------------------------------------------------
1 | 3
2 |
--------------------------------------------------------------------------------
/src/test/resources/nst_files/e-147.yaml:
--------------------------------------------------------------------------------
1 | -3.0
2 |
--------------------------------------------------------------------------------
/src/test/resources/nst_files/e-149.yaml:
--------------------------------------------------------------------------------
1 | .5
2 |
--------------------------------------------------------------------------------
/src/test/resources/nst_files/e-15.yaml:
--------------------------------------------------------------------------------
1 | "1": 2
2 | "2.5": [
3 | 3,
4 | 4,
5 | {
6 | },
7 | {
8 | "5": [
9 | "6"
10 | ],
11 | ? [ 7]: ""
12 | }
13 | ]
14 |
--------------------------------------------------------------------------------
/src/test/resources/nst_files/e-150.yaml:
--------------------------------------------------------------------------------
1 | 5.0
2 |
--------------------------------------------------------------------------------
/src/test/resources/nst_files/e-151.yaml:
--------------------------------------------------------------------------------
1 | 50.0
2 |
--------------------------------------------------------------------------------
/src/test/resources/nst_files/e-153.yaml:
--------------------------------------------------------------------------------
1 | .3e1
2 |
--------------------------------------------------------------------------------
/src/test/resources/nst_files/e-154.yaml:
--------------------------------------------------------------------------------
1 | .3e+1
2 |
--------------------------------------------------------------------------------
/src/test/resources/nst_files/e-155.yaml:
--------------------------------------------------------------------------------
1 | .3e-1
2 |
--------------------------------------------------------------------------------
/src/test/resources/nst_files/e-156.yaml:
--------------------------------------------------------------------------------
1 | .3e-1 .5
2 |
--------------------------------------------------------------------------------
/src/test/resources/nst_files/e-157.yaml:
--------------------------------------------------------------------------------
1 | .3e-1.5
2 |
--------------------------------------------------------------------------------
/src/test/resources/nst_files/e-158.yaml:
--------------------------------------------------------------------------------
1 | .3e+1.5
2 |
--------------------------------------------------------------------------------
/src/test/resources/nst_files/e-159.yaml:
--------------------------------------------------------------------------------
1 | .3e+.
2 |
--------------------------------------------------------------------------------
/src/test/resources/nst_files/e-160.yaml:
--------------------------------------------------------------------------------
1 | .3e+.5
2 |
--------------------------------------------------------------------------------
/src/test/resources/nst_files/e-161.yaml:
--------------------------------------------------------------------------------
1 | .3e+1.5
2 |
--------------------------------------------------------------------------------
/src/test/resources/nst_files/e-162.yaml:
--------------------------------------------------------------------------------
1 | "9.3e+1.5"
2 |
--------------------------------------------------------------------------------
/src/test/resources/nst_files/e-163.yaml:
--------------------------------------------------------------------------------
1 | "9.e+1.5"
2 |
--------------------------------------------------------------------------------
/src/test/resources/nst_files/e-164.yaml:
--------------------------------------------------------------------------------
1 | "9.e+"
2 |
--------------------------------------------------------------------------------
/src/test/resources/nst_files/e-165.yaml:
--------------------------------------------------------------------------------
1 | 90.0
2 |
--------------------------------------------------------------------------------
/src/test/resources/nst_files/e-169.yaml:
--------------------------------------------------------------------------------
1 | '".'
2 | .
3 |
--------------------------------------------------------------------------------
/src/test/resources/nst_files/e-171.yaml:
--------------------------------------------------------------------------------
1 | '""""'
2 | ""
3 |
--------------------------------------------------------------------------------
/src/test/resources/nst_files/e-172.yaml:
--------------------------------------------------------------------------------
1 | [
2 | '""""',
3 | .,
4 | 5
5 | ]
6 |
--------------------------------------------------------------------------------
/src/test/resources/nst_files/e-173.yaml:
--------------------------------------------------------------------------------
1 | [
2 | .5
3 | ]
4 |
--------------------------------------------------------------------------------
/src/test/resources/nst_files/e-175.yaml:
--------------------------------------------------------------------------------
1 | [
2 | '""""',
3 | .,
4 | 5
5 | ]
6 |
--------------------------------------------------------------------------------
/src/test/resources/nst_files/e-176.yaml:
--------------------------------------------------------------------------------
1 | [
2 | '""""',
3 | .,
4 | 5
5 | ]
6 |
--------------------------------------------------------------------------------
/src/test/resources/nst_files/e-177.yaml:
--------------------------------------------------------------------------------
1 | [
2 | '"',
3 | .,
4 | 5
5 | ]
6 |
--------------------------------------------------------------------------------
/src/test/resources/nst_files/e-178.yaml:
--------------------------------------------------------------------------------
1 | [
2 | '".5',
3 | .,
4 | 5
5 | ]
6 |
--------------------------------------------------------------------------------
/src/test/resources/nst_files/e-179.yaml:
--------------------------------------------------------------------------------
1 | [
2 | '".5',
3 | '.5"',
4 | .,
5 | 5
6 | ]
7 |
--------------------------------------------------------------------------------
/src/test/resources/nst_files/e-180.yaml:
--------------------------------------------------------------------------------
1 | [
2 | '".5',
3 | '.5"',
4 | .,
5 | 5
6 | ]
7 |
--------------------------------------------------------------------------------
/src/test/resources/nst_files/e-181.yaml:
--------------------------------------------------------------------------------
1 | [
2 | '".5',
3 | '.5"',
4 | .,
5 | 5
6 | ]
7 |
--------------------------------------------------------------------------------
/src/test/resources/nst_files/e-183.yaml:
--------------------------------------------------------------------------------
1 | key: /*comment*/
2 | value: ""
3 |
--------------------------------------------------------------------------------
/src/test/resources/nst_files/e-184.yaml:
--------------------------------------------------------------------------------
1 | key: /*comment
2 | value: ""
3 |
--------------------------------------------------------------------------------
/src/test/resources/nst_files/e-185.yaml:
--------------------------------------------------------------------------------
1 | key: value
2 | /*
3 |
--------------------------------------------------------------------------------
/src/test/resources/nst_files/e-186.yaml:
--------------------------------------------------------------------------------
1 | key: value
2 | /**/
3 |
--------------------------------------------------------------------------------
/src/test/resources/nst_files/e-187.yaml:
--------------------------------------------------------------------------------
1 | key: value
2 | /***/
3 |
--------------------------------------------------------------------------------
/src/test/resources/nst_files/e-188.yaml:
--------------------------------------------------------------------------------
1 | key: value
2 | /**//
3 |
--------------------------------------------------------------------------------
/src/test/resources/nst_files/e-189.yaml:
--------------------------------------------------------------------------------
1 | key: value
2 | /**///
3 |
--------------------------------------------------------------------------------
/src/test/resources/nst_files/e-190.yaml:
--------------------------------------------------------------------------------
1 | key: value
2 | /**///----
3 |
--------------------------------------------------------------------------------
/src/test/resources/nst_files/e-191.yaml:
--------------------------------------------------------------------------------
1 | key: value
2 |
--------------------------------------------------------------------------------
/src/test/resources/nst_files/e-192.yaml:
--------------------------------------------------------------------------------
1 | key: value
2 |
--------------------------------------------------------------------------------
/src/test/resources/nst_files/e-194.yaml:
--------------------------------------------------------------------------------
1 | key: value
2 |
--------------------------------------------------------------------------------
/src/test/resources/nst_files/e-195.yaml:
--------------------------------------------------------------------------------
1 | key: value
2 | /**/: {
3 | k2: v2
4 | }
5 |
--------------------------------------------------------------------------------
/src/test/resources/nst_files/e-197.yaml:
--------------------------------------------------------------------------------
1 | hello'
2 |
--------------------------------------------------------------------------------
/src/test/resources/nst_files/e-198.yaml:
--------------------------------------------------------------------------------
1 | hello'
2 |
--------------------------------------------------------------------------------
/src/test/resources/nst_files/e-199.yaml:
--------------------------------------------------------------------------------
1 | hello
2 |
--------------------------------------------------------------------------------
/src/test/resources/nst_files/e-2.yaml:
--------------------------------------------------------------------------------
1 | ""
2 |
--------------------------------------------------------------------------------
/src/test/resources/nst_files/e-20.yaml:
--------------------------------------------------------------------------------
1 | [
2 | 2
3 | ]
4 |
--------------------------------------------------------------------------------
/src/test/resources/nst_files/e-200.yaml:
--------------------------------------------------------------------------------
1 | hell'o
2 |
--------------------------------------------------------------------------------
/src/test/resources/nst_files/e-201.yaml:
--------------------------------------------------------------------------------
1 | "'hello"
2 |
--------------------------------------------------------------------------------
/src/test/resources/nst_files/e-202.yaml:
--------------------------------------------------------------------------------
1 | "'hello'"
2 |
--------------------------------------------------------------------------------
/src/test/resources/nst_files/e-203.yaml:
--------------------------------------------------------------------------------
1 | "\\'hello\\'"
2 |
--------------------------------------------------------------------------------
/src/test/resources/nst_files/e-204.yaml:
--------------------------------------------------------------------------------
1 | hello'
2 |
--------------------------------------------------------------------------------
/src/test/resources/nst_files/e-205.yaml:
--------------------------------------------------------------------------------
1 | [
2 | "hello']"
3 | ]
4 |
--------------------------------------------------------------------------------
/src/test/resources/nst_files/e-206.yaml:
--------------------------------------------------------------------------------
1 | [
2 | hello'
3 | ]
4 |
--------------------------------------------------------------------------------
/src/test/resources/nst_files/e-207.yaml:
--------------------------------------------------------------------------------
1 | [
2 | 'hello"'
3 | ]
4 |
--------------------------------------------------------------------------------
/src/test/resources/nst_files/e-208.yaml:
--------------------------------------------------------------------------------
1 | [
2 | 'hello"'
3 | ]
4 |
--------------------------------------------------------------------------------
/src/test/resources/nst_files/e-209.yaml:
--------------------------------------------------------------------------------
1 | [
2 | 'hello"o'
3 | ]
4 |
--------------------------------------------------------------------------------
/src/test/resources/nst_files/e-21.yaml:
--------------------------------------------------------------------------------
1 | "3"
2 |
--------------------------------------------------------------------------------
/src/test/resources/nst_files/e-210.yaml:
--------------------------------------------------------------------------------
1 | [
2 | '"'
3 | ]
4 |
--------------------------------------------------------------------------------
/src/test/resources/nst_files/e-211.yaml:
--------------------------------------------------------------------------------
1 | '"'
2 |
--------------------------------------------------------------------------------
/src/test/resources/nst_files/e-212.yaml:
--------------------------------------------------------------------------------
1 | '"hello"'
2 |
--------------------------------------------------------------------------------
/src/test/resources/nst_files/e-213.yaml:
--------------------------------------------------------------------------------
1 | '"hello'
2 |
--------------------------------------------------------------------------------
/src/test/resources/nst_files/e-214.yaml:
--------------------------------------------------------------------------------
1 | '"hi"'
2 |
--------------------------------------------------------------------------------
/src/test/resources/nst_files/e-216.yaml:
--------------------------------------------------------------------------------
1 | nil
2 |
--------------------------------------------------------------------------------
/src/test/resources/nst_files/e-217.yaml:
--------------------------------------------------------------------------------
1 | fals
2 |
--------------------------------------------------------------------------------
/src/test/resources/nst_files/e-218.yaml:
--------------------------------------------------------------------------------
1 | falsify
2 |
--------------------------------------------------------------------------------
/src/test/resources/nst_files/e-219.yaml:
--------------------------------------------------------------------------------
1 | falsetto
2 |
--------------------------------------------------------------------------------
/src/test/resources/nst_files/e-22.yaml:
--------------------------------------------------------------------------------
1 | "3"
2 | "4"
3 |
--------------------------------------------------------------------------------
/src/test/resources/nst_files/e-220.yaml:
--------------------------------------------------------------------------------
1 | truism
2 |
--------------------------------------------------------------------------------
/src/test/resources/nst_files/e-223.yaml:
--------------------------------------------------------------------------------
1 | "\0"
2 |
--------------------------------------------------------------------------------
/src/test/resources/nst_files/e-24.yaml:
--------------------------------------------------------------------------------
1 | [
2 | 3,
3 | [
4 | 4
5 | ]
6 | ]
7 |
--------------------------------------------------------------------------------
/src/test/resources/nst_files/e-25.yaml:
--------------------------------------------------------------------------------
1 | [
2 | 3,
3 | [
4 | 4,
5 | [
6 | 5
7 | ],
8 | 6
9 | ],
10 | 7,
11 | 8,
12 | 9
13 | ]
14 |
--------------------------------------------------------------------------------
/src/test/resources/nst_files/e-26.yaml:
--------------------------------------------------------------------------------
1 | [
2 | 3,
3 | [
4 | 4,
5 | [
6 | 5
7 | ],
8 | 6
9 | ],
10 | 7,
11 | 8,
12 | 9
13 | ]
14 |
--------------------------------------------------------------------------------
/src/test/resources/nst_files/e-27.yaml:
--------------------------------------------------------------------------------
1 | [
2 | 3,
3 | [
4 | 4,
5 | [
6 | 5
7 | ],
8 | 6
9 | ],
10 | 7,
11 | 8,
12 | 9
13 | ]
14 |
--------------------------------------------------------------------------------
/src/test/resources/nst_files/e-28.yaml:
--------------------------------------------------------------------------------
1 | hello: true
2 | bye: false
3 | null: ""
4 |
--------------------------------------------------------------------------------
/src/test/resources/nst_files/e-29.yaml:
--------------------------------------------------------------------------------
1 | hello: true
2 | bye: false
3 | null: !!null ""
4 |
--------------------------------------------------------------------------------
/src/test/resources/nst_files/e-30.yaml:
--------------------------------------------------------------------------------
1 | hi
2 |
--------------------------------------------------------------------------------
/src/test/resources/nst_files/e-31.yaml:
--------------------------------------------------------------------------------
1 | hi
2 | ""
3 |
--------------------------------------------------------------------------------
/src/test/resources/nst_files/e-33.yaml:
--------------------------------------------------------------------------------
1 | "\uD800\uD800"
2 |
--------------------------------------------------------------------------------
/src/test/resources/nst_files/e-34.yaml:
--------------------------------------------------------------------------------
1 | "\uD800\uDBFF"
2 |
--------------------------------------------------------------------------------
/src/test/resources/nst_files/e-35.yaml:
--------------------------------------------------------------------------------
1 | UD834UDD1E
2 |
--------------------------------------------------------------------------------
/src/test/resources/nst_files/e-36.yaml:
--------------------------------------------------------------------------------
1 | "\uDB00"
2 |
--------------------------------------------------------------------------------
/src/test/resources/nst_files/e-37.yaml:
--------------------------------------------------------------------------------
1 | "\uDB00\uDBFF"
2 |
--------------------------------------------------------------------------------
/src/test/resources/nst_files/e-40.yaml:
--------------------------------------------------------------------------------
1 | .
2 |
--------------------------------------------------------------------------------
/src/test/resources/nst_files/e-44.yaml:
--------------------------------------------------------------------------------
1 | "+."
2 |
--------------------------------------------------------------------------------
/src/test/resources/nst_files/e-46.yaml:
--------------------------------------------------------------------------------
1 | 0.0
2 |
--------------------------------------------------------------------------------
/src/test/resources/nst_files/e-54.yaml:
--------------------------------------------------------------------------------
1 | 1234
2 |
--------------------------------------------------------------------------------
/src/test/resources/nst_files/e-55.yaml:
--------------------------------------------------------------------------------
1 | "++1234"
2 |
--------------------------------------------------------------------------------
/src/test/resources/nst_files/e-59.yaml:
--------------------------------------------------------------------------------
1 | 1.23E-140
2 |
--------------------------------------------------------------------------------
/src/test/resources/nst_files/e-63.yaml:
--------------------------------------------------------------------------------
1 | .246e-142
2 |
--------------------------------------------------------------------------------
/src/test/resources/nst_files/e-64.yaml:
--------------------------------------------------------------------------------
1 | .2e-142
2 |
--------------------------------------------------------------------------------
/src/test/resources/nst_files/e-66.yaml:
--------------------------------------------------------------------------------
1 | .3
2 |
--------------------------------------------------------------------------------
/src/test/resources/nst_files/e-69.yaml:
--------------------------------------------------------------------------------
1 | 3.0
2 |
--------------------------------------------------------------------------------
/src/test/resources/nst_files/e-7.yaml:
--------------------------------------------------------------------------------
1 | "": ""
2 |
--------------------------------------------------------------------------------
/src/test/resources/nst_files/e-77.yaml:
--------------------------------------------------------------------------------
1 | 3.5
2 |
--------------------------------------------------------------------------------
/src/test/resources/nst_files/e-78.yaml:
--------------------------------------------------------------------------------
1 | .3e
2 |
--------------------------------------------------------------------------------
/src/test/resources/nst_files/e-79.yaml:
--------------------------------------------------------------------------------
1 | .3e1
2 |
--------------------------------------------------------------------------------
/src/test/resources/nst_files/e-80.yaml:
--------------------------------------------------------------------------------
1 | .3e-1
2 |
--------------------------------------------------------------------------------
/src/test/resources/nst_files/e-81.yaml:
--------------------------------------------------------------------------------
1 | .3e+1
2 |
--------------------------------------------------------------------------------
/src/test/resources/nst_files/e-82.yaml:
--------------------------------------------------------------------------------
1 | 30.0
2 |
--------------------------------------------------------------------------------
/src/test/resources/nst_files/e-83.yaml:
--------------------------------------------------------------------------------
1 | 30.0
2 |
--------------------------------------------------------------------------------
/src/test/resources/nst_files/e-85.yaml:
--------------------------------------------------------------------------------
1 | .5
2 |
--------------------------------------------------------------------------------
/src/test/resources/nst_files/e-86.yaml:
--------------------------------------------------------------------------------
1 | 0.5
2 |
--------------------------------------------------------------------------------
/src/test/resources/nst_files/e-87.yaml:
--------------------------------------------------------------------------------
1 | .5e+1
2 |
--------------------------------------------------------------------------------
/src/test/resources/nst_files/e-91.yaml:
--------------------------------------------------------------------------------
1 | .e-14234
2 |
--------------------------------------------------------------------------------
/src/test/resources/nst_files/n_0.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenHFT/Chronicle-Wire/c8ca01bb62e9b6e46318624a6a4a96b4d5b21d38/src/test/resources/nst_files/n_0.json
--------------------------------------------------------------------------------
/src/test/resources/nst_files/n_1.json:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/src/test/resources/nst_files/n_10.json:
--------------------------------------------------------------------------------
1 | [
2 | 1,
3 | 2,
4 | ]
--------------------------------------------------------------------------------
/src/test/resources/nst_files/n_101.json:
--------------------------------------------------------------------------------
1 | [
2 | "hello",
3 | "bye\n\r\t\v"
4 | ]
--------------------------------------------------------------------------------
/src/test/resources/nst_files/n_11.json:
--------------------------------------------------------------------------------
1 | [
2 | 1
3 | :
4 | 2
5 | }
--------------------------------------------------------------------------------
/src/test/resources/nst_files/n_12.json:
--------------------------------------------------------------------------------
1 | {
2 | "1": 2,
3 | }
--------------------------------------------------------------------------------
/src/test/resources/nst_files/n_125.json:
--------------------------------------------------------------------------------
1 | hello
--------------------------------------------------------------------------------
/src/test/resources/nst_files/n_127.json:
--------------------------------------------------------------------------------
1 | [
2 | 32,
--------------------------------------------------------------------------------
/src/test/resources/nst_files/n_13.json:
--------------------------------------------------------------------------------
1 | {
2 | 1: 2
3 | }
--------------------------------------------------------------------------------
/src/test/resources/nst_files/n_136.json:
--------------------------------------------------------------------------------
1 | 3.
--------------------------------------------------------------------------------
/src/test/resources/nst_files/n_137.json:
--------------------------------------------------------------------------------
1 | .3
--------------------------------------------------------------------------------
/src/test/resources/nst_files/n_139.json:
--------------------------------------------------------------------------------
1 | 0.3e
--------------------------------------------------------------------------------
/src/test/resources/nst_files/n_14.json:
--------------------------------------------------------------------------------
1 | "1": 2
2 | "2.5": [
3 | 3,
4 | 4{
5 | }{
6 | "5": [
7 | "6"
8 | ]
9 | "[7 ": ""
10 | }
11 | ]
--------------------------------------------------------------------------------
/src/test/resources/nst_files/n_140.json:
--------------------------------------------------------------------------------
1 | 0.3e+
--------------------------------------------------------------------------------
/src/test/resources/nst_files/n_145.json:
--------------------------------------------------------------------------------
1 | +3
--------------------------------------------------------------------------------
/src/test/resources/nst_files/n_147.json:
--------------------------------------------------------------------------------
1 | -3.
--------------------------------------------------------------------------------
/src/test/resources/nst_files/n_149.json:
--------------------------------------------------------------------------------
1 | .5
--------------------------------------------------------------------------------
/src/test/resources/nst_files/n_15.json:
--------------------------------------------------------------------------------
1 | {
2 | "1": 2,
3 | "2.5": [
4 | 3,
5 | 4,
6 | {},
7 | {
8 | "5": [
9 | "6"
10 | ],
11 | [
12 | 7
13 | ]
14 | }
15 | ]
16 | }
--------------------------------------------------------------------------------
/src/test/resources/nst_files/n_150.json:
--------------------------------------------------------------------------------
1 | 5.
--------------------------------------------------------------------------------
/src/test/resources/nst_files/n_151.json:
--------------------------------------------------------------------------------
1 | 5.e1
--------------------------------------------------------------------------------
/src/test/resources/nst_files/n_153.json:
--------------------------------------------------------------------------------
1 | .3e1
--------------------------------------------------------------------------------
/src/test/resources/nst_files/n_154.json:
--------------------------------------------------------------------------------
1 | .3e+1
--------------------------------------------------------------------------------
/src/test/resources/nst_files/n_155.json:
--------------------------------------------------------------------------------
1 | .3e-1
--------------------------------------------------------------------------------
/src/test/resources/nst_files/n_156.json:
--------------------------------------------------------------------------------
1 | .3e-1 .5
--------------------------------------------------------------------------------
/src/test/resources/nst_files/n_157.json:
--------------------------------------------------------------------------------
1 | .3e-1.5
--------------------------------------------------------------------------------
/src/test/resources/nst_files/n_158.json:
--------------------------------------------------------------------------------
1 | .3e+1.5
--------------------------------------------------------------------------------
/src/test/resources/nst_files/n_159.json:
--------------------------------------------------------------------------------
1 | .3e+.
--------------------------------------------------------------------------------
/src/test/resources/nst_files/n_16.json:
--------------------------------------------------------------------------------
1 | {
2 | "1": 2,
3 | "2.5": [
4 | 3,
5 | 4,
6 | {},
7 | {
8 | "5": [
9 | "6"
10 | ],
11 | "7": [
12 | 8
13 | ]
14 | }
15 | ]
--------------------------------------------------------------------------------
/src/test/resources/nst_files/n_160.json:
--------------------------------------------------------------------------------
1 | .3e+.5
--------------------------------------------------------------------------------
/src/test/resources/nst_files/n_161.json:
--------------------------------------------------------------------------------
1 | .3e+1.5
--------------------------------------------------------------------------------
/src/test/resources/nst_files/n_162.json:
--------------------------------------------------------------------------------
1 | 9.3e+1.5
--------------------------------------------------------------------------------
/src/test/resources/nst_files/n_163.json:
--------------------------------------------------------------------------------
1 | 9.e+1.5
--------------------------------------------------------------------------------
/src/test/resources/nst_files/n_164.json:
--------------------------------------------------------------------------------
1 | 9.e+
--------------------------------------------------------------------------------
/src/test/resources/nst_files/n_165.json:
--------------------------------------------------------------------------------
1 | 9.e+1
--------------------------------------------------------------------------------
/src/test/resources/nst_files/n_169.json:
--------------------------------------------------------------------------------
1 | "\".".
--------------------------------------------------------------------------------
/src/test/resources/nst_files/n_17.json:
--------------------------------------------------------------------------------
1 | {
2 | "1": 2,
3 | "2.5": [
4 | 3,
5 | 4,
6 | {},
7 | {
8 | "5": [
9 | "6"
10 | ],
11 | "7": [
12 | 8
13 | ]
14 | }
15 | ]
16 | ]
--------------------------------------------------------------------------------
/src/test/resources/nst_files/n_171.json:
--------------------------------------------------------------------------------
1 | "\"\"\"\"""
--------------------------------------------------------------------------------
/src/test/resources/nst_files/n_172.json:
--------------------------------------------------------------------------------
1 | [
2 | "\"\"\"\"",
3 | .
4 | 5
5 | ]
--------------------------------------------------------------------------------
/src/test/resources/nst_files/n_173.json:
--------------------------------------------------------------------------------
1 | [
2 | .5]
--------------------------------------------------------------------------------
/src/test/resources/nst_files/n_175.json:
--------------------------------------------------------------------------------
1 | [
2 | "\"\"\"\"",
3 | .
4 | 5
5 | ]
--------------------------------------------------------------------------------
/src/test/resources/nst_files/n_176.json:
--------------------------------------------------------------------------------
1 | [
2 | "\"\"\"\"",
3 | .
4 | 5
5 | ]
--------------------------------------------------------------------------------
/src/test/resources/nst_files/n_177.json:
--------------------------------------------------------------------------------
1 | [
2 | "\"",
3 | .
4 | 5
5 | ]
--------------------------------------------------------------------------------
/src/test/resources/nst_files/n_178.json:
--------------------------------------------------------------------------------
1 | [
2 | "\".5",
3 | .
4 | 5
5 | ]
--------------------------------------------------------------------------------
/src/test/resources/nst_files/n_179.json:
--------------------------------------------------------------------------------
1 | [
2 | "\".5",
3 | ".5\""
4 | .
5 | 5
6 | ]
--------------------------------------------------------------------------------
/src/test/resources/nst_files/n_18.json:
--------------------------------------------------------------------------------
1 | {
2 | "1": 2,
3 | "3": 4
--------------------------------------------------------------------------------
/src/test/resources/nst_files/n_180.json:
--------------------------------------------------------------------------------
1 | [
2 | "\".5",
3 | ".5\"",
4 | .
5 | 5
6 | ]
--------------------------------------------------------------------------------
/src/test/resources/nst_files/n_181.json:
--------------------------------------------------------------------------------
1 | [
2 | "\".5",
3 | ".5\"",
4 | .
5 | 5
6 | ]
--------------------------------------------------------------------------------
/src/test/resources/nst_files/n_183.json:
--------------------------------------------------------------------------------
1 | {
2 | "key": /*comment*/"value"
3 | }
--------------------------------------------------------------------------------
/src/test/resources/nst_files/n_184.json:
--------------------------------------------------------------------------------
1 | {
2 | "key":/*comment"value"}
--------------------------------------------------------------------------------
/src/test/resources/nst_files/n_185.json:
--------------------------------------------------------------------------------
1 | {
2 | "key": "value"
3 | }/*
--------------------------------------------------------------------------------
/src/test/resources/nst_files/n_186.json:
--------------------------------------------------------------------------------
1 | {
2 | "key": "value"
3 | }/**/
--------------------------------------------------------------------------------
/src/test/resources/nst_files/n_187.json:
--------------------------------------------------------------------------------
1 | {
2 | "key": "value"
3 | }/***/
--------------------------------------------------------------------------------
/src/test/resources/nst_files/n_188.json:
--------------------------------------------------------------------------------
1 | {
2 | "key": "value"
3 | }/**//
--------------------------------------------------------------------------------
/src/test/resources/nst_files/n_189.json:
--------------------------------------------------------------------------------
1 | {
2 | "key": "value"
3 | }/**///
--------------------------------------------------------------------------------
/src/test/resources/nst_files/n_19.json:
--------------------------------------------------------------------------------
1 | "1\u2"
--------------------------------------------------------------------------------
/src/test/resources/nst_files/n_190.json:
--------------------------------------------------------------------------------
1 | {
2 | "key": "value"
3 | }/**///----
--------------------------------------------------------------------------------
/src/test/resources/nst_files/n_191.json:
--------------------------------------------------------------------------------
1 | {
2 | "key": "value"
3 | }#
--------------------------------------------------------------------------------
/src/test/resources/nst_files/n_192.json:
--------------------------------------------------------------------------------
1 | {
2 | "key": "value"
3 | }#{
--------------------------------------------------------------------------------
/src/test/resources/nst_files/n_193.json:
--------------------------------------------------------------------------------
1 | {
2 | "key": "value"
3 | }#{
4 | }
--------------------------------------------------------------------------------
/src/test/resources/nst_files/n_194.json:
--------------------------------------------------------------------------------
1 | {
2 | "key": "value"
3 | }#,
--------------------------------------------------------------------------------
/src/test/resources/nst_files/n_195.json:
--------------------------------------------------------------------------------
1 | {
2 | "key": "value"
3 | /**/,
4 | "k2": "v2"
5 | }
--------------------------------------------------------------------------------
/src/test/resources/nst_files/n_197.json:
--------------------------------------------------------------------------------
1 | "hello\'"
--------------------------------------------------------------------------------
/src/test/resources/nst_files/n_198.json:
--------------------------------------------------------------------------------
1 | 'hello\''
--------------------------------------------------------------------------------
/src/test/resources/nst_files/n_199.json:
--------------------------------------------------------------------------------
1 | 'hello'
--------------------------------------------------------------------------------
/src/test/resources/nst_files/n_2.json:
--------------------------------------------------------------------------------
1 | "
--------------------------------------------------------------------------------
/src/test/resources/nst_files/n_20.json:
--------------------------------------------------------------------------------
1 | [
2 | ,2]
--------------------------------------------------------------------------------
/src/test/resources/nst_files/n_200.json:
--------------------------------------------------------------------------------
1 | 'hell\'o'
--------------------------------------------------------------------------------
/src/test/resources/nst_files/n_201.json:
--------------------------------------------------------------------------------
1 | '\'hello'
--------------------------------------------------------------------------------
/src/test/resources/nst_files/n_202.json:
--------------------------------------------------------------------------------
1 | '\'hello\''
--------------------------------------------------------------------------------
/src/test/resources/nst_files/n_203.json:
--------------------------------------------------------------------------------
1 | \'hello\'
--------------------------------------------------------------------------------
/src/test/resources/nst_files/n_204.json:
--------------------------------------------------------------------------------
1 | 'hello\'
--------------------------------------------------------------------------------
/src/test/resources/nst_files/n_205.json:
--------------------------------------------------------------------------------
1 | [
2 | 'hello\']
--------------------------------------------------------------------------------
/src/test/resources/nst_files/n_206.json:
--------------------------------------------------------------------------------
1 | [
2 | 'hello\''
3 | ]
--------------------------------------------------------------------------------
/src/test/resources/nst_files/n_207.json:
--------------------------------------------------------------------------------
1 | [
2 | 'hello"'
3 | ]
--------------------------------------------------------------------------------
/src/test/resources/nst_files/n_208.json:
--------------------------------------------------------------------------------
1 | [
2 | 'hello\"'
3 | ]
--------------------------------------------------------------------------------
/src/test/resources/nst_files/n_209.json:
--------------------------------------------------------------------------------
1 | [
2 | 'hello"o'
3 | ]
--------------------------------------------------------------------------------
/src/test/resources/nst_files/n_21.json:
--------------------------------------------------------------------------------
1 | "3
--------------------------------------------------------------------------------
/src/test/resources/nst_files/n_210.json:
--------------------------------------------------------------------------------
1 | [
2 | '"'
3 | ]
--------------------------------------------------------------------------------
/src/test/resources/nst_files/n_211.json:
--------------------------------------------------------------------------------
1 | '"'
--------------------------------------------------------------------------------
/src/test/resources/nst_files/n_212.json:
--------------------------------------------------------------------------------
1 | '"hello"'
--------------------------------------------------------------------------------
/src/test/resources/nst_files/n_213.json:
--------------------------------------------------------------------------------
1 | '"hello'
--------------------------------------------------------------------------------
/src/test/resources/nst_files/n_214.json:
--------------------------------------------------------------------------------
1 | '"hi"'
--------------------------------------------------------------------------------
/src/test/resources/nst_files/n_216.json:
--------------------------------------------------------------------------------
1 | nil
--------------------------------------------------------------------------------
/src/test/resources/nst_files/n_217.json:
--------------------------------------------------------------------------------
1 | fals
--------------------------------------------------------------------------------
/src/test/resources/nst_files/n_218.json:
--------------------------------------------------------------------------------
1 | falsify
--------------------------------------------------------------------------------
/src/test/resources/nst_files/n_219.json:
--------------------------------------------------------------------------------
1 | falsetto
--------------------------------------------------------------------------------
/src/test/resources/nst_files/n_22.json:
--------------------------------------------------------------------------------
1 | "3" "4"
--------------------------------------------------------------------------------
/src/test/resources/nst_files/n_220.json:
--------------------------------------------------------------------------------
1 | truism
--------------------------------------------------------------------------------
/src/test/resources/nst_files/n_221.json:
--------------------------------------------------------------------------------
1 | {
2 | "key"
--------------------------------------------------------------------------------
/src/test/resources/nst_files/n_222.json:
--------------------------------------------------------------------------------
1 | {
2 | "key",
3 | "key2": value
4 | }
--------------------------------------------------------------------------------
/src/test/resources/nst_files/n_223.json:
--------------------------------------------------------------------------------
1 | "\u0000"
--------------------------------------------------------------------------------
/src/test/resources/nst_files/n_23.json:
--------------------------------------------------------------------------------
1 | [
2 | 3
3 | [
4 | 4
5 | ]
--------------------------------------------------------------------------------
/src/test/resources/nst_files/n_24.json:
--------------------------------------------------------------------------------
1 | [
2 | 3
3 | [
4 | 4
5 | ]
6 | ]
--------------------------------------------------------------------------------
/src/test/resources/nst_files/n_25.json:
--------------------------------------------------------------------------------
1 | [
2 | 3,
3 | [
4 | 4,
5 | [
6 | 5
7 | ],
8 | 6
9 | ]
10 | 7,
11 | 8
12 | 9
13 | ]
--------------------------------------------------------------------------------
/src/test/resources/nst_files/n_26.json:
--------------------------------------------------------------------------------
1 | [
2 | 3,
3 | [
4 | 4,
5 | [
6 | 5
7 | ],
8 | 6
9 | ]
10 | 7,
11 | 8,
12 | 9
13 | ]
--------------------------------------------------------------------------------
/src/test/resources/nst_files/n_27.json:
--------------------------------------------------------------------------------
1 | [
2 | 3,
3 | [
4 | 4,
5 | [
6 | 5
7 | ],
8 | 6
9 | ],
10 | 7,
11 | 8
12 | 9
13 | ]
--------------------------------------------------------------------------------
/src/test/resources/nst_files/n_28.json:
--------------------------------------------------------------------------------
1 | {
2 | "hello": true,
3 | "bye": false,
4 | null
5 | }
--------------------------------------------------------------------------------
/src/test/resources/nst_files/n_29.json:
--------------------------------------------------------------------------------
1 | {
2 | "hello": true,
3 | "bye": false,
4 | null: null
5 | }
--------------------------------------------------------------------------------
/src/test/resources/nst_files/n_3.json:
--------------------------------------------------------------------------------
1 | [
2 | ,
3 | ]
--------------------------------------------------------------------------------
/src/test/resources/nst_files/n_30.json:
--------------------------------------------------------------------------------
1 | "hi
--------------------------------------------------------------------------------
/src/test/resources/nst_files/n_31.json:
--------------------------------------------------------------------------------
1 | "hi"""
--------------------------------------------------------------------------------
/src/test/resources/nst_files/n_32.json:
--------------------------------------------------------------------------------
1 | {
2 | "hi": "bye"
3 | ]
--------------------------------------------------------------------------------
/src/test/resources/nst_files/n_33.json:
--------------------------------------------------------------------------------
1 | "\uD800\uD800"
--------------------------------------------------------------------------------
/src/test/resources/nst_files/n_34.json:
--------------------------------------------------------------------------------
1 | "\uD800\uDBFF"
--------------------------------------------------------------------------------
/src/test/resources/nst_files/n_35.json:
--------------------------------------------------------------------------------
1 | "\UD834\UDD1E"
--------------------------------------------------------------------------------
/src/test/resources/nst_files/n_36.json:
--------------------------------------------------------------------------------
1 | "\uDB00"
--------------------------------------------------------------------------------
/src/test/resources/nst_files/n_37.json:
--------------------------------------------------------------------------------
1 | "\uDB00\uDBFF"
--------------------------------------------------------------------------------
/src/test/resources/nst_files/n_4.json:
--------------------------------------------------------------------------------
1 | [
2 | )
--------------------------------------------------------------------------------
/src/test/resources/nst_files/n_40.json:
--------------------------------------------------------------------------------
1 | .
--------------------------------------------------------------------------------
/src/test/resources/nst_files/n_44.json:
--------------------------------------------------------------------------------
1 | +.
--------------------------------------------------------------------------------
/src/test/resources/nst_files/n_46.json:
--------------------------------------------------------------------------------
1 | 0.e1
--------------------------------------------------------------------------------
/src/test/resources/nst_files/n_5.json:
--------------------------------------------------------------------------------
1 | []]
--------------------------------------------------------------------------------
/src/test/resources/nst_files/n_54.json:
--------------------------------------------------------------------------------
1 | +1234
--------------------------------------------------------------------------------
/src/test/resources/nst_files/n_55.json:
--------------------------------------------------------------------------------
1 | ++1234
--------------------------------------------------------------------------------
/src/test/resources/nst_files/n_59.json:
--------------------------------------------------------------------------------
1 | 123.e-142
--------------------------------------------------------------------------------
/src/test/resources/nst_files/n_6.json:
--------------------------------------------------------------------------------
1 | [
2 | }
--------------------------------------------------------------------------------
/src/test/resources/nst_files/n_63.json:
--------------------------------------------------------------------------------
1 | .246e-142
--------------------------------------------------------------------------------
/src/test/resources/nst_files/n_64.json:
--------------------------------------------------------------------------------
1 | .2e-142
--------------------------------------------------------------------------------
/src/test/resources/nst_files/n_66.json:
--------------------------------------------------------------------------------
1 | .3
--------------------------------------------------------------------------------
/src/test/resources/nst_files/n_69.json:
--------------------------------------------------------------------------------
1 | +3.
--------------------------------------------------------------------------------
/src/test/resources/nst_files/n_7.json:
--------------------------------------------------------------------------------
1 | {
2 | ,
3 | }
--------------------------------------------------------------------------------
/src/test/resources/nst_files/n_77.json:
--------------------------------------------------------------------------------
1 | +3.5
--------------------------------------------------------------------------------
/src/test/resources/nst_files/n_78.json:
--------------------------------------------------------------------------------
1 | .3e
--------------------------------------------------------------------------------
/src/test/resources/nst_files/n_79.json:
--------------------------------------------------------------------------------
1 | .3e1
--------------------------------------------------------------------------------
/src/test/resources/nst_files/n_8.json:
--------------------------------------------------------------------------------
1 | {
2 | ]
--------------------------------------------------------------------------------
/src/test/resources/nst_files/n_80.json:
--------------------------------------------------------------------------------
1 | .3e-1
--------------------------------------------------------------------------------
/src/test/resources/nst_files/n_81.json:
--------------------------------------------------------------------------------
1 | .3e+1
--------------------------------------------------------------------------------
/src/test/resources/nst_files/n_82.json:
--------------------------------------------------------------------------------
1 | 3.e1
--------------------------------------------------------------------------------
/src/test/resources/nst_files/n_83.json:
--------------------------------------------------------------------------------
1 | 3.e+1
--------------------------------------------------------------------------------
/src/test/resources/nst_files/n_85.json:
--------------------------------------------------------------------------------
1 | .5
--------------------------------------------------------------------------------
/src/test/resources/nst_files/n_86.json:
--------------------------------------------------------------------------------
1 | +.5
--------------------------------------------------------------------------------
/src/test/resources/nst_files/n_87.json:
--------------------------------------------------------------------------------
1 | .5e+1
--------------------------------------------------------------------------------
/src/test/resources/nst_files/n_9.json:
--------------------------------------------------------------------------------
1 | [
2 | "1"
3 | :
4 | 2
5 | ]
--------------------------------------------------------------------------------
/src/test/resources/nst_files/n_91.json:
--------------------------------------------------------------------------------
1 | .e-14234
--------------------------------------------------------------------------------
/src/test/resources/nst_files/y_100.json:
--------------------------------------------------------------------------------
1 | [
2 | "hello",
3 | "bye\n\r\t\b",
4 | true,
5 | false,
6 | null
7 | ]
--------------------------------------------------------------------------------
/src/test/resources/nst_files/y_102.json:
--------------------------------------------------------------------------------
1 | {
2 | "hello": true
3 | }
--------------------------------------------------------------------------------
/src/test/resources/nst_files/y_103.json:
--------------------------------------------------------------------------------
1 | {
2 | "hello": true,
3 | "bye": false
4 | }
--------------------------------------------------------------------------------
/src/test/resources/nst_files/y_104.json:
--------------------------------------------------------------------------------
1 | {
2 | "hello": true,
3 | "bye": false,
4 | "foo": [
5 | "one",
6 | "two",
7 | "three"
8 | ]
9 | }
--------------------------------------------------------------------------------
/src/test/resources/nst_files/y_105.json:
--------------------------------------------------------------------------------
1 | "hi"
--------------------------------------------------------------------------------
/src/test/resources/nst_files/y_106.json:
--------------------------------------------------------------------------------
1 | [
2 | "hi"
3 | ]
--------------------------------------------------------------------------------
/src/test/resources/nst_files/y_107.json:
--------------------------------------------------------------------------------
1 | [
2 | "hi",
3 | "bye"
4 | ]
--------------------------------------------------------------------------------
/src/test/resources/nst_files/y_108.json:
--------------------------------------------------------------------------------
1 | {
2 | "hi": "bye"
3 | }
--------------------------------------------------------------------------------
/src/test/resources/nst_files/y_109.json:
--------------------------------------------------------------------------------
1 | [
2 | "hi",
3 | "bye",
4 | 3
5 | ]
--------------------------------------------------------------------------------
/src/test/resources/nst_files/y_110.json:
--------------------------------------------------------------------------------
1 | [
2 | "hi",
3 | "bye[",
4 | 3
5 | ]
--------------------------------------------------------------------------------
/src/test/resources/nst_files/y_111.json:
--------------------------------------------------------------------------------
1 | "\u0007"
--------------------------------------------------------------------------------
/src/test/resources/nst_files/y_112.json:
--------------------------------------------------------------------------------
1 | "\u0008"
--------------------------------------------------------------------------------
/src/test/resources/nst_files/y_113.json:
--------------------------------------------------------------------------------
1 | "\u0009"
--------------------------------------------------------------------------------
/src/test/resources/nst_files/y_114.json:
--------------------------------------------------------------------------------
1 | "\u0010"
--------------------------------------------------------------------------------
/src/test/resources/nst_files/y_115.json:
--------------------------------------------------------------------------------
1 | "\u0020"
--------------------------------------------------------------------------------
/src/test/resources/nst_files/y_116.json:
--------------------------------------------------------------------------------
1 | "\u10000"
--------------------------------------------------------------------------------
/src/test/resources/nst_files/y_117.json:
--------------------------------------------------------------------------------
1 | "\u1234"
--------------------------------------------------------------------------------
/src/test/resources/nst_files/y_118.json:
--------------------------------------------------------------------------------
1 | "\u99999"
--------------------------------------------------------------------------------
/src/test/resources/nst_files/y_119.json:
--------------------------------------------------------------------------------
1 | "\ud800\udc00"
--------------------------------------------------------------------------------
/src/test/resources/nst_files/y_120.json:
--------------------------------------------------------------------------------
1 | "\uD800\uDC00"
--------------------------------------------------------------------------------
/src/test/resources/nst_files/y_121.json:
--------------------------------------------------------------------------------
1 | "\uD834\uDD1E"
--------------------------------------------------------------------------------
/src/test/resources/nst_files/y_122.json:
--------------------------------------------------------------------------------
1 | "\uDBFF\uDFFF"
--------------------------------------------------------------------------------
/src/test/resources/nst_files/y_123.json:
--------------------------------------------------------------------------------
1 | "\uFFFD"
--------------------------------------------------------------------------------
/src/test/resources/nst_files/y_124.json:
--------------------------------------------------------------------------------
1 | "\uFFFF"
--------------------------------------------------------------------------------
/src/test/resources/nst_files/y_126.json:
--------------------------------------------------------------------------------
1 | [
2 | 32,
3 | 1
4 | ]
--------------------------------------------------------------------------------
/src/test/resources/nst_files/y_128.json:
--------------------------------------------------------------------------------
1 | "\uD800\uDC00"
--------------------------------------------------------------------------------
/src/test/resources/nst_files/y_129.json:
--------------------------------------------------------------------------------
1 | "\n"
--------------------------------------------------------------------------------
/src/test/resources/nst_files/y_130.json:
--------------------------------------------------------------------------------
1 | "hello"
--------------------------------------------------------------------------------
/src/test/resources/nst_files/y_131.json:
--------------------------------------------------------------------------------
1 | "hello\u0009world"
--------------------------------------------------------------------------------
/src/test/resources/nst_files/y_132.json:
--------------------------------------------------------------------------------
1 | "hello"
--------------------------------------------------------------------------------
/src/test/resources/nst_files/y_133.json:
--------------------------------------------------------------------------------
1 | "hello\n"
--------------------------------------------------------------------------------
/src/test/resources/nst_files/y_134.json:
--------------------------------------------------------------------------------
1 | "hello"
--------------------------------------------------------------------------------
/src/test/resources/nst_files/y_135.json:
--------------------------------------------------------------------------------
1 | 3
--------------------------------------------------------------------------------
/src/test/resources/nst_files/y_138.json:
--------------------------------------------------------------------------------
1 | 0.3
--------------------------------------------------------------------------------
/src/test/resources/nst_files/y_141.json:
--------------------------------------------------------------------------------
1 | 0.3e+5
--------------------------------------------------------------------------------
/src/test/resources/nst_files/y_142.json:
--------------------------------------------------------------------------------
1 | 0.3e-5
--------------------------------------------------------------------------------
/src/test/resources/nst_files/y_143.json:
--------------------------------------------------------------------------------
1 | 0.3e5
--------------------------------------------------------------------------------
/src/test/resources/nst_files/y_144.json:
--------------------------------------------------------------------------------
1 | "hello"
--------------------------------------------------------------------------------
/src/test/resources/nst_files/y_146.json:
--------------------------------------------------------------------------------
1 | -3
--------------------------------------------------------------------------------
/src/test/resources/nst_files/y_148.json:
--------------------------------------------------------------------------------
1 | -3.1
--------------------------------------------------------------------------------
/src/test/resources/nst_files/y_152.json:
--------------------------------------------------------------------------------
1 | 0.5
--------------------------------------------------------------------------------
/src/test/resources/nst_files/y_166.json:
--------------------------------------------------------------------------------
1 | "\""
--------------------------------------------------------------------------------
/src/test/resources/nst_files/y_167.json:
--------------------------------------------------------------------------------
1 | "\"3.5"
--------------------------------------------------------------------------------
/src/test/resources/nst_files/y_168.json:
--------------------------------------------------------------------------------
1 | "\"."
--------------------------------------------------------------------------------
/src/test/resources/nst_files/y_170.json:
--------------------------------------------------------------------------------
1 | "\"....."
--------------------------------------------------------------------------------
/src/test/resources/nst_files/y_174.json:
--------------------------------------------------------------------------------
1 | [
2 | "\"\"\"\"",
3 | 0.5
4 | ]
--------------------------------------------------------------------------------
/src/test/resources/nst_files/y_182.json:
--------------------------------------------------------------------------------
1 | [
2 | "\".5",
3 | ".5\"",
4 | 0.5
5 | ]
--------------------------------------------------------------------------------
/src/test/resources/nst_files/y_196.json:
--------------------------------------------------------------------------------
1 | "\u0027"
--------------------------------------------------------------------------------
/src/test/resources/nst_files/y_215.json:
--------------------------------------------------------------------------------
1 | [
2 | 1,
3 | 2,
4 | 3
5 | ]
--------------------------------------------------------------------------------
/src/test/resources/nst_files/y_38.json:
--------------------------------------------------------------------------------
1 | "\uFFFE"
--------------------------------------------------------------------------------
/src/test/resources/nst_files/y_39.json:
--------------------------------------------------------------------------------
1 | "\uFFFF"
--------------------------------------------------------------------------------
/src/test/resources/nst_files/y_41.json:
--------------------------------------------------------------------------------
1 | ""
--------------------------------------------------------------------------------
/src/test/resources/nst_files/y_42.json:
--------------------------------------------------------------------------------
1 | []
--------------------------------------------------------------------------------
/src/test/resources/nst_files/y_43.json:
--------------------------------------------------------------------------------
1 | {}
--------------------------------------------------------------------------------
/src/test/resources/nst_files/y_45.json:
--------------------------------------------------------------------------------
1 | 0.5
--------------------------------------------------------------------------------
/src/test/resources/nst_files/y_47.json:
--------------------------------------------------------------------------------
1 | {
2 | "1": {}
3 | }
--------------------------------------------------------------------------------
/src/test/resources/nst_files/y_48.json:
--------------------------------------------------------------------------------
1 | {
2 | "1": 2
3 | }
--------------------------------------------------------------------------------
/src/test/resources/nst_files/y_49.json:
--------------------------------------------------------------------------------
1 | {
2 | "1": 2,
3 | "2.5": [
4 | 3,
5 | 4,
6 | {},
7 | {
8 | "5": [
9 | "6"
10 | ]
11 | }
12 | ]
13 | }
--------------------------------------------------------------------------------
/src/test/resources/nst_files/y_50.json:
--------------------------------------------------------------------------------
1 | {
2 | "1": 2,
3 | "2.5": [
4 | 3,
5 | 4,
6 | {},
7 | {
8 | "5": [
9 | "6"
10 | ],
11 | "7": [
12 | 8
13 | ]
14 | }
15 | ]
16 | }
--------------------------------------------------------------------------------
/src/test/resources/nst_files/y_51.json:
--------------------------------------------------------------------------------
1 | 1234
--------------------------------------------------------------------------------
/src/test/resources/nst_files/y_52.json:
--------------------------------------------------------------------------------
1 | -1234
--------------------------------------------------------------------------------
/src/test/resources/nst_files/y_53.json:
--------------------------------------------------------------------------------
1 | {
2 | "1": 2,
3 | "3": 4
4 | }
--------------------------------------------------------------------------------
/src/test/resources/nst_files/y_56.json:
--------------------------------------------------------------------------------
1 | 123.456e142
--------------------------------------------------------------------------------
/src/test/resources/nst_files/y_57.json:
--------------------------------------------------------------------------------
1 | 123.456e-142
--------------------------------------------------------------------------------
/src/test/resources/nst_files/y_58.json:
--------------------------------------------------------------------------------
1 | 123.456e+142
--------------------------------------------------------------------------------
/src/test/resources/nst_files/y_60.json:
--------------------------------------------------------------------------------
1 | "1\u2000"
--------------------------------------------------------------------------------
/src/test/resources/nst_files/y_61.json:
--------------------------------------------------------------------------------
1 | "1\u20001"
--------------------------------------------------------------------------------
/src/test/resources/nst_files/y_62.json:
--------------------------------------------------------------------------------
1 | 2
--------------------------------------------------------------------------------
/src/test/resources/nst_files/y_65.json:
--------------------------------------------------------------------------------
1 | 3
--------------------------------------------------------------------------------
/src/test/resources/nst_files/y_67.json:
--------------------------------------------------------------------------------
1 | "3"
--------------------------------------------------------------------------------
/src/test/resources/nst_files/y_68.json:
--------------------------------------------------------------------------------
1 | [
2 | 3
3 | ]
--------------------------------------------------------------------------------
/src/test/resources/nst_files/y_70.json:
--------------------------------------------------------------------------------
1 | 3.2e+1
--------------------------------------------------------------------------------
/src/test/resources/nst_files/y_71.json:
--------------------------------------------------------------------------------
1 | [
2 | 3,
3 | [
4 | 4
5 | ]
6 | ]
--------------------------------------------------------------------------------
/src/test/resources/nst_files/y_72.json:
--------------------------------------------------------------------------------
1 | [
2 | 3,
3 | [
4 | 4,
5 | [
6 | 5
7 | ]
8 | ]
9 | ]
--------------------------------------------------------------------------------
/src/test/resources/nst_files/y_73.json:
--------------------------------------------------------------------------------
1 | [
2 | 3,
3 | [
4 | 4,
5 | [
6 | 5
7 | ],
8 | 6
9 | ]
10 | ]
--------------------------------------------------------------------------------
/src/test/resources/nst_files/y_74.json:
--------------------------------------------------------------------------------
1 | [
2 | 3,
3 | [
4 | 4,
5 | [
6 | 5
7 | ],
8 | 6
9 | ],
10 | 7
11 | ]
--------------------------------------------------------------------------------
/src/test/resources/nst_files/y_75.json:
--------------------------------------------------------------------------------
1 | [
2 | 3,
3 | [
4 | 4,
5 | [
6 | 5
7 | ],
8 | 6
9 | ],
10 | 7,
11 | 8
12 | ]
--------------------------------------------------------------------------------
/src/test/resources/nst_files/y_76.json:
--------------------------------------------------------------------------------
1 | [
2 | 3,
3 | [
4 | 4,
5 | [
6 | 5
7 | ],
8 | 6
9 | ],
10 | 7,
11 | 8,
12 | 9
13 | ]
--------------------------------------------------------------------------------
/src/test/resources/nst_files/y_84.json:
--------------------------------------------------------------------------------
1 | 3e+1
--------------------------------------------------------------------------------
/src/test/resources/nst_files/y_88.json:
--------------------------------------------------------------------------------
1 | [
2 | 7
3 | ]
--------------------------------------------------------------------------------
/src/test/resources/nst_files/y_89.json:
--------------------------------------------------------------------------------
1 | [
2 | 7
3 | ]
--------------------------------------------------------------------------------
/src/test/resources/nst_files/y_90.json:
--------------------------------------------------------------------------------
1 | [
2 | 7
3 | ]
--------------------------------------------------------------------------------
/src/test/resources/nst_files/y_92.json:
--------------------------------------------------------------------------------
1 | "hello"
--------------------------------------------------------------------------------
/src/test/resources/nst_files/y_93.json:
--------------------------------------------------------------------------------
1 | [
2 | "hello"
3 | ]
--------------------------------------------------------------------------------
/src/test/resources/nst_files/y_94.json:
--------------------------------------------------------------------------------
1 | [
2 | "hello",
3 | "bye"
4 | ]
--------------------------------------------------------------------------------
/src/test/resources/nst_files/y_95.json:
--------------------------------------------------------------------------------
1 | [
2 | "hello",
3 | "bye\n"
4 | ]
--------------------------------------------------------------------------------
/src/test/resources/nst_files/y_96.json:
--------------------------------------------------------------------------------
1 | [
2 | "hello",
3 | "bye\n\r\t"
4 | ]
--------------------------------------------------------------------------------
/src/test/resources/nst_files/y_97.json:
--------------------------------------------------------------------------------
1 | [
2 | "hello",
3 | "bye\n\r\t\b"
4 | ]
--------------------------------------------------------------------------------
/src/test/resources/nst_files/y_98.json:
--------------------------------------------------------------------------------
1 | [
2 | "hello",
3 | "bye\n\r\t\b",
4 | true
5 | ]
--------------------------------------------------------------------------------
/src/test/resources/nst_files/y_99.json:
--------------------------------------------------------------------------------
1 | [
2 | "hello",
3 | "bye\n\r\t\b",
4 | true,
5 | false
6 | ]
--------------------------------------------------------------------------------
/src/test/resources/snake-yaml-examples/any-object-example-b.yaml:
--------------------------------------------------------------------------------
1 | none: [
2 | ~,
3 | null
4 | ],
5 | bool: [
6 | true,
7 | false,
8 | on,
9 | off
10 | ],
11 | int: 42
12 | float: 3.14159
13 | list: [
14 | LITE,
15 | RES_ACID,
16 | SUS_DEXT
17 | ],
18 | dict: {
19 | hp: 13,
20 | sp: 5
21 | }
22 |
--------------------------------------------------------------------------------
/src/test/resources/snake-yaml-examples/any-object-example.yaml:
--------------------------------------------------------------------------------
1 | none: [~, null]
2 | bool: [true, false, on, off]
3 | int: 42
4 | float: 3.14159
5 | list: [LITE, RES_ACID, SUS_DEXT]
6 | dict: {hp: 13, sp: 5}
7 |
--------------------------------------------------------------------------------
/src/test/resources/snake-yaml-examples/list-bean-1.yaml:
--------------------------------------------------------------------------------
1 | children:
2 | - aaa
3 | - bbb
4 | developers:
5 | - name: Fred
6 | role: creator
7 | - name: John
8 | role: committer
9 | name: Bean123
10 |
--------------------------------------------------------------------------------
/src/test/resources/snake-yaml-examples/list-bean-2.yaml:
--------------------------------------------------------------------------------
1 | children:
2 | - aaa
3 | - bbb
4 | developers:
5 | - !!examples.collections.TypeSafeListWithInterfaceTest$Developer
6 | name: Fred
7 | role: creator
8 | - !!examples.collections.TypeSafeListWithInterfaceTest$Committer
9 | key: 34
10 | name: John
11 | role: committer
12 | name: Bean123
--------------------------------------------------------------------------------
/src/test/resources/snake-yaml-examples/list-bean-2b.yaml:
--------------------------------------------------------------------------------
1 | children: [
2 | aaa,
3 | bbb
4 | ],
5 | developers: [
6 | !Developer {
7 | name: Fred,
8 | role: creator
9 | },
10 | !Committer {
11 | key: "34",
12 | name: John,
13 | role: committer
14 | }
15 | ],
16 | name: Bean123
17 |
--------------------------------------------------------------------------------
/src/test/resources/snake-yaml-examples/list-bean-3.yaml:
--------------------------------------------------------------------------------
1 | developers:
2 | - name: Fred
3 | role: creator
4 | - name: John
5 | role: committer
6 | name: Bean123
7 |
--------------------------------------------------------------------------------
/src/test/resources/snake-yaml-examples/list-bean-4.yaml:
--------------------------------------------------------------------------------
1 | children:
2 | - aaa
3 | - bbb
4 | developers:
5 | - !!examples.collections.TypeSafeListNoGerericsTest$Developer
6 | name: Fred
7 | role: creator
8 | - !!examples.collections.TypeSafeListNoGerericsTest$Developer
9 | name: John
10 | role: committer
11 | name: Bean123
12 |
13 |
--------------------------------------------------------------------------------
/src/test/resources/snake-yaml-examples/list-bean-4b.yaml:
--------------------------------------------------------------------------------
1 | children: [
2 | aaa,
3 | bbb
4 | ],
5 | developers: [
6 | !Developer {
7 | name: Fred,
8 | role: creator
9 | },
10 | !Developer {
11 | name: John,
12 | role: committer
13 | }
14 | ],
15 | name: Bean123
16 |
--------------------------------------------------------------------------------
/src/test/resources/snake-yaml-examples/map-bean-1.yaml:
--------------------------------------------------------------------------------
1 | name: Bean123
2 | properties:
3 | key2: value2
4 | key1: value1
5 | sorted:
6 | '1': one
7 | '2': two
--------------------------------------------------------------------------------
/src/test/resources/snake-yaml-examples/map-bean-10.yaml:
--------------------------------------------------------------------------------
1 | data:
2 | aaa: 1
3 | bbb: 2
4 | zzz: 3
5 | developers:
6 | team1:
7 | name: Fred
8 | role: creator
9 | team2:
10 | name: John
11 | role: committer
12 | name: Bean123
13 |
--------------------------------------------------------------------------------
/src/test/resources/snake-yaml-examples/map-bean-10b.yaml:
--------------------------------------------------------------------------------
1 | data: {
2 | aaa: 1,
3 | bbb: 2,
4 | zzz: 3
5 | }
6 | developers: {
7 | team1: {
8 | name: Fred,
9 | role: creator
10 | },
11 | team2: {
12 | name: Bean123,
13 | role: committer
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/src/test/resources/snake-yaml-examples/map-bean-11.yaml:
--------------------------------------------------------------------------------
1 | data:
2 | aaa: 1
3 | bbb: 2
4 | developers:
5 | team1:
6 | name: Fred
7 | role: creator
8 | team2:
9 | name: John
10 | role: committer
11 | team3: !!examples.collections.TypeSafeMapTest$Developer222
12 | name: Bill
13 | role: head
14 | name: Bean123
15 |
16 |
--------------------------------------------------------------------------------
/src/test/resources/snake-yaml-examples/map-bean-11b.yaml:
--------------------------------------------------------------------------------
1 | data: {
2 | aaa: 1,
3 | bbb: 2
4 | }
5 | developers: {
6 | team1: {
7 | name: Fred,
8 | role: creator
9 | },
10 | team2: {
11 | name: John,
12 | role: committer
13 | },
14 | team3: !Developer {
15 | name: Bill,
16 | role: head
17 | }
18 | }
19 | name: Bean123
20 |
--------------------------------------------------------------------------------
/src/test/resources/snake-yaml-examples/map-bean-12.yaml:
--------------------------------------------------------------------------------
1 | data:
2 | ? name: Andy
3 | role: tester
4 | : BLACK
5 | ? name: Lisa
6 | role: owner
7 | : RED
8 | developers:
9 | WHITE:
10 | name: Fred
11 | role: creator
12 | BLACK:
13 | name: John
14 | role: committer
15 | name: Bean123
16 |
17 |
--------------------------------------------------------------------------------
/src/test/resources/snake-yaml-examples/map-bean-12b.yaml:
--------------------------------------------------------------------------------
1 | data: {
2 | ? { name: Andy,
3 | role: tester }
4 | : BLACK
5 | ? { name: Lisa,
6 | role: owner }
7 | : RED
8 | }
9 | developers: {
10 | WHITE: {
11 | name: Fred,
12 | role: creator
13 | },
14 | BLACK: {
15 | name: John,
16 | role: committer
17 | }
18 | }
19 | name: Bean123
20 |
21 |
--------------------------------------------------------------------------------
/src/test/resources/snake-yaml-examples/map-bean-13.yaml:
--------------------------------------------------------------------------------
1 | data:
2 | ? name: Andy
3 | role: tester
4 | : BLACK
5 | ? !!examples.collections.TypeSafeMap2Test$SuperMan
6 | name: Bill
7 | role: cleaner
8 | smart: false
9 | : BLACK
10 | ? name: Lisa
11 | role: owner
12 | : RED
13 | developers:
14 | WHITE:
15 | name: Fred
16 | role: creator
17 | RED: !!examples.collections.TypeSafeMap2Test$SuperMan
18 | name: Jason
19 | role: contributor
20 | smart: true
21 | BLACK:
22 | name: John
23 | role: committer
24 | name: Bean123
25 |
26 |
--------------------------------------------------------------------------------
/src/test/resources/snake-yaml-examples/map-bean-13b.yaml:
--------------------------------------------------------------------------------
1 | data: {
2 | ? { name: Andy,
3 | role: tester }
4 | : BLACK
5 | ? !SuperMan {
6 | name: Bill,
7 | role: cleanerl
8 | smart: false }
9 | : BLACK
10 | ? { name: Lisa,
11 | role: owner }
12 | : RED
13 | }
14 | developers: {
15 | WHITE: {
16 | name: Fred,
17 | role: creator
18 | },
19 | RED: !SuperMan {
20 | name: Jason,
21 | role: contributor,
22 | smart: true
23 | },
24 | BLACK: {
25 | name: John,
26 | role: committer
27 | }
28 | }
29 | name: Bean123
30 |
31 |
--------------------------------------------------------------------------------
/src/test/resources/snake-yaml-examples/map-bean-1b.yaml:
--------------------------------------------------------------------------------
1 | name: Bean123
2 | properties: {
3 | key2: value2,
4 | key1: value1
5 | }
6 | sorted: {
7 | "1": one,
8 | "2": two
9 | }
10 |
--------------------------------------------------------------------------------
/src/test/resources/snake-yaml-examples/map-bean-2.yaml:
--------------------------------------------------------------------------------
1 | - {'1': one, '2': two}
2 | - {key2: value2, key1: value1}
3 | - aaa
4 |
--------------------------------------------------------------------------------
/src/test/resources/snake-yaml-examples/map-bean-2b.yaml:
--------------------------------------------------------------------------------
1 | - {
2 | "1": one,
3 | "2": two
4 | }
5 | - {
6 | key2: value2,
7 | key1: value1
8 | }
9 | - aaa
10 |
--------------------------------------------------------------------------------
/src/test/resources/snake-yaml-examples/map-recursive-1.yaml:
--------------------------------------------------------------------------------
1 | &id001
2 | '1': one
3 | '2': two
4 | '3': *id001
5 |
--------------------------------------------------------------------------------
/src/test/resources/snake-yaml-examples/map-recursive-1_1.yaml:
--------------------------------------------------------------------------------
1 | &id001
2 | '2': two
3 | '1': one
4 | '3': *id001
5 |
--------------------------------------------------------------------------------
/src/test/resources/snake-yaml-examples/map-recursive-2.yaml:
--------------------------------------------------------------------------------
1 | &id001
2 | key3: *id001
3 | key2: value2
4 | key1: value1
5 |
--------------------------------------------------------------------------------
/src/test/resources/snake-yaml-examples/map-recursive-3.yaml:
--------------------------------------------------------------------------------
1 | &id001 !!java.util.SortedMap
2 | '2': two
3 | '1': one
4 | '3': *id001
5 |
--------------------------------------------------------------------------------
/src/test/resources/snake-yaml-examples/map-recursive-4.yaml:
--------------------------------------------------------------------------------
1 | &id001 !!java.util.Properties
2 | key3: *id001
3 | key2: value2
4 | key1: value1
5 |
--------------------------------------------------------------------------------
/src/test/resources/snake-yaml-examples/set-bean-1.yaml:
--------------------------------------------------------------------------------
1 | developers: !!set [
2 | { name: John,
3 | role: founder },
4 | { name: Karl,
5 | role: user }
6 | ]
7 | name: Bean123
8 | sorted: !!set [
9 | one,
10 | three,
11 | two ]
--------------------------------------------------------------------------------
/src/test/resources/snake-yaml-examples/set-bean-1b.yaml:
--------------------------------------------------------------------------------
1 | developers: !!set [
2 | {
3 | name: John,
4 | role: founder
5 | },
6 | {
7 | name: Karl,
8 | role: user
9 | }
10 | ],
11 | name: Bean123
12 | sorted: !!set [
13 | one,
14 | three,
15 | two
16 | ]
--------------------------------------------------------------------------------
/src/test/resources/snake-yaml-examples/set-bean-2.yaml:
--------------------------------------------------------------------------------
1 | developers: !!set
2 | ? name: Karl
3 | role: user
4 | : null
5 | ? name: John
6 | role: founder
7 | : null
8 |
9 | name: Bean123
10 |
11 | sorted: !!set
12 | two: null
13 | one: null
14 | three: null
--------------------------------------------------------------------------------
/src/test/resources/snake-yaml-examples/set-bean-3.yaml:
--------------------------------------------------------------------------------
1 | &id001 !!set
2 | ? !!examples.collections.TypeSafeSetImplementationsTest$Box
3 | id: id123
4 | set: *id001
5 | : null
6 | 111: null
7 | aaa: null
8 |
--------------------------------------------------------------------------------
/src/test/resources/snake-yaml-examples/set-bean-4.yaml:
--------------------------------------------------------------------------------
1 | !!set {bbb: null, aaa: null, zzz: null}
--------------------------------------------------------------------------------
/src/test/resources/snake-yaml-examples/set-bean-5.yaml:
--------------------------------------------------------------------------------
1 | !!java.util.SortedSet {zzz: null, aaa: null, bbb: null}
--------------------------------------------------------------------------------
/src/test/resources/snake-yaml-examples/set-bean-6.yaml:
--------------------------------------------------------------------------------
1 | developers: !!set
2 | ? !!examples.collections.TypeSafeSetImplementationsTest$SuperDeveloper
3 | name: Bill
4 | role: super
5 | : null
6 | ? name: John
7 | role: founder
8 | : null
9 | ? name: Karl
10 | role: user
11 | : null
12 | name: Bean123
13 | sorted: !!set
14 | one: null
15 | three: null
16 | two: null
--------------------------------------------------------------------------------
/src/test/resources/yaml/complex-mapping.yaml:
--------------------------------------------------------------------------------
1 | ? { MyField: parent, Id: 1 }: {
2 | ? !net.openhft.chronicle.wire.MyMarshallable { MyField: key1, Id: 1 }: value1,
3 | ? !net.openhft.chronicle.wire.MyMarshallable { MyField: key2, Id: 2 }: value2
4 | }
5 |
--------------------------------------------------------------------------------
/src/test/resources/yaml/int-mapping-incomplete.yaml:
--------------------------------------------------------------------------------
1 | example: {
2 | ? !int
3 |
--------------------------------------------------------------------------------
/src/test/resources/yaml/int-mapping.yaml:
--------------------------------------------------------------------------------
1 | example: {
2 | ? !int 1: !int 11,
3 | ? !int 2: !int 2,
4 | ? !int 3: !int 3
5 | }
6 |
--------------------------------------------------------------------------------
/src/test/resources/yaml/k8s/example1.yaml:
--------------------------------------------------------------------------------
1 | ---
2 | apiVersion: v1
3 | kind: Pod
4 | metadata:
5 | name: frontend
6 | spec:
7 | containers:
8 | - name: app
9 | image: images.my-company.example/app:v4
10 | resources:
11 | requests:
12 | memory: "64Mi"
13 | cpu: "250m"
14 | limits:
15 | memory: "128Mi"
16 | cpu: "500m"
17 | - name: log-aggregator
18 | image: images.my-company.example/log-aggregator:v6
19 | resources:
20 | requests:
21 | memory: "64Mi"
22 | cpu: "250m"
23 | limits:
24 | memory: "128Mi"
25 | cpu: "500m"
26 |
--------------------------------------------------------------------------------
/src/test/resources/yaml/k8s/example2.yaml:
--------------------------------------------------------------------------------
1 | apiVersion: v1
2 | kind: Pod
3 | metadata:
4 | name: frontend
5 | spec:
6 | containers:
7 | - name: app
8 | image: images.my-company.example/app:v4
9 | resources:
10 | requests:
11 | ephemeral-storage: "2Gi"
12 | limits:
13 | ephemeral-storage: "4Gi"
14 | volumeMounts:
15 | - name: ephemeral
16 | mountPath: "/tmp"
17 | - name: log-aggregator
18 | image: images.my-company.example/log-aggregator:v6
19 | resources:
20 | requests:
21 | ephemeral-storage: "2Gi"
22 | limits:
23 | ephemeral-storage: "4Gi"
24 | volumeMounts:
25 | - name: ephemeral
26 | mountPath: "/tmp"
27 | volumes:
28 | - name: ephemeral
29 | emptyDir: {}
30 |
--------------------------------------------------------------------------------
/src/test/resources/yaml/k8s/example3.yaml:
--------------------------------------------------------------------------------
1 | apiVersion: apps/v1
2 | kind: Deployment
3 | metadata:
4 | name: nginx-deployment
5 | spec:
6 | selector:
7 | matchLabels:
8 | app: nginx
9 | replicas: 2 # tells deployment to run 2 pods matching the template
10 | template:
11 | metadata:
12 | labels:
13 | app: nginx
14 | spec:
15 | containers:
16 | - name: nginx
17 | image: nginx:1.14.2
18 | ports:
19 | - containerPort: 80
20 |
--------------------------------------------------------------------------------
/src/test/resources/yaml/k8s/example7.yaml:
--------------------------------------------------------------------------------
1 | containers:
2 | - env:
3 | - name: POD_ID
4 | valueFrom: # etc etc
5 | - name: LOG_PATH
6 | value: /var/log/mycompany/$(POD_ID)/logs
7 |
--------------------------------------------------------------------------------
/src/test/resources/yaml/k8s/example9.yaml:
--------------------------------------------------------------------------------
1 | kind: List
2 | apiVersion: v1
3 | items:
4 | - kind: ServiceAccount
5 | apiVersion: v1
6 | metadata:
7 | name: sdn
8 | namespace: openshift-sdn
9 | - apiVersion: authorization.openshift.io/v1
10 | kind: ClusterRoleBinding
11 | metadata:
12 | name: sdn-cluster-reader
13 | roleRef:
14 | name: cluster-reader
15 | subjects:
16 | - kind: ServiceAccount
17 | name: sdn
18 | namespace: openshift-sdn
19 | - apiVersion: authorization.openshift.io/v1
20 | kind: ClusterRoleBinding
21 | metadata:
22 | name: sdn-reader
23 | roleRef:
24 | name: system:sdn-reader
25 | subjects:
26 | - kind: ServiceAccount
27 | name: sdn
28 | namespace: openshift-sdn
29 | - apiVersion: authorization.openshift.io/v1
30 | kind: ClusterRoleBinding
31 | metadata:
32 | name: sdn-node-proxier
33 | roleRef:
34 | name: system:node-proxier
35 | subjects:
36 | - kind: ServiceAccount
37 | name: sdn
38 | namespace: openshift-sdn
39 | # TODO: PSP binding
40 |
--------------------------------------------------------------------------------
/src/test/resources/yaml/sample1.yaml:
--------------------------------------------------------------------------------
1 | ladderDefinitions: [
2 | !LadderDefinition {
3 | ccyPair: NZDUSD,
4 | name: NZDUSD-CNX,
5 | ecns: [
6 | CNX
7 | ],
8 | maxPriceMoveInPipsFromTopOfBook: 400,
9 | }
10 | ]
11 | ---
12 |
--------------------------------------------------------------------------------
/src/test/resources/yaml/sample2.yaml:
--------------------------------------------------------------------------------
1 | --- !!meta-data
2 | !net.openhft.chronicle.wire.DemarshallableObject {
3 | name: test,
4 | value: 12345
5 | }
6 |
--------------------------------------------------------------------------------
/src/test/resources/yaml/services.yaml:
--------------------------------------------------------------------------------
1 | # Copyright 2021 - http://chronicle.software
2 | {
3 | services: {
4 | fix-web-gateway: {
5 | # 534534
6 |
7 | inputs: #523523523
8 | [
9 | web-gateway-periodic-updates,
10 |
11 | # errwe
12 | session-state-updates,
13 | fix-config-out,
14 | fix-search-out
15 | ]
16 | }
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/src/test/resources/yaml/spec/2_10_NodeAppearsTwiceInThisDocument.out.yaml:
--------------------------------------------------------------------------------
1 | hr: [
2 | Mark McGwire,
3 | Sammy Sosa
4 | ]
5 | rbi: [
6 | Sammy Sosa,
7 | Ken Griffey
8 | ]
9 |
--------------------------------------------------------------------------------
/src/test/resources/yaml/spec/2_10_NodeAppearsTwiceInThisDocument.yaml:
--------------------------------------------------------------------------------
1 | ---
2 | hr:
3 | - Mark McGwire
4 | # Following node labeled SS
5 | - &SS Sammy Sosa
6 | rbi:
7 | - *SS # Subsequent occurrence
8 | - Ken Griffey
9 |
--------------------------------------------------------------------------------
/src/test/resources/yaml/spec/2_11MappingBetweenSequences.yaml:
--------------------------------------------------------------------------------
1 | ? - Detroit Tigers
2 | - Chicago cubs
3 | :
4 | - 2001-07-23
5 |
6 | ? [ New York Yankees,
7 | Atlanta Braves ]
8 | : [ 2001-07-02, 2001-08-12,
9 | 2001-08-14 ]
10 |
--------------------------------------------------------------------------------
/src/test/resources/yaml/spec/2_12CompactNestedMapping.out.yaml:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | item: Super Hoop,
4 | quantity: 1
5 | },
6 | {
7 | item: Basketball,
8 | quantity: 4
9 | },
10 | {
11 | item: Big Shoes,
12 | quantity: 1
13 | }
14 | ]
15 |
--------------------------------------------------------------------------------
/src/test/resources/yaml/spec/2_12CompactNestedMapping.yaml:
--------------------------------------------------------------------------------
1 | ---
2 | # Products purchased
3 | - item : Super Hoop
4 | quantity: 1
5 | - item : Basketball
6 | quantity: 4
7 | - item : Big Shoes
8 | quantity: 1
9 |
--------------------------------------------------------------------------------
/src/test/resources/yaml/spec/2_13InLiteralsNewlinesArePreserved.out.yaml:
--------------------------------------------------------------------------------
1 | "\\//||\\/||\n// || ||__\n"
2 |
--------------------------------------------------------------------------------
/src/test/resources/yaml/spec/2_13InLiteralsNewlinesArePreserved.yaml:
--------------------------------------------------------------------------------
1 | # ASCII Art
2 | --- |
3 | \//||\/||
4 | // || ||__
5 |
--------------------------------------------------------------------------------
/src/test/resources/yaml/spec/2_14InThefoldedScalars.out.yaml:
--------------------------------------------------------------------------------
1 | Mark McGwire's year was crippled by a knee injury.
2 |
--------------------------------------------------------------------------------
/src/test/resources/yaml/spec/2_14InThefoldedScalars.yaml:
--------------------------------------------------------------------------------
1 | --- >
2 | Mark McGwire's
3 | year was crippled
4 | by a knee injury.
5 |
--------------------------------------------------------------------------------
/src/test/resources/yaml/spec/2_15FoldedNewlines.yaml:
--------------------------------------------------------------------------------
1 | >
2 | Sammy Sosa completed another
3 | fine season with great stats.
4 |
5 | 63 Home Runs
6 | 0.288 Batting Average
7 |
8 | What a year!
9 |
--------------------------------------------------------------------------------
/src/test/resources/yaml/spec/2_16IndentationDeterminesScope.yaml:
--------------------------------------------------------------------------------
1 | name: Mark McGwire
2 | accomplishment: >
3 | Mark set a major league
4 | home run record in 1998.
5 | stats: |
6 | 65 Home Runs
7 | 0.278 Batting Average
8 |
--------------------------------------------------------------------------------
/src/test/resources/yaml/spec/2_17QuotedScalars.out.yaml:
--------------------------------------------------------------------------------
1 | unicode: "Sosa did fine.\u263A"
2 | control: "\b1998\t1999\t2000\n"
3 | hex esc: "\r\n is \r\n"
4 | single: '"Howdy!" he cried.'
5 | quoted: " # Not a 'comment'."
6 | tie-fighter: "|\\-*-/|"
7 |
--------------------------------------------------------------------------------
/src/test/resources/yaml/spec/2_17QuotedScalars.yaml:
--------------------------------------------------------------------------------
1 | unicode: "Sosa did fine.\u263A"
2 | control: "\b1998\t1999\t2000\n"
3 | hex esc: "\x0d\x0a is \r\n"
4 |
5 | single: '"Howdy!" he cried.'
6 | quoted: ' # Not a ''comment''.'
7 | tie-fighter: '|\-*-/|'
8 |
--------------------------------------------------------------------------------
/src/test/resources/yaml/spec/2_18Multi_lineFlowScalars.yaml:
--------------------------------------------------------------------------------
1 | plain:
2 | This unquoted scalar
3 | spans many lines.
4 |
5 | quoted: "So does this
6 | quoted scalar.\n"
7 |
--------------------------------------------------------------------------------
/src/test/resources/yaml/spec/2_18Multi_lineFlowScalarsFixed.yaml:
--------------------------------------------------------------------------------
1 | plain: "
2 | This unquoted scalar
3 | spans many lines."
4 | quoted: "So does this
5 | quoted scalar.\n"
6 |
--------------------------------------------------------------------------------
/src/test/resources/yaml/spec/2_19Integers.out.yaml:
--------------------------------------------------------------------------------
1 | canonical: 12345
2 | decimal: 12345
3 | sexagesimal: !Time 03:25:45
4 | octal: 12
5 | hexadecimal: 12
6 |
--------------------------------------------------------------------------------
/src/test/resources/yaml/spec/2_19Integers.yaml:
--------------------------------------------------------------------------------
1 | canonical: 12345
2 | decimal: +12_345
3 | sexagesimal: 3:25:45
4 | octal: 0o14
5 | hexadecimal: 0xC
6 |
--------------------------------------------------------------------------------
/src/test/resources/yaml/spec/2_1_SequenceOfScalars.out.yaml:
--------------------------------------------------------------------------------
1 | [
2 | Mark McGwire,
3 | Sammy Sosa,
4 | Ken Griffey
5 | ]
6 |
--------------------------------------------------------------------------------
/src/test/resources/yaml/spec/2_1_SequenceOfScalars.yaml:
--------------------------------------------------------------------------------
1 | - Mark McGwire
2 | - Sammy Sosa
3 | - Ken Griffey
4 |
--------------------------------------------------------------------------------
/src/test/resources/yaml/spec/2_20FloatingPoint.yaml:
--------------------------------------------------------------------------------
1 | canonical: 1.23015e+3
2 | exponential: 12.3015e+02
3 | sexagesimal: 20:30.15
4 | fixed: 1_230.15
5 | negative infinity: -.inf
6 | not a number: .NaN
7 |
--------------------------------------------------------------------------------
/src/test/resources/yaml/spec/2_21Miscellaneous.yaml:
--------------------------------------------------------------------------------
1 | null:
2 | booleans: [ true, false ]
3 | string: '012345'
4 |
--------------------------------------------------------------------------------
/src/test/resources/yaml/spec/2_21MiscellaneousBis.out.yaml:
--------------------------------------------------------------------------------
1 | null: ~
2 | true: yes
3 | false: no
4 | string: "12345"
5 |
--------------------------------------------------------------------------------
/src/test/resources/yaml/spec/2_21MiscellaneousBis.yaml:
--------------------------------------------------------------------------------
1 | null: ~
2 | true: yes
3 | false: no
4 | string: '12345'
5 |
--------------------------------------------------------------------------------
/src/test/resources/yaml/spec/2_21MiscellaneousFixed.yaml:
--------------------------------------------------------------------------------
1 | {
2 | null: ,
3 | booleans: [ true, false ],
4 | string: '012345'
5 | }
6 |
--------------------------------------------------------------------------------
/src/test/resources/yaml/spec/2_22Timestamps.yaml:
--------------------------------------------------------------------------------
1 | canonical: 2001-12-15T02:59:43.1Z
2 | iso8601: 2001-12-14t21:59:43.10-05:00
3 | spaced: 2001-12-14 21:59:43.10 -5
4 | date: 2002-12-14
5 |
--------------------------------------------------------------------------------
/src/test/resources/yaml/spec/2_23VariousExplicitTags.out.yaml:
--------------------------------------------------------------------------------
1 | not-date: "2002-04-28"
2 | picture: !!binary R0lGODlhDAAMAIQAAP//9/X17unp5WZmZgAAAOfn515eXvPz7Y6OjuDg4J+fn5OTk6enp56enmleECcgggoBADs=
3 | application specific tag: "The semantics of the tag\nabove may be different for\ndifferent documents.\n"
4 |
--------------------------------------------------------------------------------
/src/test/resources/yaml/spec/2_23VariousExplicitTags.yaml:
--------------------------------------------------------------------------------
1 | ---
2 | not-date: !!str 2002-04-28
3 |
4 | picture: !!binary |
5 | R0lGODlhDAAMAIQAAP//9/X
6 | 17unp5WZmZgAAAOfn515eXv
7 | Pz7Y6OjuDg4J+fn5OTk6enp
8 | 56enmleECcgggoBADs=
9 |
10 | application specific tag: !something |
11 | The semantics of the tag
12 | above may be different for
13 | different documents.
14 |
--------------------------------------------------------------------------------
/src/test/resources/yaml/spec/2_24GlobalTags.yaml:
--------------------------------------------------------------------------------
1 | %TAG ! tag:clarkevans.com,2002:
2 | --- !shape
3 | # Use the ! handle for presenting
4 | # tag:clarkevans.com,2002:circle
5 | - !circle
6 | center: &ORIGIN {x: 73, y: 129}
7 | radius: 7
8 | - !line
9 | start: *ORIGIN
10 | finish: { x: 89, y: 102 }
11 | - !label
12 | start: *ORIGIN
13 | color: 0xFFEEBB
14 | text: Pretty vector drawing.
15 |
--------------------------------------------------------------------------------
/src/test/resources/yaml/spec/2_25UnorderedSets.yaml:
--------------------------------------------------------------------------------
1 | # Sets are represented as a
2 | # Mapping where each key is
3 | # associated with a null value
4 | --- !!set
5 | ? Mark McGwire
6 | ? Sammy Sosa
7 | ? Ken Griff
8 |
--------------------------------------------------------------------------------
/src/test/resources/yaml/spec/2_26OrderedMappings.yaml:
--------------------------------------------------------------------------------
1 | # ordered maps are represented as
2 | # a sequence of mappings, with
3 | # each mapping having one key
4 | --- !!omap
5 | - Mark McGwire: 65
6 | - Sammy Sosa: 63
7 | - Ken Griffy: 58
8 |
--------------------------------------------------------------------------------
/src/test/resources/yaml/spec/2_27Invoice.yaml:
--------------------------------------------------------------------------------
1 | --- !
2 | invoice: 34843
3 | date : 2001-01-23
4 | bill-to: &id001
5 | given : Chris
6 | family : Dumars
7 | address:
8 | lines: |
9 | 458 Walkman Dr.
10 | Suite #292
11 | city : Royal Oak
12 | state : MI
13 | postal : 48046
14 | ship-to: *id001
15 | product:
16 | - sku : BL394D
17 | quantity : 4
18 | description : Basketball
19 | price : 450.00
20 | - sku : BL4438H
21 | quantity : 1
22 | description : Super Hoop
23 | price : 2392.00
24 | tax : 251.42
25 | total: 4443.52
26 | comments:
27 | Late afternoon is best.
28 | Backup contact is Nancy
29 | Billsmer @ 338-4338.
30 |
--------------------------------------------------------------------------------
/src/test/resources/yaml/spec/2_28LogFile.yaml:
--------------------------------------------------------------------------------
1 | ---
2 | Time: 2001-11-23 15:01:42 -5
3 | User: ed
4 | Warning:
5 | This is an error message
6 | for the log file
7 | ---
8 | Time: 2001-11-23 15:02:31 -5
9 | User: ed
10 | Warning:
11 | A slightly different error
12 | message.
13 | ---
14 | Date: 2001-11-23 15:03:17 -5
15 | User: ed
16 | Fatal:
17 | Unknown variable "bar"
18 | Stack:
19 | - file: TopClass.py
20 | line: 23
21 | code: |
22 | x = MoreObject("345\n")
23 | - file: MoreClass.py
24 | line: 58
25 | code: |-
26 | foo = bar
27 |
28 |
--------------------------------------------------------------------------------
/src/test/resources/yaml/spec/2_2_MappingScalarsToScalars.out.yaml:
--------------------------------------------------------------------------------
1 | hr: 65
2 | avg: 0.278
3 | rbi: 147
4 |
--------------------------------------------------------------------------------
/src/test/resources/yaml/spec/2_2_MappingScalarsToScalars.yaml:
--------------------------------------------------------------------------------
1 | hr: 65 # Home runs
2 | avg: 0.278 # Batting average
3 | rbi: 147 # Runs Batted In
4 |
--------------------------------------------------------------------------------
/src/test/resources/yaml/spec/2_3_MappingScalarsToSequences.out.yaml:
--------------------------------------------------------------------------------
1 | american: [
2 | Boston Red Sox,
3 | Detroit Tigers,
4 | New York Yankees
5 | ]
6 | national: [
7 | New York Mets,
8 | Chicago Cubs,
9 | Atlanta Braves
10 | ]
11 |
--------------------------------------------------------------------------------
/src/test/resources/yaml/spec/2_3_MappingScalarsToSequences.yaml:
--------------------------------------------------------------------------------
1 | american:
2 | - Boston Red Sox
3 | - Detroit Tigers
4 | - New York Yankees
5 | national:
6 | - New York Mets
7 | - Chicago Cubs
8 | - Atlanta Braves
9 |
--------------------------------------------------------------------------------
/src/test/resources/yaml/spec/2_4_SequenceOfMappings.out.yaml:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | name: Mark McGwire,
4 | hr: 65,
5 | avg: 0.278
6 | },
7 | {
8 | name: Sammy Sosa,
9 | hr: 63,
10 | avg: 0.288
11 | }
12 | ]
13 |
--------------------------------------------------------------------------------
/src/test/resources/yaml/spec/2_4_SequenceOfMappings.yaml:
--------------------------------------------------------------------------------
1 | -
2 | name: Mark McGwire
3 | hr: 65
4 | avg: 0.278
5 | -
6 | name: Sammy Sosa
7 | hr: 63
8 | avg: 0.288
9 |
--------------------------------------------------------------------------------
/src/test/resources/yaml/spec/2_5_SequenceOfSequences.out.yaml:
--------------------------------------------------------------------------------
1 | [
2 | [
3 | name,
4 | hr,
5 | avg
6 | ],
7 | [
8 | Mark McGwire,
9 | 65,
10 | 0.278
11 | ],
12 | [
13 | Sammy Sosa,
14 | 63,
15 | 0.288
16 | ]
17 | ]
18 |
--------------------------------------------------------------------------------
/src/test/resources/yaml/spec/2_5_SequenceOfSequences.yaml:
--------------------------------------------------------------------------------
1 | - [name , hr, avg ]
2 | - [Mark McGwire, 65, 0.278]
3 | - [Sammy Sosa , 63, 0.288]
4 |
--------------------------------------------------------------------------------
/src/test/resources/yaml/spec/2_6_MappingOfMappings.out.yaml:
--------------------------------------------------------------------------------
1 | Mark McGwire: {
2 | hr: 65,
3 | avg: 0.278
4 | }
5 | Sammy Sosa: {
6 | hr: 63,
7 | avg: 0.288
8 | }
9 |
--------------------------------------------------------------------------------
/src/test/resources/yaml/spec/2_6_MappingOfMappings.yaml:
--------------------------------------------------------------------------------
1 | Mark McGwire: {hr: 65, avg: 0.278}
2 | Sammy Sosa: {
3 | hr: 63,
4 | avg: 0.288
5 | }
6 |
--------------------------------------------------------------------------------
/src/test/resources/yaml/spec/2_7_TwoDocumentsInAStream.out.yaml:
--------------------------------------------------------------------------------
1 | [
2 | Mark McGwire,
3 | Sammy Sosa,
4 | Ken Griffey
5 | ]
6 |
--------------------------------------------------------------------------------
/src/test/resources/yaml/spec/2_7_TwoDocumentsInAStream.yaml:
--------------------------------------------------------------------------------
1 | # Ranking of 1998 home runs
2 | ---
3 | - Mark McGwire
4 | - Sammy Sosa
5 | - Ken Griffey
6 |
7 | # Team ranking
8 | ---
9 | - Chicago Cubs
10 | - St Louis Cardinals
11 |
--------------------------------------------------------------------------------
/src/test/resources/yaml/spec/2_8_PlayByPlayFeed.yaml:
--------------------------------------------------------------------------------
1 | ---
2 | time: 20:03:20
3 | player: Sammy Sosa
4 | action: strike (miss)
5 | ...
6 | ---
7 | time: 20:03:47
8 | player: Sammy Sosa
9 | action: grand slam
10 | ...
11 |
--------------------------------------------------------------------------------
/src/test/resources/yaml/spec/2_9_SingleDocumentWithTwoComments.out.yaml:
--------------------------------------------------------------------------------
1 | hr: [
2 | Mark McGwire,
3 | Sammy Sosa
4 | ]
5 | rbi: [
6 | Sammy Sosa,
7 | Ken Griffey
8 | ]
9 |
--------------------------------------------------------------------------------
/src/test/resources/yaml/spec/2_9_SingleDocumentWithTwoComments.yaml:
--------------------------------------------------------------------------------
1 | ---
2 | hr: # 1998 hr ranking
3 | - Mark McGwire
4 | - Sammy Sosa
5 | rbi:
6 | # 1998 rbi ranking
7 | - Sammy Sosa
8 | - Ken Griffey
9 |
--------------------------------------------------------------------------------
/src/test/resources/yaml/spec/README.adoc:
--------------------------------------------------------------------------------
1 | Please see the spec attached below
2 |
--------------------------------------------------------------------------------
/src/test/resources/yaml/spec/spec.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenHFT/Chronicle-Wire/c8ca01bb62e9b6e46318624a6a4a96b4d5b21d38/src/test/resources/yaml/spec/spec.pdf
--------------------------------------------------------------------------------
/src/test/resources/yaml/spec/types/map.yaml:
--------------------------------------------------------------------------------
1 | # Unordered set of key: value pairs.
2 | Block style: !!map
3 | Clark : Evans
4 | Brian : Ingerson
5 | Oren : Ben-Kiki
6 | Flow style: !!map { Clark: Evans, Brian: Ingerson, Oren: Ben-Kiki }
7 |
--------------------------------------------------------------------------------
/src/test/resources/yaml/spec/types/map_mixed_tags.yaml:
--------------------------------------------------------------------------------
1 | # Unordered set of key: value pairs.
2 | Block style: !
3 | Clark : Evans
4 | Brian : Ingerson
5 | Oren : Ben-Kiki
6 | Flow style: { Clark: Evans, Brian: Ingerson, Oren: Ben-Kiki }
7 |
--------------------------------------------------------------------------------
/src/test/resources/yaml/spec/types/merge.yaml:
--------------------------------------------------------------------------------
1 | ---
2 | - &CENTER { x: 1, y: 2 }
3 | - &LEFT { x: 0, y: 2 }
4 | - &BIG { r: 10 }
5 | - &SMALL { r: 1 }
6 |
7 | # All the following maps are equal:
8 |
9 | - # Explicit keys
10 | x: 1
11 | y: 2
12 | r: 10
13 | label: center/big
14 |
15 | - # Merge one map
16 | << : *CENTER
17 | r: 10
18 | label: center/big
19 |
20 | - # Merge multiple maps
21 | << : [ *CENTER, *BIG ]
22 | label: center/big
23 |
24 | - # Override
25 | << : [ *BIG, *LEFT, *SMALL ]
26 | x: 1
27 | label: center/big
28 |
--------------------------------------------------------------------------------
/src/test/resources/yaml/spec/types/omap.yaml:
--------------------------------------------------------------------------------
1 | # Explicitly typed ordered map (dictionary).
2 | Bestiary: !!omap
3 | - aardvark: African pig-like ant eater. Ugly.
4 | - anteater: South-American ant eater. Two species.
5 | - anaconda: South-American constrictor snake. Scaly.
6 | # Etc.
7 | # Flow style
8 | Numbers: !!omap [ one: 1, two: 2, three : 3 ]
9 |
--------------------------------------------------------------------------------
/src/test/resources/yaml/spec/types/pairs.yaml:
--------------------------------------------------------------------------------
1 | # Explicitly typed pairs.
2 | Block tasks: !!pairs
3 | - meeting: with team.
4 | - meeting: with boss.
5 | - break: lunch.
6 | - meeting: with client.
7 | Flow tasks: !!pairs [ meeting: with team, meeting: with boss ]
8 |
--------------------------------------------------------------------------------
/src/test/resources/yaml/spec/types/seq.yaml:
--------------------------------------------------------------------------------
1 | # Ordered sequence of nodes
2 | Block style: !!seq
3 | - Mercury # Rotates - no light/dark sides.
4 | - Venus # Deadliest. Aptly named.
5 | - Earth # Mostly dirt.
6 | - Mars # Seems empty.
7 | - Jupiter # The king.
8 | - Saturn # Pretty.
9 | - Uranus # Where the sun hardly shines.
10 | - Neptune # Boring. No rings.
11 | - Pluto # You call this a planet?
12 | Flow style: !!seq [ Mercury, Venus, Earth, Mars, # Rocks
13 | Jupiter, Saturn, Uranus, Neptune, # Gas
14 | Pluto ] # Overrated
15 |
--------------------------------------------------------------------------------
/src/test/resources/yaml/spec/types/set.yaml:
--------------------------------------------------------------------------------
1 | # Explicitly typed set.
2 | baseball players: !!set
3 | ? Mark McGwire
4 | ? Sammy Sosa
5 | ? Ken Griffey
6 | # Flow style
7 | baseball teams: !!set { Boston Red Sox, Detroit Tigers, New York Yankees }
8 |
--------------------------------------------------------------------------------
/src/test/resources/yaml/spec/types/v.yaml:
--------------------------------------------------------------------------------
1 | --- # New schema
2 | link with:
3 | - = : library1.dll
4 | version: 1.2
5 |
--------------------------------------------------------------------------------
/src/test/resources/yaml/spec/types/value.yaml:
--------------------------------------------------------------------------------
1 | --- # Old schema
2 | link with:
3 | - library1.dll
4 | - library2.dll
5 | --- # New schema
6 | link with:
7 | - = : library1.dll
8 | version: 1.2
9 | - = : library2.dll
10 | version: 2.3
11 |
--------------------------------------------------------------------------------
/system.properties:
--------------------------------------------------------------------------------
1 | #
2 | # Copyright 2016-2022 chronicle.software
3 | #
4 | # https://chronicle.software
5 | #
6 | # Licensed under the Apache License, Version 2.0 (the "License");
7 | # you may not use this file except in compliance with the License.
8 | # You may obtain a copy of the License at
9 | #
10 | # http://www.apache.org/licenses/LICENSE-2.0
11 | #
12 | # Unless required by applicable law or agreed to in writing, software
13 | # distributed under the License is distributed on an "AS IS" BASIS,
14 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 | # See the License for the specific language governing permissions and
16 | # limitations under the License.
17 | #
18 |
19 | # Tracing if resources are closed/released correctly.
20 | jvm.resource.tracing=true
21 | disable.resource.warning=true
22 | disable.discard.warning=false
23 | # for profiling
24 | jvm.safepoint.enabled=false
25 | # temporary option
26 | warnAndCloseIfNotClosed=true
27 | wire.generate.v2=false
28 | # reduce logging of the announcer
29 | chronicle.announcer.disable=true
30 | dumpCodeToTarget=true
31 | compiler.options=
32 |
--------------------------------------------------------------------------------
/systemProperties.adoc:
--------------------------------------------------------------------------------
1 | == System Properties
2 | Below, a number of relevant System Properties are listed.
3 |
4 | NOTE: All boolean properties below are read using link:https://javadoc.io/static/net.openhft/chronicle-core/2.23ea13/net/openhft/chronicle/core/Jvm.html#getBoolean-java.lang.String-[net.openhft.chronicle.core.Jvm.getBoolean(java.lang.String)], and so are enabled if either `-Dflag` or `-Dflag=true` or `-Dflag=yes`
5 |
6 | .System properties
7 | [cols=4*, options="header"]
8 | |===
9 | | Property Key | Default | Description | Java Variable Name (Type)
10 | | dumpCode | `false` | If enabled, prints out specified code | _DUMP_CODE_ (boolean)
11 | | mappedFile.retain | `false` | To enable system property, see NOTE | _RETAIN_ (boolean)
12 | | regress.tests | `false` | To enable system property, see NOTE | _REGRESS_TESTS_ (boolean)
13 | | wire.generate.tuples | `false` | If enabled, @param clazz Expected object type null
can be passed to request proxy marshallable tuple | _GENERATE_TUPLES_(boolean)
14 | | wire.method.prependPackage | `false` | If enabled, generated method writers will be placed under `net.openhft.wire.method` package | _PREPEND_PACKAGE_(boolean)
15 | | wire.testAsYaml | `false` | To enable system property, see NOTE | _TEXT_AS_YAML_ (boolean)
16 | | wire.usePadding | `true` | Set system property to "false" to disable | _DEFAULT_USE_PADDING_ (boolean)
17 | | yaml.logging | `false` | If enabled, controls whether to log Yaml messages for debugging or documentation | _clientReads_ (boolean)
18 | |===
19 |
--------------------------------------------------------------------------------