From a436338237d11d88c3c0efb41456f76535b65fc9 Mon Sep 17 00:00:00 2001 From: Leumor <116955025+leumor@users.noreply.github.com> Date: Tue, 24 Mar 2026 21:50:06 +0000 Subject: [PATCH] refactor(runtime): re-home endpoint wiring package Move the endpoint and TMCI wiring cluster into network.crypta.runtime.endpoints and update affected imports, package statements, and tests.\n\nCarry the existing SpotBugs exclusions forward so the package move remains tooling-neutral. --- build-logic/spotbugs-exclude.xml | 10 +++++----- .../fcp/CoreFcpServerDependenciesFactory.java | 10 +++++----- .../crypta/node/ClientContextInitParams.java | 2 ++ src/main/java/network/crypta/node/Node.java | 1 + .../network/crypta/node/NodeClientCore.java | 4 ++++ .../crypta/node/NodeClientCoreSupport.java | 1 + .../node/NodeClientCoreTransferPolicy.java | 1 + .../java/network/crypta/node/PeerManager.java | 8 +++++++- .../runtime/admin/LegacyQueueInsertPort.java | 2 +- .../endpoints}/ClientEndpoints.java | 5 ++++- .../endpoints}/NodeClientCoreInit.java | 3 ++- .../endpoints}/NodeClientPersistence.java | 9 ++++++++- .../endpoints}/TextModeClientInterface.java | 20 ++++++++++++++----- .../TextModeClientInterfaceConsole.java | 2 +- .../TextModeClientInterfaceServer.java | 5 ++++- .../runtime/endpoints/package-info.java | 13 ++++++++++++ .../http/CoreHttpShellRuntimeSupportTest.java | 2 +- .../clients/http/SimpleToadletServerTest.java | 2 +- .../crypta/node/NodeClientCoreTest.java | 2 ++ .../NodeClientCoreTransferPolicyTest.java | 1 + .../admin/LegacyQueueCompletionPortTest.java | 2 +- .../admin/LegacyQueueDownloadPortTest.java | 2 +- .../admin/LegacyQueueInsertPortTest.java | 2 +- .../admin/LegacyQueueMutationPortTest.java | 2 +- .../admin/LegacyQueuePagePortTest.java | 2 +- .../admin/LegacyQueueSupportPortTest.java | 2 +- .../endpoints}/ClientEndpointsTest.java | 5 ++++- .../endpoints}/NodeClientCoreInitTest.java | 2 +- .../endpoints}/NodeClientPersistenceTest.java | 13 +++++++++--- .../TextModeClientInterfaceServerTest.java | 4 +++- .../TextModeClientInterfaceTest.java | 4 +++- 31 files changed, 106 insertions(+), 37 deletions(-) rename src/main/java/network/crypta/{node => runtime/endpoints}/ClientEndpoints.java (98%) rename src/main/java/network/crypta/{node => runtime/endpoints}/NodeClientCoreInit.java (96%) rename src/main/java/network/crypta/{node => runtime/endpoints}/NodeClientPersistence.java (97%) rename src/main/java/network/crypta/{node => runtime/endpoints}/TextModeClientInterface.java (99%) rename src/main/java/network/crypta/{node => runtime/endpoints}/TextModeClientInterfaceConsole.java (98%) rename src/main/java/network/crypta/{node => runtime/endpoints}/TextModeClientInterfaceServer.java (99%) create mode 100644 src/main/java/network/crypta/runtime/endpoints/package-info.java rename src/test/java/network/crypta/{node => runtime/endpoints}/ClientEndpointsTest.java (97%) rename src/test/java/network/crypta/{node => runtime/endpoints}/NodeClientCoreInitTest.java (97%) rename src/test/java/network/crypta/{node => runtime/endpoints}/NodeClientPersistenceTest.java (97%) rename src/test/java/network/crypta/{node => runtime/endpoints}/TextModeClientInterfaceServerTest.java (98%) rename src/test/java/network/crypta/{node => runtime/endpoints}/TextModeClientInterfaceTest.java (98%) diff --git a/build-logic/spotbugs-exclude.xml b/build-logic/spotbugs-exclude.xml index 9e54f759cfd..8dedf42f57e 100644 --- a/build-logic/spotbugs-exclude.xml +++ b/build-logic/spotbugs-exclude.xml @@ -194,7 +194,7 @@ --> - + @@ -440,7 +440,7 @@ - + @@ -1154,7 +1154,7 @@ - + @@ -1350,11 +1350,11 @@ - + - + diff --git a/src/main/java/network/crypta/clients/fcp/CoreFcpServerDependenciesFactory.java b/src/main/java/network/crypta/clients/fcp/CoreFcpServerDependenciesFactory.java index 7cbe2a8bbe3..d5785ce775b 100644 --- a/src/main/java/network/crypta/clients/fcp/CoreFcpServerDependenciesFactory.java +++ b/src/main/java/network/crypta/clients/fcp/CoreFcpServerDependenciesFactory.java @@ -8,11 +8,11 @@ * Builds the core-backed dependency bundle used by FCP server bootstrap. * *

