diff --git a/LICENSE b/LICENSE index e860071..bd12e26 100644 --- a/LICENSE +++ b/LICENSE @@ -1,7 +1,7 @@ - MessageBus - [The Apache Software License, Version 2.0] https://git.dorkbox.com/dorkbox/MessageBus - Copyright 2021 + Copyright 2023 Dorkbox LLC Lightweight, extremely fast, and zero-gc message/event bus for Java 8+ @@ -12,24 +12,24 @@ Copyright 2012 Benjamin Diedrichsen + - SLF4J - Simple facade or abstraction for various logging frameworks + [MIT License] + https://www.slf4j.org + Copyright 2023 + QOS.ch + - Conversant Disruptor - Disruptor is the highest performing intra-thread transfer mechanism available in Java. [The Apache Software License, Version 2.0] https://github.com/conversant/disruptor - Copyright 2021 + Copyright 2023 Conversant, Inc - ASM - ASM: a very small and fast Java bytecode manipulation framework [The Apache Software License, Version 2.0] https://asm.ow2.io/ - Copyright 2021 + Copyright 2023 INRIA, France Telecom - - SLF4J - Simple facade or abstraction for various logging frameworks - [MIT License] - http://www.slf4j.org - Copyright 2021 - QOS.ch - - Updates - Software Update Management [The Apache Software License, Version 2.0] https://git.dorkbox.com/dorkbox/Updates @@ -45,16 +45,10 @@ Kotlin Compiler, Test Data+Libraries, and Tools repository contain third-party code, to which different licenses may apply See: https://github.com/JetBrains/kotlin/blob/master/license/README.md - - PropertyLoader - Property annotation and loader for fields - [The Apache Software License, Version 2.0] - https://git.dorkbox.com/dorkbox/PropertyLoader - Copyright 2021 - Dorkbox LLC - - Utilities - Utilities for use within Java projects [The Apache Software License, Version 2.0] https://git.dorkbox.com/dorkbox/Utilities - Copyright 2021 + Copyright 2023 Dorkbox LLC Extra license information @@ -65,23 +59,6 @@ Sean Luke Michael Lecuyer (portions Copyright 1993 - - FileUtil (code from FilenameUtils.java for normalize + dependencies) - - [The Apache Software License, Version 2.0] - https://git.dorkbox.com/dorkbox/Utilities - http://commons.apache.org/proper/commons-io/ - Copyright 2013 - The Apache Software Foundation - Kevin A. Burton - Scott Sanders - Daniel Rall - Christoph.Reck - Peter Donald - Jeff Turner - Matthew Hawthorne - Martin Cooper - Jeremias Maerki - Stephen Colebourne - - FastThreadLocal - [BSD 3-Clause License] https://git.dorkbox.com/dorkbox/Utilities @@ -91,71 +68,6 @@ Lightweight Java Game Library Project Riven - - Base64Fast - - [BSD 3-Clause License] - https://git.dorkbox.com/dorkbox/Utilities - http://migbase64.sourceforge.net/ - Copyright 2004 - Mikael Grev, MiG InfoCom AB. (base64@miginfocom.com) - - - BCrypt - - [BSD 2-Clause "Simplified" or "FreeBSD" license] - https://git.dorkbox.com/dorkbox/Utilities - http://www.mindrot.org/projects/jBCrypt - Copyright 2006 - Damien Miller (djm@mindrot.org) - GWT modified version - - - Bias, BinarySearch - - [MIT License] - https://git.dorkbox.com/dorkbox/Utilities - https://github.com/timboudreau/util - Copyright 2013 - Tim Boudreau - - - ConcurrentEntry - - [The Apache Software License, Version 2.0] - https://git.dorkbox.com/dorkbox/Utilities - Copyright 2016 - bennidi - dorkbox - - - Collection Utilities (Array, ArrayMap, BooleanArray, ByteArray, CharArray, FloatArray, IdentityMap, IntArray, IntFloatMap, IntIntMap, IntMap, IntSet, LongArray, LongMap, ObjectFloatMap, ObjectIntMap, ObjectMap, ObjectSet, OrderedMap, OrderedSet) - - [The Apache Software License, Version 2.0] - https://git.dorkbox.com/dorkbox/Utilities - https://github.com/libgdx/libgdx/blob/master/gdx/src/com/badlogic/gdx/utils - Copyright 2011 - LibGDX - Mario Zechner (badlogicgames@gmail.com) - Nathan Sweet (nathan.sweet@gmail.com) - - - Predicate - - [The Apache Software License, Version 2.0] - https://git.dorkbox.com/dorkbox/Utilities - https://github.com/libgdx/libgdx/blob/master/gdx/src/com/badlogic/gdx/utils - Copyright 2011 - LibGDX - Mario Zechner (badlogicgames@gmail.com) - Nathan Sweet (nathan.sweet@gmail.com) - xoppa - - - Select, QuickSelect - - [The Apache Software License, Version 2.0] - https://git.dorkbox.com/dorkbox/Utilities - https://github.com/libgdx/libgdx/blob/master/gdx/src/com/badlogic/gdx/utils - Copyright 2011 - LibGDX - Mario Zechner (badlogicgames@gmail.com) - Nathan Sweet (nathan.sweet@gmail.com) - Jon Renner - - - TimSort, ComparableTimSort - - [The Apache Software License, Version 2.0] - https://git.dorkbox.com/dorkbox/Utilities - https://github.com/libgdx/libgdx/blob/master/gdx/src/com/badlogic/gdx/utils - Copyright 2008 - The Android Open Source Project - - Modified hex conversion utility methods - [The Apache Software License, Version 2.0] https://git.dorkbox.com/dorkbox/Utilities @@ -169,67 +81,157 @@ Copyright 2020 Square, Inc - - JNA - Simplified native library access for Java. + - Resource Listing - Listing the contents of a resource directory [The Apache Software License, Version 2.0] - https://github.com/twall/jna - Copyright 2021 - Timothy Wall + https://www.uofr.net/~greg/java/get-resource-listing.html + Copyright 2017 + Greg Briggs - - JNA-Platform - Mappings for a number of commonly used platform functions + - CommonUtils - Common utility extension functions for kotlin [The Apache Software License, Version 2.0] - https://github.com/twall/jna - Copyright 2021 - Timothy Wall + https://www.pronghorn.tech + Copyright 2017 + Pronghorn Technology LLC + Dorkbox LLC + + - Kotlin Coroutine CountDownLatch - + [The Apache Software License, Version 2.0] + https://github.com/Kotlin/kotlinx.coroutines/issues/59 + https://github.com/venkatperi/kotlin-coroutines-lib + Copyright 2018 + Venkat Peri - Java Uuid Generator - A set of Java classes for working with UUIDs [The Apache Software License, Version 2.0] https://github.com/cowtowncoder/java-uuid-generator - Copyright 2021 + Copyright 2023 Tatu Saloranta (tatu.saloranta@iki.fi) Contributors. See source release-notes/CREDITS - - Netty - An event-driven asynchronous network application framework - [The Apache Software License, Version 2.0] - https://netty.io - Copyright 2021 - The Netty Project - Contributors. See source NOTICE - - - Bouncy Castle Crypto - Lightweight cryptography API and JCE Extension - [The Apache Software License, Version 2.0] - http://www.bouncycastle.org - Copyright 2021 - The Legion of the Bouncy Castle Inc - - - Lightweight Java Game Library - Java library that enables cross-platform access to popular native APIs - [BSD 3-Clause License] - https://github.com/LWJGL/lwjgl3 - Copyright 2021 - Lightweight Java Game Library - - - TypeTools - A simple, zero-dependency library for working with types. Supports Java 1.6+ and Android. - [The Apache Software License, Version 2.0] - https://github.com/jhalterman/typetools - Copyright 2021 - Jonathan Halterman and friends - - - SLF4J - Simple facade or abstraction for various logging frameworks - [MIT License] - http://www.slf4j.org - Copyright 2021 - QOS.ch - - XZ for Java - Complete implementation of XZ data compression in pure Java [Public Domain, per Creative Commons CC0] https://tukaani.org/xz/java.html - Copyright 2021 + Copyright 2023 Lasse Collin Igor Pavlov + - Netty - An event-driven asynchronous network application framework + [The Apache Software License, Version 2.0] + https://netty.io + Copyright 2023 + The Netty Project + Contributors. See source NOTICE + + - TypeTools - A simple, zero-dependency library for working with types. Supports Java 1.6+ and Android. + [The Apache Software License, Version 2.0] + https://github.com/jhalterman/typetools + Copyright 2023 + Jonathan Halterman and friends + + - Kotlin - + [The Apache Software License, Version 2.0] + https://github.com/JetBrains/kotlin + Copyright 2020 + JetBrains s.r.o. and Kotlin Programming Language contributors + Kotlin Compiler, Test Data+Libraries, and Tools repository contain third-party code, to which different licenses may apply + See: https://github.com/JetBrains/kotlin/blob/master/license/README.md + + - kotlinx.coroutines - Library support for Kotlin coroutines with multiplatform support + [The Apache Software License, Version 2.0] + https://github.com/Kotlin/kotlinx.coroutines + Copyright 2023 + JetBrains s.r.o. + + - Collections - Niche collections to augment what is already available. + [The Apache Software License, Version 2.0] + https://git.dorkbox.com/dorkbox/Collections + Copyright 2023 + Dorkbox LLC + + Extra license information + - Bias, BinarySearch - + [MIT License] + https://git.dorkbox.com/dorkbox/Collections + https://github.com/timboudreau/util + Copyright 2013 + Tim Boudreau + + - ConcurrentEntry - + [The Apache Software License, Version 2.0] + https://git.dorkbox.com/dorkbox/Collections + Copyright 2016 + bennidi + dorkbox + + - Collection Utilities (Array, ArrayMap, BooleanArray, ByteArray, CharArray, FloatArray, IdentityMap, IntArray, IntFloatMap, IntIntMap, IntMap, IntSet, LongArray, LongMap, ObjectFloatMap, ObjectIntMap, ObjectMap, ObjectSet, OrderedMap, OrderedSet) - + [The Apache Software License, Version 2.0] + https://git.dorkbox.com/dorkbox/Collections + https://github.com/libgdx/libgdx/blob/master/gdx/src/com/badlogic/gdx/utils + Copyright 2011 + LibGDX + Mario Zechner (badlogicgames@gmail.com) + Nathan Sweet (nathan.sweet@gmail.com) + + - Predicate - + [The Apache Software License, Version 2.0] + https://git.dorkbox.com/dorkbox/Collections + https://github.com/libgdx/libgdx/blob/master/gdx/src/com/badlogic/gdx/utils + Copyright 2011 + LibGDX + Mario Zechner (badlogicgames@gmail.com) + Nathan Sweet (nathan.sweet@gmail.com) + xoppa + + - Select, QuickSelect - + [The Apache Software License, Version 2.0] + https://git.dorkbox.com/dorkbox/Collections + https://github.com/libgdx/libgdx/blob/master/gdx/src/com/badlogic/gdx/utils + Copyright 2011 + LibGDX + Mario Zechner (badlogicgames@gmail.com) + Nathan Sweet (nathan.sweet@gmail.com) + Jon Renner + + - TimSort, ComparableTimSort - + [The Apache Software License, Version 2.0] + https://git.dorkbox.com/dorkbox/Collections + https://github.com/libgdx/libgdx/blob/master/gdx/src/com/badlogic/gdx/utils + Copyright 2008 + The Android Open Source Project + + - ConcurrentWeakIdentityHashMap - Concurrent WeakIdentity HashMap + [The Apache Software License, Version 2.0] + https://github.com/spring-projects/spring-loaded/blob/master/springloaded/src/main/java/org/springsource/loaded/support/ConcurrentWeakIdentityHashMap.java + Copyright 2016 + zhanhb + + - Kotlin - + [The Apache Software License, Version 2.0] + https://github.com/JetBrains/kotlin + Copyright 2020 + JetBrains s.r.o. and Kotlin Programming Language contributors + Kotlin Compiler, Test Data+Libraries, and Tools repository contain third-party code, to which different licenses may apply + See: https://github.com/JetBrains/kotlin/blob/master/license/README.md + + - Updates - Software Update Management + [The Apache Software License, Version 2.0] + https://git.dorkbox.com/dorkbox/Updates + Copyright 2021 + Dorkbox LLC + + Extra license information + - Kotlin - + [The Apache Software License, Version 2.0] + https://github.com/JetBrains/kotlin + Copyright 2020 + JetBrains s.r.o. and Kotlin Programming Language contributors + Kotlin Compiler, Test Data+Libraries, and Tools repository contain third-party code, to which different licenses may apply + See: https://github.com/JetBrains/kotlin/blob/master/license/README.md + - Executor - Shell, JVM, and SSH command execution on Linux, MacOS, or Windows for Java 8+ [The Apache Software License, Version 2.0] https://git.dorkbox.com/dorkbox/Executor - Copyright 2021 + Copyright 2023 Dorkbox LLC Extra license information @@ -245,34 +247,36 @@ Copyright 2014 The Apache Software Foundation - - Logback - Logback is a logging framework for Java applications + - Kotlin - [The Apache Software License, Version 2.0] - http://logback.qos.ch - Copyright 2021 - QOS.ch + https://github.com/JetBrains/kotlin + Copyright 2020 + JetBrains s.r.o. and Kotlin Programming Language contributors + Kotlin Compiler, Test Data+Libraries, and Tools repository contain third-party code, to which different licenses may apply + See: https://github.com/JetBrains/kotlin/blob/master/license/README.md - kotlinx.coroutines - Library support for Kotlin coroutines with multiplatform support [The Apache Software License, Version 2.0] https://github.com/Kotlin/kotlinx.coroutines - Copyright 2021 + Copyright 2023 JetBrains s.r.o. - - kotlin-logging - Lightweight logging framework for Kotlin - [The Apache Software License, Version 2.0] - https://github.com/MicroUtils/kotlin-logging - Copyright 2021 - Ohad Shai - - SLF4J - Simple facade or abstraction for various logging frameworks [MIT License] - http://www.slf4j.org - Copyright 2021 + https://www.slf4j.org + Copyright 2023 + QOS.ch + + - Logback - Logback is a logging framework for Java applications + [The Apache Software License, Version 2.0] + https://logback.qos.ch + Copyright 2023 QOS.ch - SSHJ - SSHv2 library for Java [The Apache Software License, Version 2.0] https://github.com/hierynomus/sshj - Copyright 2021 + Copyright 2023 Jeroen van Erp SSHJ Contributors @@ -289,13 +293,13 @@ - JZlib - [The Apache Software License, Version 2.0] - http://www.jcraft.com/jzlib + https://github.com/ymnk/jzlib Atsuhiko Yamanaka JCraft, Inc. - Bouncy Castle Crypto - [The Apache Software License, Version 2.0] - http://www.bouncycastle.org + https://www.bouncycastle.org The Legion of the Bouncy Castle Inc - ed25519-java - @@ -303,6 +307,28 @@ https://github.com/str4d/ed25519-java https://github.com/str4d + - Updates - Software Update Management + [The Apache Software License, Version 2.0] + https://git.dorkbox.com/dorkbox/Updates + Copyright 2021 + Dorkbox LLC + + Extra license information + - Kotlin - + [The Apache Software License, Version 2.0] + https://github.com/JetBrains/kotlin + Copyright 2020 + JetBrains s.r.o. and Kotlin Programming Language contributors + Kotlin Compiler, Test Data+Libraries, and Tools repository contain third-party code, to which different licenses may apply + See: https://github.com/JetBrains/kotlin/blob/master/license/README.md + + - OS - Information about the system, Java runtime, OS, Window Manager, and Desktop Environment. + [The Apache Software License, Version 2.0] + https://git.dorkbox.com/dorkbox/OS + Copyright 2023 + Dorkbox LLC + + Extra license information - Kotlin - [The Apache Software License, Version 2.0] https://github.com/JetBrains/kotlin @@ -311,33 +337,32 @@ Kotlin Compiler, Test Data+Libraries, and Tools repository contain third-party code, to which different licenses may apply See: https://github.com/JetBrains/kotlin/blob/master/license/README.md - - SwtJavaFx - Swt and JavaFx Utilities + - Updates - Software Update Management + [The Apache Software License, Version 2.0] + https://git.dorkbox.com/dorkbox/Updates + Copyright 2021 + Dorkbox LLC + + Extra license information + - Kotlin - + [The Apache Software License, Version 2.0] + https://github.com/JetBrains/kotlin + Copyright 2020 + JetBrains s.r.o. and Kotlin Programming Language contributors + Kotlin Compiler, Test Data+Libraries, and Tools repository contain third-party code, to which different licenses may apply + See: https://github.com/JetBrains/kotlin/blob/master/license/README.md + + - Updates - Software Update Management [The Apache Software License, Version 2.0] - https://git.dorkbox.com/dorkbox/SwtJavaFx + https://git.dorkbox.com/dorkbox/Updates Copyright 2021 Dorkbox LLC Extra license information - - Eclipse Platform - Frameworks and common services to support the use of Eclipse and it's tools (SWT) - [Eclipse Public License (EPL)] - https://projects.eclipse.org/projects/eclipse.platform - Copyright 2021 - The Eclipse Foundation, Inc. - - - OpenJFX - OpenJFX client application platform for desktop, mobile and embedded systems - [GNU General Public License, version 2, with the Classpath Exception] - https://github.com/openjdk/jfx - Copyright 2021 - Oracle and/or its affiliates - - - SLF4J - Simple facade or abstraction for various logging frameworks - [MIT License] - http://www.slf4j.org - Copyright 2021 - QOS.ch - - - PropertyLoader - Property annotation and loader for fields - [The Apache Software License, Version 2.0] - https://git.dorkbox.com/dorkbox/PropertyLoader - Copyright 2021 - Dorkbox LLC + - Kotlin - + [The Apache Software License, Version 2.0] + https://github.com/JetBrains/kotlin + Copyright 2020 + JetBrains s.r.o. and Kotlin Programming Language contributors + Kotlin Compiler, Test Data+Libraries, and Tools repository contain third-party code, to which different licenses may apply + See: https://github.com/JetBrains/kotlin/blob/master/license/README.md diff --git a/LICENSE.BSD2 b/LICENSE.BSD2 deleted file mode 100644 index ccb08e8..0000000 --- a/LICENSE.BSD2 +++ /dev/null @@ -1,22 +0,0 @@ - BSD License - - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND - ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY - DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/LICENSE.EPL b/LICENSE.EPL deleted file mode 100644 index e2c0ade..0000000 --- a/LICENSE.EPL +++ /dev/null @@ -1,210 +0,0 @@ -Eclipse Public License - v 1.0 - -THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC -LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM -CONSTITUTES RECIPIENT’S ACCEPTANCE OF THIS AGREEMENT. - -1. DEFINITIONS - -"Contribution" means: - - a) in the case of the initial Contributor, the initial code and documentation - distributed under this Agreement, and - b) in the case of each subsequent Contributor: - - i) changes to the Program, and - - ii) additions to the Program; - - where such changes and/or additions to the Program originate from and are - distributed by that particular Contributor. A Contribution 'originates' from - a Contributor if it was added to the Program by such Contributor itself or - anyone acting on such Contributor’s behalf. Contributions do not include - additions to the Program which: (i) are separate modules of software - distributed in conjunction with the Program under their own license agreement, - and (ii) are not derivative works of the Program. - -"Contributor" means any person or entity that distributes the Program. - -"Licensed Patents " mean patent claims licensable by a Contributor which are - necessarily infringed by the use or sale of its Contribution alone or when - combined with the Program. - -"Program" means the Contributions distributed in accordance with this Agreement. - -"Recipient" means anyone who receives the Program under this Agreement, - including all Contributors. - -2. GRANT OF RIGHTS - -a) Subject to the terms of this Agreement, each Contributor hereby grants - Recipient a non-exclusive, worldwide, royalty-free copyright license to - reproduce, prepare derivative works of, publicly display, publicly perform, - distribute and sublicense the Contribution of such Contributor, if any, and - such derivative works, in source code and object code form. - -b) Subject to the terms of this Agreement, each Contributor hereby grants - Recipient a non-exclusive, worldwide, royalty-free patent license under - Licensed Patents to make, use, sell, offer to sell, import and otherwise - transfer the Contribution of such Contributor, if any, in source code and - object code form. This patent license shall apply to the combination of the - Contribution and the Program if, at the time the Contribution is added by - the Contributor, such addition of the Contribution causes such combination - to be covered by the Licensed Patents. The patent license shall not apply - to any other combinations which include the Contribution. No hardware per - se is licensed hereunder. - -c) Recipient understands that although each Contributor grants the licenses to - its Contributions set forth herein, no assurances are provided by any - Contributor that the Program does not infringe the patent or other - intellectual property rights of any other entity. Each Contributor disclaims - any liability to Recipient for claims brought by any other entity based on - infringement of intellectual property rights or otherwise. As a condition to - exercising the rights and licenses granted hereunder, each Recipient hereby - assumes sole responsibility to secure any other intellectual property rights - needed, if any. For example, if a third party patent license is required to - allow Recipient to distribute the Program, it is Recipient’s responsibility - to acquire that license before distributing the Program. - -d) Each Contributor represents that to its knowledge it has sufficient copyright - rights in its Contribution, if any, to grant the copyright license set forth - in this Agreement. - -3. REQUIREMENTS - -A Contributor may choose to distribute the Program in object code form under - its own license agreement, provided that: - -a) it complies with the terms and conditions of this Agreement; and - -b) its license agreement: - -i) effectively disclaims on behalf of all Contributors all warranties and - conditions, express and implied, including warranties or conditions of title - and non-infringement, and implied warranties or conditions of merchantability - and fitness for a particular purpose; - -ii) effectively excludes on behalf of all Contributors all liability for damages, - including direct, indirect, special, incidental and consequential damages, - such as lost profits; - -iii) states that any provisions which differ from this Agreement are offered by - that Contributor alone and not by any other party; and - -iv) states that source code for the Program is available from such Contributor, - and informs licensees how to obtain it in a reasonable manner on or through - a medium customarily used for software exchange. - -When the Program is made available in source code form: - -a) it must be made available under this Agreement; and - -b) a copy of this Agreement must be included with each copy of the Program. - -Contributors may not remove or alter any copyright notices contained within the -Program. - -Each Contributor must identify itself as the originator of its Contribution, -if any, in a manner that reasonably allows subsequent Recipients to identify -the originator of the Contribution. - -4. COMMERCIAL DISTRIBUTION - -Commercial distributors of software may accept certain responsibilities with -respect to end users, business partners and the like. While this license is -intended to facilitate the commercial use of the Program, the Contributor who - includes the Program in a commercial product offering should do so in a manner - which does not create potential liability for other Contributors. Therefore, -if a Contributor includes the Program in a commercial product offering, such -Contributor ("Commercial Contributor") hereby agrees to defend and indemnify -every other Contributor ("Indemnified Contributor") against any losses, damages - and costs (collectively "Losses") arising from claims, lawsuits and other legal - actions brought by a third party against the Indemnified Contributor to the -extent caused by the acts or omissions of such Commercial Contributor in -connection with its distribution of the Program in a commercial product -offering. The obligations in this section do not apply to any claims or Losses -relating to any actual or alleged intellectual property infringement. In order -to qualify, an Indemnified Contributor must: a) promptly notify the Commercial -Contributor in writing of such claim, and b) allow the Commercial Contributor -to control, and cooperate with the Commercial Contributor in, the defense and -any related settlement negotiations. The Indemnified Contributor may participate -in any such claim at its own expense. - -For example, a Contributor might include the Program in a commercial product -offering, Product X. That Contributor is then a Commercial Contributor. If that - Commercial Contributor then makes performance claims, or offers warranties -related to Product X, those performance claims and warranties are such -Commercial Contributor’s responsibility alone. Under this section, the -Commercial Contributor would have to defend claims against the other -Contributors related to those performance claims and warranties, and if a -court requires any other Contributor to pay any damages as a result, the -Commercial Contributor must pay those damages. - -5. NO WARRANTY - -EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED ON AN -"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR -IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, -NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each -Recipient is solely responsible for determining the appropriateness of using -and distributing the Program and assumes all risks associated with its exercise -of rights under this Agreement , including but not limited to the risks and -costs of program errors, compliance with applicable laws, damage to or loss of -data, programs or equipment, and unavailability or interruption of operations. - -6. DISCLAIMER OF LIABILITY - -EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR ANY -CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION -LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN -CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING -IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF -ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. - -7. GENERAL - -If any provision of this Agreement is invalid or unenforceable under applicable -law, it shall not affect the validity or enforceability of the remainder of the -terms of this Agreement, and without further action by the parties hereto, such -provision shall be reformed to the minimum extent necessary to make such -provision valid and enforceable. - -If Recipient institutes patent litigation against any entity (including a -cross-claim or counterclaim in a lawsuit) alleging that the Program itself -(excluding combinations of the Program with other software or hardware) -infringes such Recipient’s patent(s), then such Recipient’s rights granted -under Section 2(b) shall terminate as of the date such litigation is filed. - -All Recipient’s rights under this Agreement shall terminate if it fails to -comply with any of the material terms or conditions of this Agreement and does -not cure such failure in a reasonable period of time after becoming aware of -such noncompliance. If all Recipient’s rights under this Agreement terminate, -Recipient agrees to cease use and distribution of the Program as soon as -reasonably practicable. However, Recipient’s obligations under this Agreement -and any licenses granted by Recipient relating to the Program shall continue -and survive. - -Everyone is permitted to copy and distribute copies of this Agreement, but in -order to avoid inconsistency the Agreement is copyrighted and may only be -modified in the following manner. The Agreement Steward reserves the right to -publish new versions (including revisions) of this Agreement from time to time. -No one other than the Agreement Steward has the right to modify this Agreement. -The Eclipse Foundation is the initial Agreement Steward. The Eclipse Foundation -may assign the responsibility to serve as the Agreement Steward to a suitable -separate entity. Each new version of the Agreement will be given a -distinguishing version number. The Program (including Contributions) may always -be distributed subject to the version of the Agreement under which it was -received. In addition, after a new version of the Agreement is published, -Contributor may elect to distribute the Program (including its Contributions) -under the new version. Except as expressly stated in Sections 2(a) and 2(b) -above, Recipient receives no rights or licenses to the intellectual property -of any Contributor under this Agreement, whether expressly, by implication, -estoppel or otherwise. All rights in the Program not expressly granted under -this Agreement are reserved. - -This Agreement is governed by the laws of the State of New York and the -intellectual property laws of the United States of America. No party to this -Agreement will bring a legal action under this Agreement more than one year -after the cause of action arose. Each party waives its rights to a jury trial -in any resulting litigation. \ No newline at end of file diff --git a/LICENSE.GPLv2_CP b/LICENSE.GPLv2_CP deleted file mode 100644 index b40a0f4..0000000 --- a/LICENSE.GPLv2_CP +++ /dev/null @@ -1,347 +0,0 @@ -The GNU General Public License (GPL) - -Version 2, June 1991 - -Copyright (C) 1989, 1991 Free Software Foundation, Inc. -59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - -Everyone is permitted to copy and distribute verbatim copies of this license -document, but changing it is not allowed. - -Preamble - -The licenses for most software are designed to take away your freedom to share -and change it. By contrast, the GNU General Public License is intended to -guarantee your freedom to share and change free software--to make sure the -software is free for all its users. This General Public License applies to -most of the Free Software Foundation's software and to any other program whose -authors commit to using it. (Some other Free Software Foundation software is -covered by the GNU Library General Public License instead.) You can apply it to -your programs, too. - -When we speak of free software, we are referring to freedom, not price. Our -General Public Licenses are designed to make sure that you have the freedom to -distribute copies of free software (and charge for this service if you wish), -that you receive source code or can get it if you want it, that you can change -the software or use pieces of it in new free programs; and that you know you -can do these things. - -To protect your rights, we need to make restrictions that forbid anyone to deny -you these rights or to ask you to surrender the rights. These restrictions -translate to certain responsibilities for you if you distribute copies of the -software, or if you modify it. - -For example, if you distribute copies of such a program, whether gratis or for -a fee, you must give the recipients all the rights that you have. You must -make sure that they, too, receive or can get the source code. And you must -show them these terms so they know their rights. - -We protect your rights with two steps: (1) copyright the software, and (2) -offer you this license which gives you legal permission to copy, distribute -and/or modify the software. - -Also, for each author's protection and ours, we want to make certain that -everyone understands that there is no warranty for this free software. If the -software is modified by someone else and passed on, we want its recipients to -know that what they have is not the original, so that any problems introduced -by others will not reflect on the original authors' reputations. - -Finally, any free program is threatened constantly by software patents. We -wish to avoid the danger that redistributors of a free program will -individually obtain patent licenses, in effect making the program proprietary. -To prevent this, we have made it clear that any patent must be licensed for -everyone's free use or not licensed at all. - -The precise terms and conditions for copying, distribution and modification -follow. - -TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - -0. This License applies to any program or other work which contains a notice -placed by the copyright holder saying it may be distributed under the terms of -this General Public License. The "Program", below, refers to any such program -or work, and a "work based on the Program" means either the Program or any -derivative work under copyright law: that is to say, a work containing the -Program or a portion of it, either verbatim or with modifications and/or -translated into another language. (Hereinafter, translation is included -without limitation in the term "modification".) Each licensee is addressed as -"you". - -Activities other than copying, distribution and modification are not covered by -this License; they are outside its scope. The act of running the Program is -not restricted, and the output from the Program is covered only if its contents -constitute a work based on the Program (independent of having been made by -running the Program). Whether that is true depends on what the Program does. - -1. You may copy and distribute verbatim copies of the Program's source code as -you receive it, in any medium, provided that you conspicuously and -appropriately publish on each copy an appropriate copyright notice and -disclaimer of warranty; keep intact all the notices that refer to this License -and to the absence of any warranty; and give any other recipients of the -Program a copy of this License along with the Program. - -You may charge a fee for the physical act of transferring a copy, and you may -at your option offer warranty protection in exchange for a fee. - -2. You may modify your copy or copies of the Program or any portion of it, thus -forming a work based on the Program, and copy and distribute such modifications -or work under the terms of Section 1 above, provided that you also meet all of -these conditions: - - a) You must cause the modified files to carry prominent notices stating - that you changed the files and the date of any change. - - b) You must cause any work that you distribute or publish, that in whole or - in part contains or is derived from the Program or any part thereof, to be - licensed as a whole at no charge to all third parties under the terms of - this License. - - c) If the modified program normally reads commands interactively when run, - you must cause it, when started running for such interactive use in the - most ordinary way, to print or display an announcement including an - appropriate copyright notice and a notice that there is no warranty (or - else, saying that you provide a warranty) and that users may redistribute - the program under these conditions, and telling the user how to view a copy - of this License. (Exception: if the Program itself is interactive but does - not normally print such an announcement, your work based on the Program is - not required to print an announcement.) - -These requirements apply to the modified work as a whole. If identifiable -sections of that work are not derived from the Program, and can be reasonably -considered independent and separate works in themselves, then this License, and -its terms, do not apply to those sections when you distribute them as separate -works. But when you distribute the same sections as part of a whole which is a -work based on the Program, the distribution of the whole must be on the terms -of this License, whose permissions for other licensees extend to the entire -whole, and thus to each and every part regardless of who wrote it. - -Thus, it is not the intent of this section to claim rights or contest your -rights to work written entirely by you; rather, the intent is to exercise the -right to control the distribution of derivative or collective works based on -the Program. - -In addition, mere aggregation of another work not based on the Program with the -Program (or with a work based on the Program) on a volume of a storage or -distribution medium does not bring the other work under the scope of this -License. - -3. You may copy and distribute the Program (or a work based on it, under -Section 2) in object code or executable form under the terms of Sections 1 and -2 above provided that you also do one of the following: - - a) Accompany it with the complete corresponding machine-readable source - code, which must be distributed under the terms of Sections 1 and 2 above - on a medium customarily used for software interchange; or, - - b) Accompany it with a written offer, valid for at least three years, to - give any third party, for a charge no more than your cost of physically - performing source distribution, a complete machine-readable copy of the - corresponding source code, to be distributed under the terms of Sections 1 - and 2 above on a medium customarily used for software interchange; or, - - c) Accompany it with the information you received as to the offer to - distribute corresponding source code. (This alternative is allowed only - for noncommercial distribution and only if you received the program in - object code or executable form with such an offer, in accord with - Subsection b above.) - -The source code for a work means the preferred form of the work for making -modifications to it. For an executable work, complete source code means all -the source code for all modules it contains, plus any associated interface -definition files, plus the scripts used to control compilation and installation -of the executable. However, as a special exception, the source code -distributed need not include anything that is normally distributed (in either -source or binary form) with the major components (compiler, kernel, and so on) -of the operating system on which the executable runs, unless that component -itself accompanies the executable. - -If distribution of executable or object code is made by offering access to copy -from a designated place, then offering equivalent access to copy the source -code from the same place counts as distribution of the source code, even though -third parties are not compelled to copy the source along with the object code. - -4. You may not copy, modify, sublicense, or distribute the Program except as -expressly provided under this License. Any attempt otherwise to copy, modify, -sublicense or distribute the Program is void, and will automatically terminate -your rights under this License. However, parties who have received copies, or -rights, from you under this License will not have their licenses terminated so -long as such parties remain in full compliance. - -5. You are not required to accept this License, since you have not signed it. -However, nothing else grants you permission to modify or distribute the Program -or its derivative works. These actions are prohibited by law if you do not -accept this License. Therefore, by modifying or distributing the Program (or -any work based on the Program), you indicate your acceptance of this License to -do so, and all its terms and conditions for copying, distributing or modifying -the Program or works based on it. - -6. Each time you redistribute the Program (or any work based on the Program), -the recipient automatically receives a license from the original licensor to -copy, distribute or modify the Program subject to these terms and conditions. -You may not impose any further restrictions on the recipients' exercise of the -rights granted herein. You are not responsible for enforcing compliance by -third parties to this License. - -7. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), conditions -are imposed on you (whether by court order, agreement or otherwise) that -contradict the conditions of this License, they do not excuse you from the -conditions of this License. If you cannot distribute so as to satisfy -simultaneously your obligations under this License and any other pertinent -obligations, then as a consequence you may not distribute the Program at all. -For example, if a patent license would not permit royalty-free redistribution -of the Program by all those who receive copies directly or indirectly through -you, then the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Program. - -If any portion of this section is held invalid or unenforceable under any -particular circumstance, the balance of the section is intended to apply and -the section as a whole is intended to apply in other circumstances. - -It is not the purpose of this section to induce you to infringe any patents or -other property right claims or to contest validity of any such claims; this -section has the sole purpose of protecting the integrity of the free software -distribution system, which is implemented by public license practices. Many -people have made generous contributions to the wide range of software -distributed through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing to -distribute software through any other system and a licensee cannot impose that -choice. - -This section is intended to make thoroughly clear what is believed to be a -consequence of the rest of this License. - -8. If the distribution and/or use of the Program is restricted in certain -countries either by patents or by copyrighted interfaces, the original -copyright holder who places the Program under this License may add an explicit -geographical distribution limitation excluding those countries, so that -distribution is permitted only in or among countries not thus excluded. In -such case, this License incorporates the limitation as if written in the body -of this License. - -9. The Free Software Foundation may publish revised and/or new versions of the -General Public License from time to time. Such new versions will be similar in -spirit to the present version, but may differ in detail to address new problems -or concerns. - -Each version is given a distinguishing version number. If the Program -specifies a version number of this License which applies to it and "any later -version", you have the option of following the terms and conditions either of -that version or of any later version published by the Free Software Foundation. -If the Program does not specify a version number of this License, you may -choose any version ever published by the Free Software Foundation. - -10. If you wish to incorporate parts of the Program into other free programs -whose distribution conditions are different, write to the author to ask for -permission. For software which is copyrighted by the Free Software Foundation, -write to the Free Software Foundation; we sometimes make exceptions for this. -Our decision will be guided by the two goals of preserving the free status of -all derivatives of our free software and of promoting the sharing and reuse of -software generally. - -NO WARRANTY - -11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR -THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE -STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE -PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, -INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND -PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, -YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - -12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL -ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE -PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY -GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR -INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA -BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A -FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER -OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. - -END OF TERMS AND CONDITIONS - -How to Apply These Terms to Your New Programs - -If you develop a new program, and you want it to be of the greatest possible -use to the public, the best way to achieve this is to make it free software -which everyone can redistribute and change under these terms. - -To do so, attach the following notices to the program. It is safest to attach -them to the start of each source file to most effectively convey the exclusion -of warranty; and each file should have at least the "copyright" line and a -pointer to where the full notice is found. - - One line to give the program's name and a brief idea of what it does. - - Copyright (C) - - This program is free software; you can redistribute it and/or modify it - under the terms of the GNU General Public License as published by the Free - Software Foundation; either version 2 of the License, or (at your option) - any later version. - - This program is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for - more details. - - You should have received a copy of the GNU General Public License along - with this program; if not, write to the Free Software Foundation, Inc., 59 - Temple Place, Suite 330, Boston, MA 02111-1307 USA - -Also add information on how to contact you by electronic and paper mail. - -If the program is interactive, make it output a short notice like this when it -starts in an interactive mode: - - Gnomovision version 69, Copyright (C) year name of author Gnomovision comes - with ABSOLUTELY NO WARRANTY; for details type 'show w'. This is free - software, and you are welcome to redistribute it under certain conditions; - type 'show c' for details. - -The hypothetical commands 'show w' and 'show c' should show the appropriate -parts of the General Public License. Of course, the commands you use may be -called something other than 'show w' and 'show c'; they could even be -mouse-clicks or menu items--whatever suits your program. - -You should also get your employer (if you work as a programmer) or your school, -if any, to sign a "copyright disclaimer" for the program, if necessary. Here -is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the program - 'Gnomovision' (which makes passes at compilers) written by James Hacker. - - signature of Ty Coon, 1 April 1989 - - Ty Coon, President of Vice - -This General Public License does not permit incorporating your program into -proprietary programs. If your program is a subroutine library, you may -consider it more useful to permit linking proprietary applications with the -library. If this is what you want to do, use the GNU Library General Public -License instead of this License. - - -"CLASSPATH" EXCEPTION TO THE GPL - -Certain source files distributed by Oracle America and/or its affiliates are -subject to the following clarification and special exception to the GPL, but -only where Oracle has expressly included in the particular source file's header -the words "Oracle designates this particular file as subject to the "Classpath" -exception as provided by Oracle in the LICENSE file that accompanied this code." - - Linking this library statically or dynamically with other modules is making - a combined work based on this library. Thus, the terms and conditions of - the GNU General Public License cover the whole combination. - - As a special exception, the copyright holders of this library give you - permission to link this library with independent modules to produce an - executable, regardless of the license terms of these independent modules, - and to copy and distribute the resulting executable under terms of your - choice, provided that you also meet, for each linked independent module, - the terms and conditions of the license of that module. An independent - module is a module which is not derived from or based on this library. If - you modify this library, you may extend this exception to your version of - the library, but you are not obligated to do so. If you do not wish to do - so, delete this exception statement from your version. diff --git a/build.gradle.kts b/build.gradle.kts old mode 100644 new mode 100755 index d08db3a..cca3c41 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -26,12 +26,12 @@ gradle.startParameter.showStacktrace = ShowStacktrace.ALWAYS // always show th gradle.startParameter.warningMode = WarningMode.All plugins { - id("com.dorkbox.GradleUtils") version "1.17" - id("com.dorkbox.Licensing") version "2.5.5" - id("com.dorkbox.VersionUpdate") version "2.3" - id("com.dorkbox.GradlePublish") version "1.10" + id("com.dorkbox.GradleUtils") version "3.17" + id("com.dorkbox.Licensing") version "2.24" + id("com.dorkbox.VersionUpdate") version "2.8" + id("com.dorkbox.GradlePublish") version "1.18" - kotlin("jvm") version "1.4.32" + kotlin("jvm") version "1.8.0" } object Extras { // set for the project @@ -45,7 +45,6 @@ object Extras { const val vendor = "Dorkbox LLC" const val vendorUrl = "https://dorkbox.com" const val url = "https://git.dorkbox.com/dorkbox/MessageBus" - val buildDate = Instant.now().toString() val JAVA_VERSION = JavaVersion.VERSION_1_8.toString() } @@ -54,8 +53,7 @@ object Extras { ///// assign 'Extras' /////////////////////////////// GradleUtils.load("$projectDir/../../gradle.properties", Extras) -GradleUtils.fixIntellijPaths() -GradleUtils.defaultResolutionStrategy() +GradleUtils.defaults() GradleUtils.compileConfiguration(JavaVersion.VERSION_1_8) licensing { @@ -65,29 +63,9 @@ licensing { note(Extras.description) extra("MBassador", License.MIT) { - it.copyright(2012) - it.author("Benjamin Diedrichsen") - it.url("https://github.com/bennidi/mbassador") - } - } -} - -sourceSets { - main { - java { - setSrcDirs(listOf("src")) - - // want to include java files for the source. 'setSrcDirs' resets includes... - include("**/*.java") - } - } - - test { - java { - setSrcDirs(listOf("test")) - - // want to include java files for the source. 'setSrcDirs' resets includes... - include("**/*.java") + copyright(2012) + author("Benjamin Diedrichsen") + url("https://github.com/bennidi/mbassador") } } } @@ -102,33 +80,28 @@ tasks.jar.get().apply { attributes["Specification-Vendor"] = Extras.vendor attributes["Implementation-Title"] = "${Extras.group}.${Extras.id}" - attributes["Implementation-Version"] = Extras.buildDate + attributes["Implementation-Version"] = GradleUtils.now() attributes["Implementation-Vendor"] = Extras.vendor attributes["Automatic-Module-Name"] = Extras.id } } -repositories { - mavenLocal() // this must be first! - jcenter() -} - dependencies { - implementation("com.dorkbox:Updates:1.0") - implementation("com.dorkbox:Utilities:1.9") + implementation("com.dorkbox:Updates:1.1") + implementation("com.dorkbox:Utilities:1.43") - implementation("com.lmax:disruptor:3.4.2") - implementation("com.conversantmedia:disruptor:1.2.19") + implementation("com.lmax:disruptor:3.4.4") + implementation("com.conversantmedia:disruptor:1.2.21") - implementation("org.ow2.asm:asm:9.1") + implementation("org.ow2.asm:asm:9.5") implementation("com.esotericsoftware:reflectasm:1.11.9") - implementation("org.slf4j:slf4j-api:1.7.30") + api("org.slf4j:slf4j-api:2.0.7") testImplementation("junit:junit:4.13.2") - testImplementation("ch.qos.logback:logback-classic:1.2.3") + testImplementation("ch.qos.logback:logback-classic:1.4.5") } publishToSonatype { diff --git a/src/dorkbox/messageBus/common/ClassTree.java b/src/dorkbox/messageBus/common/ClassTree.java index ae84590..8b60f23 100644 --- a/src/dorkbox/messageBus/common/ClassTree.java +++ b/src/dorkbox/messageBus/common/ClassTree.java @@ -18,8 +18,8 @@ package dorkbox.messageBus.common; import java.util.concurrent.atomic.AtomicInteger; import java.util.concurrent.atomic.AtomicReference; +import dorkbox.collections.IdentityMap; import dorkbox.util.FastThreadLocal; -import dorkbox.util.collections.IdentityMap; /** * Simple tree structure that is a map that contains a chain of keys to publish to a value. @@ -47,7 +47,13 @@ public class ClassTree { }; private static - final FastThreadLocal valueCache = new FastThreadLocal(); + final FastThreadLocal valueCache = new FastThreadLocal() { + @Override + public + MultiClass initialValue() { + return null; + } + }; private AtomicReference children = new AtomicReference(); private AtomicReference value = new AtomicReference(); diff --git a/src/dorkbox/messageBus/publication/ConversantDisruptor.java b/src/dorkbox/messageBus/publication/ConversantDisruptor.java index 4331ad0..3ac1fa3 100644 --- a/src/dorkbox/messageBus/publication/ConversantDisruptor.java +++ b/src/dorkbox/messageBus/publication/ConversantDisruptor.java @@ -45,7 +45,7 @@ class ConversantDisruptor implements Publisher { workQueue = new DisruptorBlockingQueue<>(minQueueCapacity, SpinPolicy.WAITING); threadExecutor = new ThreadPoolExecutor(numberOfThreads, numberOfThreads, 0L, TimeUnit.MILLISECONDS, workQueue, - new NamedThreadFactory("MessageBus", Thread.NORM_PRIORITY, true)); + new NamedThreadFactory("MessageBus", true)); } public diff --git a/src/dorkbox/messageBus/publication/LmaxDisruptor.java b/src/dorkbox/messageBus/publication/LmaxDisruptor.java index 7d579d4..21082bf 100644 --- a/src/dorkbox/messageBus/publication/LmaxDisruptor.java +++ b/src/dorkbox/messageBus/publication/LmaxDisruptor.java @@ -78,7 +78,7 @@ class LmaxDisruptor implements Publisher { threadExecutor = new ThreadPoolExecutor(numberOfThreads, numberOfThreads, 0L, TimeUnit.MILLISECONDS, new DisruptorBlockingQueue(minQueueCapacity, SpinPolicy.WAITING), - new NamedThreadFactory("MessageBus", Thread.NORM_PRIORITY, true)); + new NamedThreadFactory("MessageBus", true)); // Now we setup the disruptor and work handlers diff --git a/src/dorkbox/messageBus/subscription/Subscription.java b/src/dorkbox/messageBus/subscription/Subscription.java index 08dceba..2835473 100644 --- a/src/dorkbox/messageBus/subscription/Subscription.java +++ b/src/dorkbox/messageBus/subscription/Subscription.java @@ -18,10 +18,10 @@ package dorkbox.messageBus.subscription; import java.util.concurrent.atomic.AtomicInteger; import java.util.concurrent.atomic.AtomicReferenceFieldUpdater; +import dorkbox.collections.IdentityMap; import dorkbox.messageBus.common.MessageHandler; import dorkbox.messageBus.error.ErrorHandler; import dorkbox.messageBus.publication.Publisher; -import dorkbox.util.collections.IdentityMap; /** * A subscription is a container that manages exactly one message handler of all registered diff --git a/src/dorkbox/messageBus/subscription/SubscriptionManager.java b/src/dorkbox/messageBus/subscription/SubscriptionManager.java index 125511d..6691e57 100644 --- a/src/dorkbox/messageBus/subscription/SubscriptionManager.java +++ b/src/dorkbox/messageBus/subscription/SubscriptionManager.java @@ -19,6 +19,7 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.concurrent.atomic.AtomicReferenceFieldUpdater; +import dorkbox.collections.IdentityMap; import dorkbox.messageBus.SubscriptionMode; import dorkbox.messageBus.common.ClassTree; import dorkbox.messageBus.common.MessageHandler; @@ -26,7 +27,6 @@ import dorkbox.messageBus.common.MultiClass; import dorkbox.messageBus.subscription.asm.AsmFactory; import dorkbox.messageBus.subscription.reflection.ReflectionFactory; import dorkbox.util.classes.ClassHierarchy; -import dorkbox.util.collections.IdentityMap; /**