diff --git a/cp.txt b/cp.txt index 91cefc710..dab99d742 100644 --- a/cp.txt +++ b/cp.txt @@ -1 +1 @@ -C:\Users\buddy\.m2\repository\com\intellij\annotations\12.0\annotations-12.0.jar;C:\Users\buddy\.m2\repository\net\openhft\chronicle-core\2.19.72\chronicle-core-2.19.72.jar;C:\Users\buddy\.m2\repository\org\jetbrains\annotations\19.0.0\annotations-19.0.0.jar;C:\Users\buddy\.m2\repository\net\openhft\chronicle-values\2.19.42\chronicle-values-2.19.42.jar;C:\Users\buddy\.m2\repository\net\openhft\chronicle-bytes\2.19.73-SNAPSHOT\chronicle-bytes-2.19.73-SNAPSHOT.jar;C:\Users\buddy\.m2\repository\com\squareup\javapoet\1.12.1\javapoet-1.12.1.jar;C:\Users\buddy\.m2\repository\net\openhft\chronicle-threads\2.19.71-SNAPSHOT\chronicle-threads-2.19.71-SNAPSHOT.jar;C:\Users\buddy\.m2\repository\org\slf4j\slf4j-api\1.7.30\slf4j-api-1.7.30.jar;C:\Users\buddy\.m2\repository\net\openhft\chronicle-wire\2.19.75\chronicle-wire-2.19.75.jar;C:\Users\buddy\.m2\repository\net\openhft\compiler\2.3.6\compiler-2.3.6.jar;C:\Users\buddy\.m2\repository\net\openhft\chronicle-algorithms\2.19.42\chronicle-algorithms-2.19.42.jar;C:\Users\buddy\.m2\repository\net\java\dev\jna\jna\5.5.0\jna-5.5.0.jar;C:\Users\buddy\.m2\repository\net\java\dev\jna\jna-platform\5.5.0\jna-platform-5.5.0.jar;C:\Users\buddy\.m2\repository\com\thoughtworks\xstream\xstream\1.4.12\xstream-1.4.12.jar;C:\Users\buddy\.m2\repository\xmlpull\xmlpull\1.1.3.1\xmlpull-1.1.3.1.jar;C:\Users\buddy\.m2\repository\xpp3\xpp3_min\1.1.4c\xpp3_min-1.1.4c.jar;C:\Users\buddy\.m2\repository\org\codehaus\jettison\jettison\1.4.1\jettison-1.4.1.jar;C:\Users\buddy\.m2\repository\org\ops4j\pax\url\pax-url-aether\2.6.2\pax-url-aether-2.6.2.jar;C:\Users\buddy\.m2\repository\org\ops4j\pax\url\pax-url-aether-support\2.6.2\pax-url-aether-support-2.6.2.jar;C:\Users\buddy\.m2\repository\org\apache\maven\resolver\maven-resolver-impl\1.3.1\maven-resolver-impl-1.3.1.jar;C:\Users\buddy\.m2\repository\org\apache\maven\resolver\maven-resolver-api\1.3.1\maven-resolver-api-1.3.1.jar;C:\Users\buddy\.m2\repository\org\apache\maven\resolver\maven-resolver-spi\1.3.1\maven-resolver-spi-1.3.1.jar;C:\Users\buddy\.m2\repository\org\apache\maven\resolver\maven-resolver-util\1.3.1\maven-resolver-util-1.3.1.jar;C:\Users\buddy\.m2\repository\org\slf4j\jcl-over-slf4j\1.6.6\jcl-over-slf4j-1.6.6.jar;C:\Users\buddy\.m2\repository\net\openhft\jlbh\1.19.30\jlbh-1.19.30.jar;C:\Users\buddy\.m2\repository\junit\junit\4.13\junit-4.13.jar;C:\Users\buddy\.m2\repository\org\hamcrest\hamcrest-core\1.3\hamcrest-core-1.3.jar;C:\Users\buddy\.m2\repository\org\slf4j\slf4j-simple\1.7.30\slf4j-simple-1.7.30.jar;C:\Users\buddy\.m2\repository\org\mockito\mockito-core\3.3.3\mockito-core-3.3.3.jar;C:\Users\buddy\.m2\repository\net\bytebuddy\byte-buddy\1.10.5\byte-buddy-1.10.5.jar;C:\Users\buddy\.m2\repository\net\bytebuddy\byte-buddy-agent\1.10.5\byte-buddy-agent-1.10.5.jar;C:\Users\buddy\.m2\repository\org\objenesis\objenesis\2.6\objenesis-2.6.jar;C:\Users\buddy\.m2\repository\org\powermock\powermock-module-junit4\2.0.7\powermock-module-junit4-2.0.7.jar;C:\Users\buddy\.m2\repository\org\powermock\powermock-module-junit4-common\2.0.7\powermock-module-junit4-common-2.0.7.jar;C:\Users\buddy\.m2\repository\org\powermock\powermock-reflect\2.0.7\powermock-reflect-2.0.7.jar;C:\Users\buddy\.m2\repository\org\powermock\powermock-core\2.0.7\powermock-core-2.0.7.jar;C:\Users\buddy\.m2\repository\org\javassist\javassist\3.27.0-GA\javassist-3.27.0-GA.jar;C:\Users\buddy\.m2\repository\org\powermock\powermock-api-mockito\1.7.4\powermock-api-mockito-1.7.4.jar;C:\Users\buddy\.m2\repository\org\powermock\powermock-api-mockito-common\1.7.4\powermock-api-mockito-common-1.7.4.jar;C:\Users\buddy\.m2\repository\org\powermock\powermock-api-support\1.7.4\powermock-api-support-1.7.4.jar;C:\Users\buddy\.m2\repository\net\openhft\affinity\3.2.3\affinity-3.2.3.jar;C:\Users\buddy\.m2\repository\com\google\guava\guava-testlib\19.0\guava-testlib-19.0.jar;C:\Users\buddy\.m2\repository\com\google\code\findbugs\jsr305\1.3.9\jsr305-1.3.9.jar;C:\Users\buddy\.m2\repository\com\google\errorprone\error_prone_annotations\2.0.2\error_prone_annotations-2.0.2.jar;C:\Users\buddy\.m2\repository\com\google\guava\guava\19.0\guava-19.0.jar;C:\Users\buddy\.m2\repository\net\openhft\zero-allocation-hashing\0.8\zero-allocation-hashing-0.8.jar;C:\Users\buddy\.m2\repository\com\samskivert\samskivert\1.9\samskivert-1.9.jar;C:\Users\buddy\.m2\repository\org\apache\commons\commons-lang3\3.10\commons-lang3-3.10.jar;C:\Users\buddy\.m2\repository\io\hawt\hawtio-embedded\2.7.1\hawtio-embedded-2.7.1.jar;C:\Users\buddy\.m2\repository\org\eclipse\jetty\jetty-webapp\9.4.6.v20170531\jetty-webapp-9.4.6.v20170531.jar;C:\Users\buddy\.m2\repository\org\eclipse\jetty\jetty-xml\9.4.6.v20170531\jetty-xml-9.4.6.v20170531.jar;C:\Users\buddy\.m2\repository\org\eclipse\jetty\jetty-util\9.4.6.v20170531\jetty-util-9.4.6.v20170531.jar;C:\Users\buddy\.m2\repository\org\eclipse\jetty\jetty-servlet\9.4.6.v20170531\jetty-servlet-9.4.6.v20170531.jar;C:\Users\buddy\.m2\repository\org\eclipse\jetty\jetty-security\9.4.6.v20170531\jetty-security-9.4.6.v20170531.jar;C:\Users\buddy\.m2\repository\org\eclipse\jetty\jetty-server\9.4.6.v20170531\jetty-server-9.4.6.v20170531.jar;C:\Users\buddy\.m2\repository\javax\servlet\javax.servlet-api\3.1.0\javax.servlet-api-3.1.0.jar;C:\Users\buddy\.m2\repository\org\eclipse\jetty\jetty-http\9.4.6.v20170531\jetty-http-9.4.6.v20170531.jar;C:\Users\buddy\.m2\repository\org\eclipse\jetty\jetty-io\9.4.6.v20170531\jetty-io-9.4.6.v20170531.jar;C:\Users\buddy\.m2\repository\org\skyscreamer\jsonassert\1.5.0\jsonassert-1.5.0.jar;C:\Users\buddy\.m2\repository\com\vaadin\external\google\android-json\0.0.20131108.vaadin1\android-json-0.0.20131108.vaadin1.jar;C:\Users\buddy\.m2\repository\net\openhft\stage-compiler\1.11\stage-compiler-1.11.jar;C:\Users\buddy\.m2\repository\net\openhft\spoon-core\4.4.1\spoon-core-4.4.1.jar;C:\Users\buddy\.m2\repository\org\eclipse\jdt\core\compiler\ecj\4.4.2\ecj-4.4.2.jar;C:\Users\buddy\.m2\repository\com\martiansoftware\jsap\2.1\jsap-2.1.jar;C:\Users\buddy\.m2\repository\log4j\log4j\1.2.17\log4j-1.2.17.jar;C:\Users\buddy\.m2\repository\commons-io\commons-io\1.3.2\commons-io-1.3.2.jar;C:\Users\buddy\.m2\repository\it\unimi\dsi\fastutil\7.0.6\fastutil-7.0.6.jar;C:\Users\buddy\.m2\repository\org\junit\jupiter\junit-jupiter\5.7.0-M1\junit-jupiter-5.7.0-M1.jar;C:\Users\buddy\.m2\repository\org\junit\jupiter\junit-jupiter-api\5.7.0-M1\junit-jupiter-api-5.7.0-M1.jar;C:\Users\buddy\.m2\repository\org\apiguardian\apiguardian-api\1.1.0\apiguardian-api-1.1.0.jar;C:\Users\buddy\.m2\repository\org\opentest4j\opentest4j\1.2.0\opentest4j-1.2.0.jar;C:\Users\buddy\.m2\repository\org\junit\platform\junit-platform-commons\1.7.0-M1\junit-platform-commons-1.7.0-M1.jar;C:\Users\buddy\.m2\repository\org\junit\jupiter\junit-jupiter-params\5.7.0-M1\junit-jupiter-params-5.7.0-M1.jar;C:\Users\buddy\.m2\repository\org\junit\jupiter\junit-jupiter-engine\5.7.0-M1\junit-jupiter-engine-5.7.0-M1.jar;C:\Users\buddy\.m2\repository\org\junit\platform\junit-platform-engine\1.7.0-M1\junit-platform-engine-1.7.0-M1.jar;C:\Java\jre\..\lib\tools.jar \ No newline at end of file +C:\Users\buddy\.m2\repository\com\intellij\annotations\12.0\annotations-12.0.jar;C:\Users\buddy\.m2\repository\net\openhft\chronicle-core\2.19.72\chronicle-core-2.19.72.jar;C:\Users\buddy\.m2\repository\org\jetbrains\annotations\19.0.0\annotations-19.0.0.jar;C:\Users\buddy\.m2\repository\net\openhft\chronicle-values\2.19.42\chronicle-values-2.19.42.jar;C:\Users\buddy\.m2\repository\net\openhft\chronicle-bytes\2.19.72\chronicle-bytes-2.19.72.jar;C:\Users\buddy\.m2\repository\com\squareup\javapoet\1.12.1\javapoet-1.12.1.jar;C:\Users\buddy\.m2\repository\net\openhft\chronicle-threads\2.19.72\chronicle-threads-2.19.72.jar;C:\Users\buddy\.m2\repository\org\slf4j\slf4j-api\1.7.30\slf4j-api-1.7.30.jar;C:\Users\buddy\.m2\repository\net\openhft\chronicle-wire\2.19.75\chronicle-wire-2.19.75.jar;C:\Users\buddy\.m2\repository\net\openhft\compiler\2.3.6\compiler-2.3.6.jar;C:\Users\buddy\.m2\repository\net\openhft\chronicle-algorithms\2.19.42\chronicle-algorithms-2.19.42.jar;C:\Users\buddy\.m2\repository\net\java\dev\jna\jna\5.5.0\jna-5.5.0.jar;C:\Users\buddy\.m2\repository\net\java\dev\jna\jna-platform\5.5.0\jna-platform-5.5.0.jar;C:\Users\buddy\.m2\repository\com\thoughtworks\xstream\xstream\1.4.12\xstream-1.4.12.jar;C:\Users\buddy\.m2\repository\xmlpull\xmlpull\1.1.3.1\xmlpull-1.1.3.1.jar;C:\Users\buddy\.m2\repository\xpp3\xpp3_min\1.1.4c\xpp3_min-1.1.4c.jar;C:\Users\buddy\.m2\repository\org\codehaus\jettison\jettison\1.4.1\jettison-1.4.1.jar;C:\Users\buddy\.m2\repository\org\ops4j\pax\url\pax-url-aether\2.6.2\pax-url-aether-2.6.2.jar;C:\Users\buddy\.m2\repository\org\ops4j\pax\url\pax-url-aether-support\2.6.2\pax-url-aether-support-2.6.2.jar;C:\Users\buddy\.m2\repository\org\apache\maven\resolver\maven-resolver-impl\1.3.1\maven-resolver-impl-1.3.1.jar;C:\Users\buddy\.m2\repository\org\apache\maven\resolver\maven-resolver-api\1.3.1\maven-resolver-api-1.3.1.jar;C:\Users\buddy\.m2\repository\org\apache\maven\resolver\maven-resolver-spi\1.3.1\maven-resolver-spi-1.3.1.jar;C:\Users\buddy\.m2\repository\org\apache\maven\resolver\maven-resolver-util\1.3.1\maven-resolver-util-1.3.1.jar;C:\Users\buddy\.m2\repository\org\slf4j\jcl-over-slf4j\1.6.6\jcl-over-slf4j-1.6.6.jar;C:\Users\buddy\.m2\repository\net\openhft\jlbh\1.19.30\jlbh-1.19.30.jar;C:\Users\buddy\.m2\repository\junit\junit\4.13\junit-4.13.jar;C:\Users\buddy\.m2\repository\org\hamcrest\hamcrest-core\1.3\hamcrest-core-1.3.jar;C:\Users\buddy\.m2\repository\org\slf4j\slf4j-simple\1.7.30\slf4j-simple-1.7.30.jar;C:\Users\buddy\.m2\repository\org\mockito\mockito-core\3.3.3\mockito-core-3.3.3.jar;C:\Users\buddy\.m2\repository\net\bytebuddy\byte-buddy\1.10.5\byte-buddy-1.10.5.jar;C:\Users\buddy\.m2\repository\net\bytebuddy\byte-buddy-agent\1.10.5\byte-buddy-agent-1.10.5.jar;C:\Users\buddy\.m2\repository\org\objenesis\objenesis\2.6\objenesis-2.6.jar;C:\Users\buddy\.m2\repository\org\powermock\powermock-module-junit4\2.0.7\powermock-module-junit4-2.0.7.jar;C:\Users\buddy\.m2\repository\org\powermock\powermock-module-junit4-common\2.0.7\powermock-module-junit4-common-2.0.7.jar;C:\Users\buddy\.m2\repository\org\powermock\powermock-reflect\2.0.7\powermock-reflect-2.0.7.jar;C:\Users\buddy\.m2\repository\org\powermock\powermock-core\2.0.7\powermock-core-2.0.7.jar;C:\Users\buddy\.m2\repository\org\javassist\javassist\3.27.0-GA\javassist-3.27.0-GA.jar;C:\Users\buddy\.m2\repository\org\powermock\powermock-api-mockito\1.7.4\powermock-api-mockito-1.7.4.jar;C:\Users\buddy\.m2\repository\org\powermock\powermock-api-mockito-common\1.7.4\powermock-api-mockito-common-1.7.4.jar;C:\Users\buddy\.m2\repository\org\powermock\powermock-api-support\1.7.4\powermock-api-support-1.7.4.jar;C:\Users\buddy\.m2\repository\net\openhft\affinity\3.2.3\affinity-3.2.3.jar;C:\Users\buddy\.m2\repository\com\google\guava\guava-testlib\19.0\guava-testlib-19.0.jar;C:\Users\buddy\.m2\repository\com\google\code\findbugs\jsr305\1.3.9\jsr305-1.3.9.jar;C:\Users\buddy\.m2\repository\com\google\errorprone\error_prone_annotations\2.0.2\error_prone_annotations-2.0.2.jar;C:\Users\buddy\.m2\repository\com\google\guava\guava\19.0\guava-19.0.jar;C:\Users\buddy\.m2\repository\net\openhft\zero-allocation-hashing\0.8\zero-allocation-hashing-0.8.jar;C:\Users\buddy\.m2\repository\com\samskivert\samskivert\1.9\samskivert-1.9.jar;C:\Users\buddy\.m2\repository\org\apache\commons\commons-lang3\3.10\commons-lang3-3.10.jar;C:\Users\buddy\.m2\repository\io\hawt\hawtio-embedded\2.7.1\hawtio-embedded-2.7.1.jar;C:\Users\buddy\.m2\repository\org\eclipse\jetty\jetty-webapp\9.4.6.v20170531\jetty-webapp-9.4.6.v20170531.jar;C:\Users\buddy\.m2\repository\org\eclipse\jetty\jetty-xml\9.4.6.v20170531\jetty-xml-9.4.6.v20170531.jar;C:\Users\buddy\.m2\repository\org\eclipse\jetty\jetty-util\9.4.6.v20170531\jetty-util-9.4.6.v20170531.jar;C:\Users\buddy\.m2\repository\org\eclipse\jetty\jetty-servlet\9.4.6.v20170531\jetty-servlet-9.4.6.v20170531.jar;C:\Users\buddy\.m2\repository\org\eclipse\jetty\jetty-security\9.4.6.v20170531\jetty-security-9.4.6.v20170531.jar;C:\Users\buddy\.m2\repository\org\eclipse\jetty\jetty-server\9.4.6.v20170531\jetty-server-9.4.6.v20170531.jar;C:\Users\buddy\.m2\repository\javax\servlet\javax.servlet-api\3.1.0\javax.servlet-api-3.1.0.jar;C:\Users\buddy\.m2\repository\org\eclipse\jetty\jetty-http\9.4.6.v20170531\jetty-http-9.4.6.v20170531.jar;C:\Users\buddy\.m2\repository\org\eclipse\jetty\jetty-io\9.4.6.v20170531\jetty-io-9.4.6.v20170531.jar;C:\Users\buddy\.m2\repository\org\skyscreamer\jsonassert\1.5.0\jsonassert-1.5.0.jar;C:\Users\buddy\.m2\repository\com\vaadin\external\google\android-json\0.0.20131108.vaadin1\android-json-0.0.20131108.vaadin1.jar;C:\Users\buddy\.m2\repository\net\openhft\stage-compiler\1.11\stage-compiler-1.11.jar;C:\Users\buddy\.m2\repository\net\openhft\spoon-core\4.4.1\spoon-core-4.4.1.jar;C:\Users\buddy\.m2\repository\org\eclipse\jdt\core\compiler\ecj\4.4.2\ecj-4.4.2.jar;C:\Users\buddy\.m2\repository\com\martiansoftware\jsap\2.1\jsap-2.1.jar;C:\Users\buddy\.m2\repository\log4j\log4j\1.2.17\log4j-1.2.17.jar;C:\Users\buddy\.m2\repository\commons-io\commons-io\1.3.2\commons-io-1.3.2.jar;C:\Users\buddy\.m2\repository\it\unimi\dsi\fastutil\7.0.6\fastutil-7.0.6.jar;C:\Users\buddy\.m2\repository\org\junit\jupiter\junit-jupiter\5.7.0-M1\junit-jupiter-5.7.0-M1.jar;C:\Users\buddy\.m2\repository\org\junit\jupiter\junit-jupiter-api\5.7.0-M1\junit-jupiter-api-5.7.0-M1.jar;C:\Users\buddy\.m2\repository\org\apiguardian\apiguardian-api\1.1.0\apiguardian-api-1.1.0.jar;C:\Users\buddy\.m2\repository\org\opentest4j\opentest4j\1.2.0\opentest4j-1.2.0.jar;C:\Users\buddy\.m2\repository\org\junit\platform\junit-platform-commons\1.7.0-M1\junit-platform-commons-1.7.0-M1.jar;C:\Users\buddy\.m2\repository\org\junit\jupiter\junit-jupiter-params\5.7.0-M1\junit-jupiter-params-5.7.0-M1.jar;C:\Users\buddy\.m2\repository\org\junit\jupiter\junit-jupiter-engine\5.7.0-M1\junit-jupiter-engine-5.7.0-M1.jar;C:\Users\buddy\.m2\repository\org\junit\platform\junit-platform-engine\1.7.0-M1\junit-platform-engine-1.7.0-M1.jar;C:\Java\jre\..\lib\tools.jar \ No newline at end of file diff --git a/cp2.txt b/cp2.txt index 094ce0469..e2977b200 100644 --- a/cp2.txt +++ b/cp2.txt @@ -1 +1 @@ -/C//Users/buddy/.m2/repository/com/intellij/annotations/12.0/annotations-12.0.jar:/C//Users/buddy/.m2/repository/net/openhft/chronicle-core/2.19.72/chronicle-core-2.19.72.jar:/C//Users/buddy/.m2/repository/org/jetbrains/annotations/19.0.0/annotations-19.0.0.jar:/C//Users/buddy/.m2/repository/net/openhft/chronicle-values/2.19.42/chronicle-values-2.19.42.jar:/C//Users/buddy/.m2/repository/net/openhft/chronicle-bytes/2.19.73-SNAPSHOT/chronicle-bytes-2.19.73-SNAPSHOT.jar:/C//Users/buddy/.m2/repository/com/squareup/javapoet/1.12.1/javapoet-1.12.1.jar:/C//Users/buddy/.m2/repository/net/openhft/chronicle-threads/2.19.71-SNAPSHOT/chronicle-threads-2.19.71-SNAPSHOT.jar:/C//Users/buddy/.m2/repository/org/slf4j/slf4j-api/1.7.30/slf4j-api-1.7.30.jar:/C//Users/buddy/.m2/repository/net/openhft/chronicle-wire/2.19.75/chronicle-wire-2.19.75.jar:/C//Users/buddy/.m2/repository/net/openhft/compiler/2.3.6/compiler-2.3.6.jar:/C//Users/buddy/.m2/repository/net/openhft/chronicle-algorithms/2.19.42/chronicle-algorithms-2.19.42.jar:/C//Users/buddy/.m2/repository/net/java/dev/jna/jna/5.5.0/jna-5.5.0.jar:/C//Users/buddy/.m2/repository/net/java/dev/jna/jna-platform/5.5.0/jna-platform-5.5.0.jar:/C//Users/buddy/.m2/repository/com/thoughtworks/xstream/xstream/1.4.12/xstream-1.4.12.jar:/C//Users/buddy/.m2/repository/xmlpull/xmlpull/1.1.3.1/xmlpull-1.1.3.1.jar:/C//Users/buddy/.m2/repository/xpp3/xpp3_min/1.1.4c/xpp3_min-1.1.4c.jar:/C//Users/buddy/.m2/repository/org/codehaus/jettison/jettison/1.4.1/jettison-1.4.1.jar:/C//Users/buddy/.m2/repository/org/ops4j/pax/url/pax-url-aether/2.6.2/pax-url-aether-2.6.2.jar:/C//Users/buddy/.m2/repository/org/ops4j/pax/url/pax-url-aether-support/2.6.2/pax-url-aether-support-2.6.2.jar:/C//Users/buddy/.m2/repository/org/apache/maven/resolver/maven-resolver-impl/1.3.1/maven-resolver-impl-1.3.1.jar:/C//Users/buddy/.m2/repository/org/apache/maven/resolver/maven-resolver-api/1.3.1/maven-resolver-api-1.3.1.jar:/C//Users/buddy/.m2/repository/org/apache/maven/resolver/maven-resolver-spi/1.3.1/maven-resolver-spi-1.3.1.jar:/C//Users/buddy/.m2/repository/org/apache/maven/resolver/maven-resolver-util/1.3.1/maven-resolver-util-1.3.1.jar:/C//Users/buddy/.m2/repository/org/slf4j/jcl-over-slf4j/1.6.6/jcl-over-slf4j-1.6.6.jar:/C//Users/buddy/.m2/repository/net/openhft/jlbh/1.19.30/jlbh-1.19.30.jar:/C//Users/buddy/.m2/repository/junit/junit/4.13/junit-4.13.jar:/C//Users/buddy/.m2/repository/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.jar:/C//Users/buddy/.m2/repository/org/slf4j/slf4j-simple/1.7.30/slf4j-simple-1.7.30.jar:/C//Users/buddy/.m2/repository/org/mockito/mockito-core/3.3.3/mockito-core-3.3.3.jar:/C//Users/buddy/.m2/repository/net/bytebuddy/byte-buddy/1.10.5/byte-buddy-1.10.5.jar:/C//Users/buddy/.m2/repository/net/bytebuddy/byte-buddy-agent/1.10.5/byte-buddy-agent-1.10.5.jar:/C//Users/buddy/.m2/repository/org/objenesis/objenesis/2.6/objenesis-2.6.jar:/C//Users/buddy/.m2/repository/org/powermock/powermock-module-junit4/2.0.7/powermock-module-junit4-2.0.7.jar:/C//Users/buddy/.m2/repository/org/powermock/powermock-module-junit4-common/2.0.7/powermock-module-junit4-common-2.0.7.jar:/C//Users/buddy/.m2/repository/org/powermock/powermock-reflect/2.0.7/powermock-reflect-2.0.7.jar:/C//Users/buddy/.m2/repository/org/powermock/powermock-core/2.0.7/powermock-core-2.0.7.jar:/C//Users/buddy/.m2/repository/org/javassist/javassist/3.27.0-GA/javassist-3.27.0-GA.jar:/C//Users/buddy/.m2/repository/org/powermock/powermock-api-mockito/1.7.4/powermock-api-mockito-1.7.4.jar:/C//Users/buddy/.m2/repository/org/powermock/powermock-api-mockito-common/1.7.4/powermock-api-mockito-common-1.7.4.jar:/C//Users/buddy/.m2/repository/org/powermock/powermock-api-support/1.7.4/powermock-api-support-1.7.4.jar:/C//Users/buddy/.m2/repository/net/openhft/affinity/3.2.3/affinity-3.2.3.jar:/C//Users/buddy/.m2/repository/com/google/guava/guava-testlib/19.0/guava-testlib-19.0.jar:/C//Users/buddy/.m2/repository/com/google/code/findbugs/jsr305/1.3.9/jsr305-1.3.9.jar:/C//Users/buddy/.m2/repository/com/google/errorprone/error_prone_annotations/2.0.2/error_prone_annotations-2.0.2.jar:/C//Users/buddy/.m2/repository/com/google/guava/guava/19.0/guava-19.0.jar:/C//Users/buddy/.m2/repository/net/openhft/zero-allocation-hashing/0.8/zero-allocation-hashing-0.8.jar:/C//Users/buddy/.m2/repository/com/samskivert/samskivert/1.9/samskivert-1.9.jar:/C//Users/buddy/.m2/repository/org/apache/commons/commons-lang3/3.10/commons-lang3-3.10.jar:/C//Users/buddy/.m2/repository/io/hawt/hawtio-embedded/2.7.1/hawtio-embedded-2.7.1.jar:/C//Users/buddy/.m2/repository/org/eclipse/jetty/jetty-webapp/9.4.6.v20170531/jetty-webapp-9.4.6.v20170531.jar:/C//Users/buddy/.m2/repository/org/eclipse/jetty/jetty-xml/9.4.6.v20170531/jetty-xml-9.4.6.v20170531.jar:/C//Users/buddy/.m2/repository/org/eclipse/jetty/jetty-util/9.4.6.v20170531/jetty-util-9.4.6.v20170531.jar:/C//Users/buddy/.m2/repository/org/eclipse/jetty/jetty-servlet/9.4.6.v20170531/jetty-servlet-9.4.6.v20170531.jar:/C//Users/buddy/.m2/repository/org/eclipse/jetty/jetty-security/9.4.6.v20170531/jetty-security-9.4.6.v20170531.jar:/C//Users/buddy/.m2/repository/org/eclipse/jetty/jetty-server/9.4.6.v20170531/jetty-server-9.4.6.v20170531.jar:/C//Users/buddy/.m2/repository/javax/servlet/javax.servlet-api/3.1.0/javax.servlet-api-3.1.0.jar:/C//Users/buddy/.m2/repository/org/eclipse/jetty/jetty-http/9.4.6.v20170531/jetty-http-9.4.6.v20170531.jar:/C//Users/buddy/.m2/repository/org/eclipse/jetty/jetty-io/9.4.6.v20170531/jetty-io-9.4.6.v20170531.jar:/C//Users/buddy/.m2/repository/org/skyscreamer/jsonassert/1.5.0/jsonassert-1.5.0.jar:/C//Users/buddy/.m2/repository/com/vaadin/external/google/android-json/0.0.20131108.vaadin1/android-json-0.0.20131108.vaadin1.jar:/C//Users/buddy/.m2/repository/net/openhft/stage-compiler/1.11/stage-compiler-1.11.jar:/C//Users/buddy/.m2/repository/net/openhft/spoon-core/4.4.1/spoon-core-4.4.1.jar:/C//Users/buddy/.m2/repository/org/eclipse/jdt/core/compiler/ecj/4.4.2/ecj-4.4.2.jar:/C//Users/buddy/.m2/repository/com/martiansoftware/jsap/2.1/jsap-2.1.jar:/C//Users/buddy/.m2/repository/log4j/log4j/1.2.17/log4j-1.2.17.jar:/C//Users/buddy/.m2/repository/commons-io/commons-io/1.3.2/commons-io-1.3.2.jar:/C//Users/buddy/.m2/repository/it/unimi/dsi/fastutil/7.0.6/fastutil-7.0.6.jar:/C//Users/buddy/.m2/repository/org/junit/jupiter/junit-jupiter/5.7.0-M1/junit-jupiter-5.7.0-M1.jar:/C//Users/buddy/.m2/repository/org/junit/jupiter/junit-jupiter-api/5.7.0-M1/junit-jupiter-api-5.7.0-M1.jar:/C//Users/buddy/.m2/repository/org/apiguardian/apiguardian-api/1.1.0/apiguardian-api-1.1.0.jar:/C//Users/buddy/.m2/repository/org/opentest4j/opentest4j/1.2.0/opentest4j-1.2.0.jar:/C//Users/buddy/.m2/repository/org/junit/platform/junit-platform-commons/1.7.0-M1/junit-platform-commons-1.7.0-M1.jar:/C//Users/buddy/.m2/repository/org/junit/jupiter/junit-jupiter-params/5.7.0-M1/junit-jupiter-params-5.7.0-M1.jar:/C//Users/buddy/.m2/repository/org/junit/jupiter/junit-jupiter-engine/5.7.0-M1/junit-jupiter-engine-5.7.0-M1.jar:/C//Users/buddy/.m2/repository/org/junit/platform/junit-platform-engine/1.7.0-M1/junit-platform-engine-1.7.0-M1.jar:/C//Java/jre/../lib/tools.jar \ No newline at end of file +/C//Users/buddy/.m2/repository/com/intellij/annotations/12.0/annotations-12.0.jar:/C//Users/buddy/.m2/repository/net/openhft/chronicle-core/2.19.72/chronicle-core-2.19.72.jar:/C//Users/buddy/.m2/repository/org/jetbrains/annotations/19.0.0/annotations-19.0.0.jar:/C//Users/buddy/.m2/repository/net/openhft/chronicle-values/2.19.42/chronicle-values-2.19.42.jar:/C//Users/buddy/.m2/repository/net/openhft/chronicle-bytes/2.19.72/chronicle-bytes-2.19.72.jar:/C//Users/buddy/.m2/repository/com/squareup/javapoet/1.12.1/javapoet-1.12.1.jar:/C//Users/buddy/.m2/repository/net/openhft/chronicle-threads/2.19.72/chronicle-threads-2.19.72.jar:/C//Users/buddy/.m2/repository/org/slf4j/slf4j-api/1.7.30/slf4j-api-1.7.30.jar:/C//Users/buddy/.m2/repository/net/openhft/chronicle-wire/2.19.75/chronicle-wire-2.19.75.jar:/C//Users/buddy/.m2/repository/net/openhft/compiler/2.3.6/compiler-2.3.6.jar:/C//Users/buddy/.m2/repository/net/openhft/chronicle-algorithms/2.19.42/chronicle-algorithms-2.19.42.jar:/C//Users/buddy/.m2/repository/net/java/dev/jna/jna/5.5.0/jna-5.5.0.jar:/C//Users/buddy/.m2/repository/net/java/dev/jna/jna-platform/5.5.0/jna-platform-5.5.0.jar:/C//Users/buddy/.m2/repository/com/thoughtworks/xstream/xstream/1.4.12/xstream-1.4.12.jar:/C//Users/buddy/.m2/repository/xmlpull/xmlpull/1.1.3.1/xmlpull-1.1.3.1.jar:/C//Users/buddy/.m2/repository/xpp3/xpp3_min/1.1.4c/xpp3_min-1.1.4c.jar:/C//Users/buddy/.m2/repository/org/codehaus/jettison/jettison/1.4.1/jettison-1.4.1.jar:/C//Users/buddy/.m2/repository/org/ops4j/pax/url/pax-url-aether/2.6.2/pax-url-aether-2.6.2.jar:/C//Users/buddy/.m2/repository/org/ops4j/pax/url/pax-url-aether-support/2.6.2/pax-url-aether-support-2.6.2.jar:/C//Users/buddy/.m2/repository/org/apache/maven/resolver/maven-resolver-impl/1.3.1/maven-resolver-impl-1.3.1.jar:/C//Users/buddy/.m2/repository/org/apache/maven/resolver/maven-resolver-api/1.3.1/maven-resolver-api-1.3.1.jar:/C//Users/buddy/.m2/repository/org/apache/maven/resolver/maven-resolver-spi/1.3.1/maven-resolver-spi-1.3.1.jar:/C//Users/buddy/.m2/repository/org/apache/maven/resolver/maven-resolver-util/1.3.1/maven-resolver-util-1.3.1.jar:/C//Users/buddy/.m2/repository/org/slf4j/jcl-over-slf4j/1.6.6/jcl-over-slf4j-1.6.6.jar:/C//Users/buddy/.m2/repository/net/openhft/jlbh/1.19.30/jlbh-1.19.30.jar:/C//Users/buddy/.m2/repository/junit/junit/4.13/junit-4.13.jar:/C//Users/buddy/.m2/repository/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.jar:/C//Users/buddy/.m2/repository/org/slf4j/slf4j-simple/1.7.30/slf4j-simple-1.7.30.jar:/C//Users/buddy/.m2/repository/org/mockito/mockito-core/3.3.3/mockito-core-3.3.3.jar:/C//Users/buddy/.m2/repository/net/bytebuddy/byte-buddy/1.10.5/byte-buddy-1.10.5.jar:/C//Users/buddy/.m2/repository/net/bytebuddy/byte-buddy-agent/1.10.5/byte-buddy-agent-1.10.5.jar:/C//Users/buddy/.m2/repository/org/objenesis/objenesis/2.6/objenesis-2.6.jar:/C//Users/buddy/.m2/repository/org/powermock/powermock-module-junit4/2.0.7/powermock-module-junit4-2.0.7.jar:/C//Users/buddy/.m2/repository/org/powermock/powermock-module-junit4-common/2.0.7/powermock-module-junit4-common-2.0.7.jar:/C//Users/buddy/.m2/repository/org/powermock/powermock-reflect/2.0.7/powermock-reflect-2.0.7.jar:/C//Users/buddy/.m2/repository/org/powermock/powermock-core/2.0.7/powermock-core-2.0.7.jar:/C//Users/buddy/.m2/repository/org/javassist/javassist/3.27.0-GA/javassist-3.27.0-GA.jar:/C//Users/buddy/.m2/repository/org/powermock/powermock-api-mockito/1.7.4/powermock-api-mockito-1.7.4.jar:/C//Users/buddy/.m2/repository/org/powermock/powermock-api-mockito-common/1.7.4/powermock-api-mockito-common-1.7.4.jar:/C//Users/buddy/.m2/repository/org/powermock/powermock-api-support/1.7.4/powermock-api-support-1.7.4.jar:/C//Users/buddy/.m2/repository/net/openhft/affinity/3.2.3/affinity-3.2.3.jar:/C//Users/buddy/.m2/repository/com/google/guava/guava-testlib/19.0/guava-testlib-19.0.jar:/C//Users/buddy/.m2/repository/com/google/code/findbugs/jsr305/1.3.9/jsr305-1.3.9.jar:/C//Users/buddy/.m2/repository/com/google/errorprone/error_prone_annotations/2.0.2/error_prone_annotations-2.0.2.jar:/C//Users/buddy/.m2/repository/com/google/guava/guava/19.0/guava-19.0.jar:/C//Users/buddy/.m2/repository/net/openhft/zero-allocation-hashing/0.8/zero-allocation-hashing-0.8.jar:/C//Users/buddy/.m2/repository/com/samskivert/samskivert/1.9/samskivert-1.9.jar:/C//Users/buddy/.m2/repository/org/apache/commons/commons-lang3/3.10/commons-lang3-3.10.jar:/C//Users/buddy/.m2/repository/io/hawt/hawtio-embedded/2.7.1/hawtio-embedded-2.7.1.jar:/C//Users/buddy/.m2/repository/org/eclipse/jetty/jetty-webapp/9.4.6.v20170531/jetty-webapp-9.4.6.v20170531.jar:/C//Users/buddy/.m2/repository/org/eclipse/jetty/jetty-xml/9.4.6.v20170531/jetty-xml-9.4.6.v20170531.jar:/C//Users/buddy/.m2/repository/org/eclipse/jetty/jetty-util/9.4.6.v20170531/jetty-util-9.4.6.v20170531.jar:/C//Users/buddy/.m2/repository/org/eclipse/jetty/jetty-servlet/9.4.6.v20170531/jetty-servlet-9.4.6.v20170531.jar:/C//Users/buddy/.m2/repository/org/eclipse/jetty/jetty-security/9.4.6.v20170531/jetty-security-9.4.6.v20170531.jar:/C//Users/buddy/.m2/repository/org/eclipse/jetty/jetty-server/9.4.6.v20170531/jetty-server-9.4.6.v20170531.jar:/C//Users/buddy/.m2/repository/javax/servlet/javax.servlet-api/3.1.0/javax.servlet-api-3.1.0.jar:/C//Users/buddy/.m2/repository/org/eclipse/jetty/jetty-http/9.4.6.v20170531/jetty-http-9.4.6.v20170531.jar:/C//Users/buddy/.m2/repository/org/eclipse/jetty/jetty-io/9.4.6.v20170531/jetty-io-9.4.6.v20170531.jar:/C//Users/buddy/.m2/repository/org/skyscreamer/jsonassert/1.5.0/jsonassert-1.5.0.jar:/C//Users/buddy/.m2/repository/com/vaadin/external/google/android-json/0.0.20131108.vaadin1/android-json-0.0.20131108.vaadin1.jar:/C//Users/buddy/.m2/repository/net/openhft/stage-compiler/1.11/stage-compiler-1.11.jar:/C//Users/buddy/.m2/repository/net/openhft/spoon-core/4.4.1/spoon-core-4.4.1.jar:/C//Users/buddy/.m2/repository/org/eclipse/jdt/core/compiler/ecj/4.4.2/ecj-4.4.2.jar:/C//Users/buddy/.m2/repository/com/martiansoftware/jsap/2.1/jsap-2.1.jar:/C//Users/buddy/.m2/repository/log4j/log4j/1.2.17/log4j-1.2.17.jar:/C//Users/buddy/.m2/repository/commons-io/commons-io/1.3.2/commons-io-1.3.2.jar:/C//Users/buddy/.m2/repository/it/unimi/dsi/fastutil/7.0.6/fastutil-7.0.6.jar:/C//Users/buddy/.m2/repository/org/junit/jupiter/junit-jupiter/5.7.0-M1/junit-jupiter-5.7.0-M1.jar:/C//Users/buddy/.m2/repository/org/junit/jupiter/junit-jupiter-api/5.7.0-M1/junit-jupiter-api-5.7.0-M1.jar:/C//Users/buddy/.m2/repository/org/apiguardian/apiguardian-api/1.1.0/apiguardian-api-1.1.0.jar:/C//Users/buddy/.m2/repository/org/opentest4j/opentest4j/1.2.0/opentest4j-1.2.0.jar:/C//Users/buddy/.m2/repository/org/junit/platform/junit-platform-commons/1.7.0-M1/junit-platform-commons-1.7.0-M1.jar:/C//Users/buddy/.m2/repository/org/junit/jupiter/junit-jupiter-params/5.7.0-M1/junit-jupiter-params-5.7.0-M1.jar:/C//Users/buddy/.m2/repository/org/junit/jupiter/junit-jupiter-engine/5.7.0-M1/junit-jupiter-engine-5.7.0-M1.jar:/C//Users/buddy/.m2/repository/org/junit/platform/junit-platform-engine/1.7.0-M1/junit-platform-engine-1.7.0-M1.jar:/C//Java/jre/../lib/tools.jar \ No newline at end of file diff --git a/src/test/java/net/openhft/chronicle/map/fromdocs/acid/revelations/ChronicleStampedLock.java b/src/test/java/net/openhft/chronicle/map/fromdocs/acid/revelations/ChronicleStampedLock.java index 278257c1a..ec52c5f50 100644 --- a/src/test/java/net/openhft/chronicle/map/fromdocs/acid/revelations/ChronicleStampedLock.java +++ b/src/test/java/net/openhft/chronicle/map/fromdocs/acid/revelations/ChronicleStampedLock.java @@ -4,6 +4,7 @@ import net.openhft.chronicle.core.values.LongValue; import net.openhft.chronicle.map.ChronicleMap; import net.openhft.chronicle.map.ChronicleMapBuilder; import net.openhft.chronicle.values.Values; + import java.io.File; import java.io.IOException; import java.util.concurrent.locks.StampedLock; @@ -16,6 +17,9 @@ import static net.openhft.chronicle.values.Values.newNativeReference; * A totally hacked impl, awaiting OpenHFT's official ChronicleStampedLock API *
* A usable 'reference' impl will more properly belong in the Chronicle-Algorithms/ repo + *
+ * NOTE: This impl only provides off-Heap capability for the tryXXXXX() family of
+ * j.u.c.l.StampedLock methosds.
*/
public class ChronicleStampedLock extends StampedLock {
@@ -31,7 +35,7 @@ public class ChronicleStampedLock extends StampedLock {
ChronicleStampedLock(String chronicelStampedLockLocality) { // path of Operand set i.e. /dev/shm/
try {
chm = offHeapLock(chronicelStampedLockLocality);
- chmR = offHeapLockReaderCount(chronicelStampedLockLocality+"=ReaderCount");
+ chmR = offHeapLockReaderCount(chronicelStampedLockLocality + "=ReaderCount");
chm.acquireUsing("Stamp ", offHeapLock); // K="Stamp ", V=OffHeapLock impl
chm.acquireUsing("LastWriterTime ", lastWriterT); //needed for validate
chmR.acquireUsing("ReaderCount ", readLockHolderCount);
@@ -52,7 +56,7 @@ public class ChronicleStampedLock extends StampedLock {
chm.put("Stamp ", offHeapLock);
System.out.println(
" ,@t=" + System.currentTimeMillis() +
- " ChronicleStampedLock saw stamp=["+0L+"]"+
+ " ChronicleStampedLock saw stamp=[" + 0L + "]" +
" tryOptmisticRead() returning stamp=" +
t +
","
@@ -101,6 +105,11 @@ public class ChronicleStampedLock extends StampedLock {
offHeapLock = chm.get("Stamp ");
lastWriterT = chm.get("LastWriterTime ");
+ l = offHeapLock.getEntryLockState();
+
+ if (l != 0L)
+ return 0L;
+
do {
System.out.println(
" ,@t=" + System.currentTimeMillis() +
@@ -141,8 +150,11 @@ public class ChronicleStampedLock extends StampedLock {
long l = 0L;
offHeapLock = chm.get("Stamp ");
- readLockHolderCount = chmR.get("ReaderCount ");
+ readLockHolderCount = chmR.get("ReaderCount ");
+ l = (offHeapLock = chm.get("Stamp ")).getEntryLockState();
+ if (l < 0L)
+ return (0);
do {
System.out.println(
" ,@t=" + System.currentTimeMillis() +
@@ -164,7 +176,7 @@ public class ChronicleStampedLock extends StampedLock {
//" readerCount=[" + readerCount.getReaderCount() + "]" +
" readerCount=[" +
(readLockHolderCount = chmR.get("ReaderCount ")).getVolatileValue() + "]" +
- " BEFORE addAtomic(1) "+
+ " BEFORE addAtomic(1) " +
","
);
@@ -182,23 +194,128 @@ public class ChronicleStampedLock extends StampedLock {
" ChronicleStampedLock tryReadLock() returned stamp=" +
offHeapLock.getEntryLockState() +
" readerCount=[" + readLockHolderCount.getVolatileValue() + "]" +
- " AFTER addAtomic(1) "+
+ " AFTER addAtomic(1) " +
","
);
return (offHeapLock.getEntryLockState());
}
+ @Override
+ public long writeLock() {
+ long l = 0L;
+
+ offHeapLock = chm.get("Stamp ");
+ lastWriterT = chm.get("LastWriterTime ");
+
+ do {
+ System.out.println(
+ " ,@t=" + System.currentTimeMillis() +
+ " ChronicleStampedLock tryWriterLock() ?WAITING " +
+ " on offHeapLock.unlock(" +
+ offHeapLock.getEntryLockState() +
+ ") ,"
+ );
+ offHeapLock = chm.get("Stamp ");
+ l = offHeapLock.getEntryLockState();
+ try {
+ Thread.sleep(1000);
+ } catch (InterruptedException e) {
+ e.printStackTrace();
+ }
+ } while (l != 0L || readLockHolderCount.getVolatileValue() > 0);
+ System.out.println(
+ " ,@t=" + System.currentTimeMillis() +
+ " ChronicleStampedLock tryWriterLock() PROCEEDING " +
+ " ,"
+ );
+ long t = System.currentTimeMillis();
+ offHeapLock.setEntryLockState(-t); //negative ==> Writer holds StampedLock
+ lastWriterT.setEntryLockState(t);
+ chm.put("Stamp ", offHeapLock);
+ chm.put("LastWriterTime ", lastWriterT);
+ System.out.println(
+ " ,@t=" + t +
+ " ChronicleStampedLock tryWriteLock() returned stamp=" +
+ offHeapLock.getEntryLockState() +
+ ","
+ );
+ return (offHeapLock.getEntryLockState());
+ }
+
+ @Override
+ public long readLock() {
+ long l = 0L;
+
+ offHeapLock = chm.get("Stamp ");
+ readLockHolderCount = chmR.get("ReaderCount ");
+
+ do {
+ System.out.println(
+ " ,@t=" + System.currentTimeMillis() +
+ " ChronicleStampedLock readLock() ?WAITING on Writer.unlock(" +
+ offHeapLock.getEntryLockState() +
+ ") ,"
+ );
+ l = (offHeapLock = chm.get("Stamp ")).getEntryLockState();
+ try {
+ Thread.sleep(1000);
+ } catch (InterruptedException e) {
+ e.printStackTrace();
+ }
+ } while (l < 0L);
+
+ System.out.println(
+ " ,@t=" + System.currentTimeMillis() +
+ " ChronicleStampedLock readLock() PROCEEDING " +
+ //" readerCount=[" + Count.getReaderCount() + "]" +
+ " readerCount=[" +
+ (readLockHolderCount = chmR.get("ReaderCount ")).getVolatileValue() + "]" +
+ " BEFORE addAtomic(1) " +
+ ","
+ );
+
+ readLockHolderCount.addAtomicValue(1); // INCREMENT the cardinality of the Reader set
+ chmR.put("ReaderCount ", readLockHolderCount); // and make it IPC visible
+
+ offHeapLock.setEntryLockState(
+ readLockHolderCount.getVolatileValue()
+ ); // assign the Lock to most-recent Reader
+
+ chm.put("Stamp ", offHeapLock); // make it IPC visible
+
+ System.out.println(
+ " ,@t=" + System.currentTimeMillis() +
+ " ChronicleStampedLock readLock() returned stamp=" +
+ offHeapLock.getEntryLockState() +
+ " readerCount=[" + readLockHolderCount.getVolatileValue() + "]" +
+ " AFTER addAtomic(1) " +
+ ","
+ );
+ return (offHeapLock.getEntryLockState());
+ }
+
+ @Override
+ public void unlock(long stamp) {
+ if (stamp < 0L) {
+ unlockWrite(stamp);
+ } else if (stamp > 0L) {
+ unlockRead(stamp);
+ } else {
+ ;// lock available
+ }
+ }
+
@Override
public void unlockRead(long stamp) {
offHeapLock = chm.get("Stamp ");
- readLockHolderCount = chmR.get("ReaderCount ");
+ readLockHolderCount = chmR.get("ReaderCount ");
System.out.println(
" ,@t=" + System.currentTimeMillis() +
" ChronicleStampedLock unlockRead(" + stamp + ") unlocking.." +
"ReaderCount=[" +
- (readLockHolderCount = chmR.get("ReaderCount ")).getVolatileValue() + "]" +
- " BEFORE addAtomic(-1) "+
+ (readLockHolderCount = chmR.get("ReaderCount ")).getVolatileValue() + "]" +
+ " BEFORE addAtomic(-1) " +
","
);
readLockHolderCount.addAtomicValue(-1); // DECREMENT the cardinality of the Reader set
@@ -207,12 +324,12 @@ public class ChronicleStampedLock extends StampedLock {
" ,@t=" + System.currentTimeMillis() +
" ChronicleStampedLock unlockRead(" + stamp + ") unlocking.." +
"ReaderCount=[" +
- (readLockHolderCount = chmR.get("ReaderCount ")).getVolatileValue() + "]" +
- " AFTER addAtomic(-1) "+
+ (readLockHolderCount = chmR.get("ReaderCount ")).getVolatileValue() + "]" +
+ " AFTER addAtomic(-1) " +
","
);
offHeapLock.setEntryLockState(
- (readLockHolderCount = chmR.get("ReaderCount ")).getVolatileValue()
+ (readLockHolderCount = chmR.get("ReaderCount ")).getVolatileValue()
);
System.out.println(
" ,@t=" + System.currentTimeMillis() +
@@ -241,6 +358,27 @@ public class ChronicleStampedLock extends StampedLock {
);
}
+ @Override
+ public int getReadLockCount() {
+ return ((int) chmR.get("ReaderCount ").getVolatileValue());
+ }
+
+ @Override
+ public boolean isReadLocked() {
+ if (this.getReadLockCount() > 0)
+ return (Boolean.TRUE);
+ else
+ return (Boolean.FALSE);
+ }
+
+ @Override
+ public boolean isWriteLocked() {
+ if (this.getReadLockCount() < 0)
+ return (Boolean.TRUE);
+ else
+ return (Boolean.FALSE);
+ }
+
static ChronicleMap