This factory is intentionally local to {@code clients.fcp}. Callers use it at the bootstrap - * boundary, typically from node startup code such as {@code NodeClientPersistence}, to translate - * the remaining {@link NodeClientCore}-backed services into the narrow package-local seams that - * {@link FCPServer} accepts. That keeps the server constructor and configuration registrar free of - * direct daemon-core references while preserving the runtime behavior that older code paths - * expected. + * boundary, typically from node startup code such as {@code + * network.crypta.runtime.endpoints.NodeClientPersistence}, to translate the remaining {@link + * NodeClientCore}-backed services into the narrow package-local seams that {@link FCPServer} + * accepts. That keeps the server constructor and configuration registrar free of direct daemon-core + * references while preserving the runtime behavior that older code paths expected. * *

The factory is stateless and creates one fresh {@link FcpServerDependencies} bundle per call. * Each bundle contains lightweight adapters over live daemon services rather than detached diff --git a/src/main/java/network/crypta/node/ClientContextInitParams.java b/src/main/java/network/crypta/node/ClientContextInitParams.java index 7969e62be15..49b1aedd3df 100644 --- a/src/main/java/network/crypta/node/ClientContextInitParams.java +++ b/src/main/java/network/crypta/node/ClientContextInitParams.java @@ -8,6 +8,8 @@ import network.crypta.client.async.USKManager; import network.crypta.crypt.MasterSecret; import network.crypta.crypt.RandomSource; +import network.crypta.runtime.endpoints.NodeClientCoreInit; +import network.crypta.runtime.endpoints.NodeClientPersistence; import network.crypta.support.MemoryLimitedJobRunner; import network.crypta.support.PriorityAwareExecutor; import network.crypta.support.Ticker; diff --git a/src/main/java/network/crypta/node/Node.java b/src/main/java/network/crypta/node/Node.java index aca43ca847c..c17a2c78c21 100644 --- a/src/main/java/network/crypta/node/Node.java +++ b/src/main/java/network/crypta/node/Node.java @@ -41,6 +41,7 @@ import network.crypta.node.subsystem.NodeRoutingSubsystem; import network.crypta.node.subsystem.NodeServicesSubsystem; import network.crypta.node.subsystem.NodeStorageSubsystem; +import network.crypta.runtime.endpoints.NodeClientCoreInit; import network.crypta.support.Fields; import network.crypta.support.HexUtil; import network.crypta.support.PriorityAwareExecutor; diff --git a/src/main/java/network/crypta/node/NodeClientCore.java b/src/main/java/network/crypta/node/NodeClientCore.java index 779e0c69e04..68ce6ba5160 100644 --- a/src/main/java/network/crypta/node/NodeClientCore.java +++ b/src/main/java/network/crypta/node/NodeClientCore.java @@ -23,6 +23,10 @@ import network.crypta.node.SecurityLevels.PHYSICAL_THREAT_LEVEL; import network.crypta.node.runtime.LegacyRuntimePorts; import network.crypta.node.useralerts.UserAlertManager; +import network.crypta.runtime.endpoints.ClientEndpoints; +import network.crypta.runtime.endpoints.NodeClientCoreInit; +import network.crypta.runtime.endpoints.NodeClientPersistence; +import network.crypta.runtime.endpoints.TextModeClientInterface; import network.crypta.runtime.spi.RuntimePorts; import network.crypta.support.Base64; import network.crypta.support.MemoryLimitedJobRunner; diff --git a/src/main/java/network/crypta/node/NodeClientCoreSupport.java b/src/main/java/network/crypta/node/NodeClientCoreSupport.java index 29424d6323e..728c48365a1 100644 --- a/src/main/java/network/crypta/node/NodeClientCoreSupport.java +++ b/src/main/java/network/crypta/node/NodeClientCoreSupport.java @@ -40,6 +40,7 @@ import network.crypta.node.useralerts.SimpleUserAlert; import network.crypta.node.useralerts.UserAlert; import network.crypta.node.useralerts.UserAlertManager; +import network.crypta.runtime.endpoints.NodeClientCoreInit; import network.crypta.support.SizeUtil; import network.crypta.support.compress.Compressor; import network.crypta.support.io.FileUtil; diff --git a/src/main/java/network/crypta/node/NodeClientCoreTransferPolicy.java b/src/main/java/network/crypta/node/NodeClientCoreTransferPolicy.java index 2b562e0490e..7cf7bb847bd 100644 --- a/src/main/java/network/crypta/node/NodeClientCoreTransferPolicy.java +++ b/src/main/java/network/crypta/node/NodeClientCoreTransferPolicy.java @@ -5,6 +5,7 @@ import network.crypta.config.Option; import network.crypta.config.StringArrCallback; import network.crypta.node.SecurityLevels.PHYSICAL_THREAT_LEVEL; +import network.crypta.runtime.endpoints.NodeClientCoreInit; import network.crypta.support.io.FileUtil; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/src/main/java/network/crypta/node/PeerManager.java b/src/main/java/network/crypta/node/PeerManager.java index c0e70d8d17c..8acc9579871 100644 --- a/src/main/java/network/crypta/node/PeerManager.java +++ b/src/main/java/network/crypta/node/PeerManager.java @@ -313,7 +313,13 @@ void writePeersDarknet() { peerPersistence.writePeers(false); } - void writePeersDarknetUrgent() { + /** + * Forces an urgent write of darknet peer state to disk. + * + *

This preserves the historical TMCI behavior of flushing peer list mutations immediately + * after add/remove operations. + */ + public void writePeersDarknetUrgent() { peerPersistence.writePeersUrgent(false); } diff --git a/src/main/java/network/crypta/runtime/admin/LegacyQueueInsertPort.java b/src/main/java/network/crypta/runtime/admin/LegacyQueueInsertPort.java index 6c9aa1f28bd..b07321f3b35 100644 --- a/src/main/java/network/crypta/runtime/admin/LegacyQueueInsertPort.java +++ b/src/main/java/network/crypta/runtime/admin/LegacyQueueInsertPort.java @@ -28,10 +28,10 @@ import network.crypta.clients.fcp.IdentifierCollisionException; import network.crypta.clients.fcp.NotAllowedException; import network.crypta.keys.FreenetURI; -import network.crypta.node.ClientEndpoints; import network.crypta.node.Node; import network.crypta.node.NodeClientCore; import network.crypta.node.RequestStarter; +import network.crypta.runtime.endpoints.ClientEndpoints; import network.crypta.runtime.spi.QueueBrowserUploadInsertRequest; import network.crypta.runtime.spi.QueueInsertFailureReason; import network.crypta.runtime.spi.QueueInsertOutcome; diff --git a/src/main/java/network/crypta/node/ClientEndpoints.java b/src/main/java/network/crypta/runtime/endpoints/ClientEndpoints.java similarity index 98% rename from src/main/java/network/crypta/node/ClientEndpoints.java rename to src/main/java/network/crypta/runtime/endpoints/ClientEndpoints.java index dfd6dc787f6..438b47848d6 100644 --- a/src/main/java/network/crypta/node/ClientEndpoints.java +++ b/src/main/java/network/crypta/runtime/endpoints/ClientEndpoints.java @@ -1,10 +1,13 @@ -package network.crypta.node; +package network.crypta.runtime.endpoints; import java.util.concurrent.atomic.AtomicReference; import network.crypta.client.async.ClientContext; import network.crypta.clients.fcp.FCPServer; import network.crypta.clients.http.FProxyToadlet; import network.crypta.clients.http.SimpleToadletServer; +import network.crypta.node.Node; +import network.crypta.node.NodeClientCore; +import network.crypta.node.NodeClientCoreSupport; import network.crypta.node.useralerts.UserAlert; import network.crypta.node.useralerts.UserAlertManager; import network.crypta.runtime.spi.RuntimePorts; diff --git a/src/main/java/network/crypta/node/NodeClientCoreInit.java b/src/main/java/network/crypta/runtime/endpoints/NodeClientCoreInit.java similarity index 96% rename from src/main/java/network/crypta/node/NodeClientCoreInit.java rename to src/main/java/network/crypta/runtime/endpoints/NodeClientCoreInit.java index f11ee58ff4d..e7e7b60ff04 100644 --- a/src/main/java/network/crypta/node/NodeClientCoreInit.java +++ b/src/main/java/network/crypta/runtime/endpoints/NodeClientCoreInit.java @@ -1,8 +1,9 @@ -package network.crypta.node; +package network.crypta.runtime.endpoints; import network.crypta.clients.http.SimpleToadletServer; import network.crypta.config.Config; import network.crypta.config.SubConfig; +import network.crypta.node.NodeClientCore; /** * Bundles configuration inputs required to initialize {@link NodeClientCore}. diff --git a/src/main/java/network/crypta/node/NodeClientPersistence.java b/src/main/java/network/crypta/runtime/endpoints/NodeClientPersistence.java similarity index 97% rename from src/main/java/network/crypta/node/NodeClientPersistence.java rename to src/main/java/network/crypta/runtime/endpoints/NodeClientPersistence.java index ae34fa5ec9b..ad7cb5552c0 100644 --- a/src/main/java/network/crypta/node/NodeClientPersistence.java +++ b/src/main/java/network/crypta/runtime/endpoints/NodeClientPersistence.java @@ -1,4 +1,4 @@ -package network.crypta.node; +package network.crypta.runtime.endpoints; import java.io.File; import java.util.Objects; @@ -15,6 +15,13 @@ import network.crypta.config.Option; import network.crypta.config.SubConfig; import network.crypta.crypt.MasterSecret; +import network.crypta.node.ClientContextInitParams; +import network.crypta.node.ConfigurablePersister; +import network.crypta.node.ConfigurablePersisterParams; +import network.crypta.node.Node; +import network.crypta.node.NodeClientCore; +import network.crypta.node.NodeInitException; +import network.crypta.node.Persistable; import network.crypta.runtime.spi.RuntimePorts; import network.crypta.support.SimpleFieldSet; import network.crypta.support.Ticker; diff --git a/src/main/java/network/crypta/node/TextModeClientInterface.java b/src/main/java/network/crypta/runtime/endpoints/TextModeClientInterface.java similarity index 99% rename from src/main/java/network/crypta/node/TextModeClientInterface.java rename to src/main/java/network/crypta/runtime/endpoints/TextModeClientInterface.java index 5cb97093284..e7629cac34e 100644 --- a/src/main/java/network/crypta/node/TextModeClientInterface.java +++ b/src/main/java/network/crypta/runtime/endpoints/TextModeClientInterface.java @@ -1,4 +1,4 @@ -package network.crypta.node; +package network.crypta.runtime.endpoints; import java.io.BufferedReader; import java.io.BufferedWriter; @@ -57,8 +57,18 @@ import network.crypta.io.comm.ReferenceSignatureVerificationException; import network.crypta.keys.FreenetURI; import network.crypta.keys.InsertableClientSSK; +import network.crypta.node.AnnouncementCallback; import network.crypta.node.DarknetPeerNode.FRIEND_TRUST; import network.crypta.node.DarknetPeerNode.FRIEND_VISIBILITY; +import network.crypta.node.DarknetPeerNode; +import network.crypta.node.FSParseException; +import network.crypta.node.Node; +import network.crypta.node.NodeClientCore; +import network.crypta.node.PeerNode; +import network.crypta.node.PeerTooOldException; +import network.crypta.node.RequestClient; +import network.crypta.node.RequestStarter; +import network.crypta.node.Version; import network.crypta.support.HexUtil; import network.crypta.support.SimpleFieldSet; import network.crypta.support.SizeUtil; @@ -1654,7 +1664,7 @@ private boolean disablePeer(String nodeIdentifier) { if (peer != null) { nodeIpAndPort = peer.toString(); } - String name = pn.myName; + String name = pn.getName(); String identity = pn.getIdentityString(); if (identity.equals(nodeIdentifier) || nodeIpAndPort.equals(nodeIdentifier) @@ -1677,7 +1687,7 @@ private boolean enablePeer(String nodeIdentifier) { if (peer != null) { nodeIpAndPort = peer.toString(); } - String name = pn.myName; + String name = pn.getName(); String identity = pn.getIdentityString(); if (identity.equals(nodeIdentifier) || nodeIpAndPort.equals(nodeIdentifier) @@ -1700,7 +1710,7 @@ private boolean havePeer(String nodeIdentifier) { if (peer != null) { nodeIpAndPort = peer.toString(); } - String name = pn.myName; + String name = pn.getName(); String identity = pn.getIdentityString(); if (identity.equals(nodeIdentifier) || nodeIpAndPort.equals(nodeIdentifier) @@ -1723,7 +1733,7 @@ private boolean removePeer(String nodeIdentifier) { if (peer != null) { nodeIpAndPort = peer.toString(); } - String name = pn.myName; + String name = pn.getName(); String identity = pn.getIdentityString(); if (identity.equals(nodeIdentifier) || nodeIpAndPort.equals(nodeIdentifier) diff --git a/src/main/java/network/crypta/node/TextModeClientInterfaceConsole.java b/src/main/java/network/crypta/runtime/endpoints/TextModeClientInterfaceConsole.java similarity index 98% rename from src/main/java/network/crypta/node/TextModeClientInterfaceConsole.java rename to src/main/java/network/crypta/runtime/endpoints/TextModeClientInterfaceConsole.java index 2490b5ee6c9..e02a493146a 100644 --- a/src/main/java/network/crypta/node/TextModeClientInterfaceConsole.java +++ b/src/main/java/network/crypta/runtime/endpoints/TextModeClientInterfaceConsole.java @@ -1,4 +1,4 @@ -package network.crypta.node; +package network.crypta.runtime.endpoints; /** * Console bridge used by the Text Mode Client Interface. diff --git a/src/main/java/network/crypta/node/TextModeClientInterfaceServer.java b/src/main/java/network/crypta/runtime/endpoints/TextModeClientInterfaceServer.java similarity index 99% rename from src/main/java/network/crypta/node/TextModeClientInterfaceServer.java rename to src/main/java/network/crypta/runtime/endpoints/TextModeClientInterfaceServer.java index f3a285575bf..220f2bdf127 100644 --- a/src/main/java/network/crypta/node/TextModeClientInterfaceServer.java +++ b/src/main/java/network/crypta/runtime/endpoints/TextModeClientInterfaceServer.java @@ -1,4 +1,4 @@ -package network.crypta.node; +package network.crypta.runtime.endpoints; import java.io.File; import java.io.IOException; @@ -18,6 +18,9 @@ import network.crypta.crypt.RandomSource; import network.crypta.io.NetworkInterface; import network.crypta.io.SSLNetworkInterface; +import network.crypta.node.Node; +import network.crypta.node.NodeClientCore; +import network.crypta.node.RequestStarter; import network.crypta.node.runtime.SSL; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/src/main/java/network/crypta/runtime/endpoints/package-info.java b/src/main/java/network/crypta/runtime/endpoints/package-info.java new file mode 100644 index 00000000000..bc8fb78e714 --- /dev/null +++ b/src/main/java/network/crypta/runtime/endpoints/package-info.java @@ -0,0 +1,13 @@ +/** + * Client endpoint wiring and TMCI bootstrap support for the runtime boundary. + * + *

This package groups the legacy endpoint bootstrap cluster that still wires the live FCP, HTTP, + * and text-mode client interfaces from daemon-backed services. The classes remain in the root + * project and keep their existing collaboration patterns, including package-private TMCI access, + * but they now sit under a neutral runtime-oriented package instead of {@code network.crypta.node}. + * + *

The intent is ownership clarification only. These types still depend on daemon-local services + * such as {@code Node}, {@code NodeClientCore}, queue persistence, and HTTP/FCP bootstrap helpers, + * and they intentionally preserve the current runtime behavior and lifecycle semantics. + */ +package network.crypta.runtime.endpoints; diff --git a/src/test/java/network/crypta/clients/http/CoreHttpShellRuntimeSupportTest.java b/src/test/java/network/crypta/clients/http/CoreHttpShellRuntimeSupportTest.java index 04d0abd0a8d..56ce081c496 100644 --- a/src/test/java/network/crypta/clients/http/CoreHttpShellRuntimeSupportTest.java +++ b/src/test/java/network/crypta/clients/http/CoreHttpShellRuntimeSupportTest.java @@ -10,7 +10,6 @@ import network.crypta.clients.http.bookmark.BookmarkManager; import network.crypta.clients.http.bookmark.CoreBookmarkRuntimeSupport; import network.crypta.config.PersistentConfig; -import network.crypta.node.ClientEndpoints; import network.crypta.node.Node; import network.crypta.node.NodeClientCore; import network.crypta.node.RequestStarter; @@ -21,6 +20,7 @@ import network.crypta.node.subsystem.NodeNetworkSubsystem; import network.crypta.node.subsystem.NodeServicesSubsystem; import network.crypta.node.useralerts.UserAlertManager; +import network.crypta.runtime.endpoints.ClientEndpoints; import network.crypta.runtime.spi.RuntimePorts; import network.crypta.support.Ticker; import org.junit.jupiter.api.Test; diff --git a/src/test/java/network/crypta/clients/http/SimpleToadletServerTest.java b/src/test/java/network/crypta/clients/http/SimpleToadletServerTest.java index 20c0973dc0f..5990ec1265f 100644 --- a/src/test/java/network/crypta/clients/http/SimpleToadletServerTest.java +++ b/src/test/java/network/crypta/clients/http/SimpleToadletServerTest.java @@ -15,10 +15,10 @@ import network.crypta.config.SubConfig; import network.crypta.io.NetworkInterface; import network.crypta.io.SSLNetworkInterface; -import network.crypta.node.ClientEndpoints; import network.crypta.node.NodeClientCore; import network.crypta.node.RequestStarter; import network.crypta.node.useralerts.UserAlertManager; +import network.crypta.runtime.endpoints.ClientEndpoints; import network.crypta.runtime.spi.RandomnessPort; import network.crypta.runtime.spi.RuntimePorts; import network.crypta.support.HTMLNode; diff --git a/src/test/java/network/crypta/node/NodeClientCoreTest.java b/src/test/java/network/crypta/node/NodeClientCoreTest.java index 6980a50baf8..797c2bfdbfc 100644 --- a/src/test/java/network/crypta/node/NodeClientCoreTest.java +++ b/src/test/java/network/crypta/node/NodeClientCoreTest.java @@ -22,6 +22,8 @@ import network.crypta.node.runtime.LegacyRuntimePorts; import network.crypta.node.subsystem.NodeServicesSubsystem; import network.crypta.node.useralerts.UserAlertManager; +import network.crypta.runtime.endpoints.ClientEndpoints; +import network.crypta.runtime.endpoints.NodeClientPersistence; import network.crypta.runtime.spi.RuntimePorts; import network.crypta.support.PriorityAwareExecutor; import network.crypta.support.SimpleFieldSet; diff --git a/src/test/java/network/crypta/node/NodeClientCoreTransferPolicyTest.java b/src/test/java/network/crypta/node/NodeClientCoreTransferPolicyTest.java index b336b59c3bd..4923e313216 100644 --- a/src/test/java/network/crypta/node/NodeClientCoreTransferPolicyTest.java +++ b/src/test/java/network/crypta/node/NodeClientCoreTransferPolicyTest.java @@ -10,6 +10,7 @@ import network.crypta.config.SubConfig; import network.crypta.node.SecurityLevels.PHYSICAL_THREAT_LEVEL; import network.crypta.node.subsystem.NodeServicesSubsystem; +import network.crypta.runtime.endpoints.NodeClientCoreInit; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; diff --git a/src/test/java/network/crypta/runtime/admin/LegacyQueueCompletionPortTest.java b/src/test/java/network/crypta/runtime/admin/LegacyQueueCompletionPortTest.java index 8329c9b0604..3d9c460869f 100644 --- a/src/test/java/network/crypta/runtime/admin/LegacyQueueCompletionPortTest.java +++ b/src/test/java/network/crypta/runtime/admin/LegacyQueueCompletionPortTest.java @@ -32,13 +32,13 @@ import network.crypta.crypt.RandomSource; import network.crypta.keys.FreenetURI; import network.crypta.node.ClientContextResources; -import network.crypta.node.ClientEndpoints; import network.crypta.node.Node; import network.crypta.node.NodeClientCore; import network.crypta.node.ProgramDirectory; import network.crypta.node.subsystem.NodeNetworkSubsystem; import network.crypta.node.useralerts.UserAlertManager; import network.crypta.node.useralerts.UserEvent; +import network.crypta.runtime.endpoints.ClientEndpoints; import network.crypta.support.MemoryLimitedJobRunner; import network.crypta.support.PriorityAwareExecutor; import network.crypta.support.Ticker; diff --git a/src/test/java/network/crypta/runtime/admin/LegacyQueueDownloadPortTest.java b/src/test/java/network/crypta/runtime/admin/LegacyQueueDownloadPortTest.java index 6064c251383..e21fe50dc4d 100644 --- a/src/test/java/network/crypta/runtime/admin/LegacyQueueDownloadPortTest.java +++ b/src/test/java/network/crypta/runtime/admin/LegacyQueueDownloadPortTest.java @@ -5,8 +5,8 @@ import network.crypta.clients.fcp.FCPServer; import network.crypta.clients.fcp.NotAllowedException; import network.crypta.clients.fcp.PersistentGlobalRequestParams; -import network.crypta.node.ClientEndpoints; import network.crypta.node.NodeClientCore; +import network.crypta.runtime.endpoints.ClientEndpoints; import network.crypta.runtime.spi.QueueDownloadRejectedException; import network.crypta.runtime.spi.QueueDownloadRequest; import network.crypta.runtime.spi.RequestQueueUnavailableException; diff --git a/src/test/java/network/crypta/runtime/admin/LegacyQueueInsertPortTest.java b/src/test/java/network/crypta/runtime/admin/LegacyQueueInsertPortTest.java index abb09f81bde..49888b1f3cf 100644 --- a/src/test/java/network/crypta/runtime/admin/LegacyQueueInsertPortTest.java +++ b/src/test/java/network/crypta/runtime/admin/LegacyQueueInsertPortTest.java @@ -39,8 +39,8 @@ import network.crypta.crypt.MasterSecret; import network.crypta.crypt.RandomSource; import network.crypta.node.ClientContextResources; -import network.crypta.node.ClientEndpoints; import network.crypta.node.NodeClientCore; +import network.crypta.runtime.endpoints.ClientEndpoints; import network.crypta.runtime.spi.QueueBrowserUploadInsertRequest; import network.crypta.runtime.spi.QueueInsertFailureReason; import network.crypta.runtime.spi.QueueInsertOptions; diff --git a/src/test/java/network/crypta/runtime/admin/LegacyQueueMutationPortTest.java b/src/test/java/network/crypta/runtime/admin/LegacyQueueMutationPortTest.java index 7a6b229d46d..9da65fc73a2 100644 --- a/src/test/java/network/crypta/runtime/admin/LegacyQueueMutationPortTest.java +++ b/src/test/java/network/crypta/runtime/admin/LegacyQueueMutationPortTest.java @@ -6,8 +6,8 @@ import network.crypta.clients.fcp.FCPServer; import network.crypta.clients.fcp.RequestStatus; import network.crypta.clients.fcp.UploadFileRequestStatus; -import network.crypta.node.ClientEndpoints; import network.crypta.node.NodeClientCore; +import network.crypta.runtime.endpoints.ClientEndpoints; import network.crypta.runtime.spi.RequestQueueUnavailableException; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; diff --git a/src/test/java/network/crypta/runtime/admin/LegacyQueuePagePortTest.java b/src/test/java/network/crypta/runtime/admin/LegacyQueuePagePortTest.java index 159f201b685..ac455a18a6d 100644 --- a/src/test/java/network/crypta/runtime/admin/LegacyQueuePagePortTest.java +++ b/src/test/java/network/crypta/runtime/admin/LegacyQueuePagePortTest.java @@ -11,11 +11,11 @@ import network.crypta.clients.fcp.UploadFileRequestStatus; import network.crypta.clients.fcp.UploadRequestStatus; import network.crypta.keys.FreenetURI; -import network.crypta.node.ClientEndpoints; import network.crypta.node.DarknetPeerNode; import network.crypta.node.Node; import network.crypta.node.NodeClientCore; import network.crypta.node.RequestStarterGroup; +import network.crypta.runtime.endpoints.ClientEndpoints; import network.crypta.runtime.spi.QueuePageRequest; import network.crypta.runtime.spi.QueuePageSnapshot; import network.crypta.runtime.spi.RequestQueueUnavailableException; diff --git a/src/test/java/network/crypta/runtime/admin/LegacyQueueSupportPortTest.java b/src/test/java/network/crypta/runtime/admin/LegacyQueueSupportPortTest.java index 7792209365a..2b191b09952 100644 --- a/src/test/java/network/crypta/runtime/admin/LegacyQueueSupportPortTest.java +++ b/src/test/java/network/crypta/runtime/admin/LegacyQueueSupportPortTest.java @@ -3,10 +3,10 @@ import java.io.File; import java.nio.file.Path; import network.crypta.clients.fcp.FCPServer; -import network.crypta.node.ClientEndpoints; import network.crypta.node.Node; import network.crypta.node.NodeClientCore; import network.crypta.node.subsystem.NodeStorageSubsystem; +import network.crypta.runtime.endpoints.ClientEndpoints; import network.crypta.runtime.spi.QueuePersistenceStatusSnapshot; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; diff --git a/src/test/java/network/crypta/node/ClientEndpointsTest.java b/src/test/java/network/crypta/runtime/endpoints/ClientEndpointsTest.java similarity index 97% rename from src/test/java/network/crypta/node/ClientEndpointsTest.java rename to src/test/java/network/crypta/runtime/endpoints/ClientEndpointsTest.java index 1cfeb226b9c..e5657a96f1f 100644 --- a/src/test/java/network/crypta/node/ClientEndpointsTest.java +++ b/src/test/java/network/crypta/runtime/endpoints/ClientEndpointsTest.java @@ -1,10 +1,13 @@ -package network.crypta.node; +package network.crypta.runtime.endpoints; import network.crypta.client.async.ClientContext; import network.crypta.clients.fcp.FCPServer; import network.crypta.clients.http.FProxyToadlet; import network.crypta.clients.http.SimpleToadletServer; import network.crypta.config.Config; +import network.crypta.node.Node; +import network.crypta.node.NodeClientCore; +import network.crypta.node.NodeClientCoreSupport; import network.crypta.node.useralerts.UserAlert; import network.crypta.node.useralerts.UserAlertManager; import network.crypta.runtime.spi.RuntimePorts; diff --git a/src/test/java/network/crypta/node/NodeClientCoreInitTest.java b/src/test/java/network/crypta/runtime/endpoints/NodeClientCoreInitTest.java similarity index 97% rename from src/test/java/network/crypta/node/NodeClientCoreInitTest.java rename to src/test/java/network/crypta/runtime/endpoints/NodeClientCoreInitTest.java index a2a24bcd9df..fb2504722a8 100644 --- a/src/test/java/network/crypta/node/NodeClientCoreInitTest.java +++ b/src/test/java/network/crypta/runtime/endpoints/NodeClientCoreInitTest.java @@ -1,4 +1,4 @@ -package network.crypta.node; +package network.crypta.runtime.endpoints; import network.crypta.clients.http.SimpleToadletServer; import network.crypta.config.Config; diff --git a/src/test/java/network/crypta/node/NodeClientPersistenceTest.java b/src/test/java/network/crypta/runtime/endpoints/NodeClientPersistenceTest.java similarity index 97% rename from src/test/java/network/crypta/node/NodeClientPersistenceTest.java rename to src/test/java/network/crypta/runtime/endpoints/NodeClientPersistenceTest.java index b85102f4415..d5dfc09bfe8 100644 --- a/src/test/java/network/crypta/node/NodeClientPersistenceTest.java +++ b/src/test/java/network/crypta/runtime/endpoints/NodeClientPersistenceTest.java @@ -1,8 +1,9 @@ -package network.crypta.node; +package network.crypta.runtime.endpoints; import java.io.File; import java.util.Arrays; import java.util.Random; +import java.util.concurrent.TimeUnit; import network.crypta.client.ArchiveManager; import network.crypta.client.FetchContext; import network.crypta.client.InsertContext; @@ -22,6 +23,12 @@ import network.crypta.config.SubConfig; import network.crypta.crypt.MasterSecret; import network.crypta.crypt.RandomSource; +import network.crypta.node.ClientContextInitParams; +import network.crypta.node.ClientContextResources; +import network.crypta.node.Node; +import network.crypta.node.NodeClientCore; +import network.crypta.node.NodeInitException; +import network.crypta.node.Persistable; import network.crypta.runtime.spi.RuntimePorts; import network.crypta.support.MemoryLimitedJobRunner; import network.crypta.support.PriorityAwareExecutor; @@ -58,7 +65,7 @@ import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; -@SuppressWarnings("java:S100") +@SuppressWarnings({"java:S100", "StringConcatToTextBlock"}) @ExtendWith(MockitoExtension.class) class NodeClientPersistenceTest { @@ -96,7 +103,7 @@ void startThrottle_whenInvoked_expectPersisterQueuedNextRun(@TempDir File tempDi persistence.startThrottle(); // Assert - verify(ticker).queueTimedJob(any(Runnable.class), eq(Persister.PERIOD)); + verify(ticker).queueTimedJob(any(Runnable.class), eq(TimeUnit.MINUTES.toMillis(15))); } @Test diff --git a/src/test/java/network/crypta/node/TextModeClientInterfaceServerTest.java b/src/test/java/network/crypta/runtime/endpoints/TextModeClientInterfaceServerTest.java similarity index 98% rename from src/test/java/network/crypta/node/TextModeClientInterfaceServerTest.java rename to src/test/java/network/crypta/runtime/endpoints/TextModeClientInterfaceServerTest.java index c6d1de30fcd..4e19a786087 100644 --- a/src/test/java/network/crypta/node/TextModeClientInterfaceServerTest.java +++ b/src/test/java/network/crypta/runtime/endpoints/TextModeClientInterfaceServerTest.java @@ -1,4 +1,4 @@ -package network.crypta.node; +package network.crypta.runtime.endpoints; import java.io.ByteArrayOutputStream; import java.io.File; @@ -11,6 +11,8 @@ import network.crypta.config.SubConfig; import network.crypta.crypt.RandomSource; import network.crypta.io.NetworkInterface; +import network.crypta.node.Node; +import network.crypta.node.NodeClientCore; import network.crypta.node.runtime.SSL; import network.crypta.node.subsystem.NodeBootstrap; import network.crypta.node.subsystem.NodeNetworkSubsystem; diff --git a/src/test/java/network/crypta/node/TextModeClientInterfaceTest.java b/src/test/java/network/crypta/runtime/endpoints/TextModeClientInterfaceTest.java similarity index 98% rename from src/test/java/network/crypta/node/TextModeClientInterfaceTest.java rename to src/test/java/network/crypta/runtime/endpoints/TextModeClientInterfaceTest.java index 4f2ec8fc294..3a8589862a0 100644 --- a/src/test/java/network/crypta/node/TextModeClientInterfaceTest.java +++ b/src/test/java/network/crypta/runtime/endpoints/TextModeClientInterfaceTest.java @@ -1,4 +1,4 @@ -package network.crypta.node; +package network.crypta.runtime.endpoints; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; @@ -8,6 +8,8 @@ import network.crypta.client.FetchResult; import network.crypta.client.HighLevelSimpleClient; import network.crypta.keys.FreenetURI; +import network.crypta.node.Node; +import network.crypta.node.NodeClientCore; import network.crypta.node.subsystem.NodeBootstrap; import network.crypta.support.Base64; import network.crypta.support.io.ArrayBucket;