Package org.apache.maven.cli.transfer
Class SimplexTransferListener
java.lang.Object
org.eclipse.aether.transfer.AbstractTransferListener
org.apache.maven.cli.transfer.SimplexTransferListener
- All Implemented Interfaces:
org.eclipse.aether.transfer.TransferListener
public final class SimplexTransferListener
extends org.eclipse.aether.transfer.AbstractTransferListener
A
TransferListener
implementation that wraps another delegate TransferListener
but makes it run
on single thread, keeping the listener logic simple. This listener also blocks on last transfer event to allow
output to perform possible cleanup. It spawns a daemon thread to consume queued events that may fall in even
concurrently.- Since:
- 3.9.7
-
Constructor Summary
ConstructorsConstructorDescriptionSimplexTransferListener
(org.eclipse.aether.transfer.TransferListener delegate) Constructor that makes passed in delegate run on single thread, and will block on last event.SimplexTransferListener
(org.eclipse.aether.transfer.TransferListener delegate, int queueSize, int batchMaxSize, boolean blockOnLastEvent) Constructor that may alter behaviour of this listener. -
Method Summary
Modifier and TypeMethodDescriptionorg.eclipse.aether.transfer.TransferListener
void
transferCorrupted
(org.eclipse.aether.transfer.TransferEvent event) void
transferFailed
(org.eclipse.aether.transfer.TransferEvent event) void
transferInitiated
(org.eclipse.aether.transfer.TransferEvent event) void
transferProgressed
(org.eclipse.aether.transfer.TransferEvent event) void
transferStarted
(org.eclipse.aether.transfer.TransferEvent event) void
transferSucceeded
(org.eclipse.aether.transfer.TransferEvent event)
-
Constructor Details
-
SimplexTransferListener
public SimplexTransferListener(org.eclipse.aether.transfer.TransferListener delegate) Constructor that makes passed in delegate run on single thread, and will block on last event. -
SimplexTransferListener
public SimplexTransferListener(org.eclipse.aether.transfer.TransferListener delegate, int queueSize, int batchMaxSize, boolean blockOnLastEvent) Constructor that may alter behaviour of this listener.- Parameters:
delegate
- The delegate that should run on single thread.queueSize
- The event queue size (default1024
).batchMaxSize
- The maximum batch size delegate should receive (default500
).blockOnLastEvent
- Should this listener block on last transfer end (completed or corrupted) block? (defaulttrue
).
-
-
Method Details
-
getDelegate
public org.eclipse.aether.transfer.TransferListener getDelegate() -
transferInitiated
public void transferInitiated(org.eclipse.aether.transfer.TransferEvent event) - Specified by:
transferInitiated
in interfaceorg.eclipse.aether.transfer.TransferListener
- Overrides:
transferInitiated
in classorg.eclipse.aether.transfer.AbstractTransferListener
-
transferStarted
public void transferStarted(org.eclipse.aether.transfer.TransferEvent event) throws org.eclipse.aether.transfer.TransferCancelledException - Specified by:
transferStarted
in interfaceorg.eclipse.aether.transfer.TransferListener
- Overrides:
transferStarted
in classorg.eclipse.aether.transfer.AbstractTransferListener
- Throws:
org.eclipse.aether.transfer.TransferCancelledException
-
transferProgressed
public void transferProgressed(org.eclipse.aether.transfer.TransferEvent event) throws org.eclipse.aether.transfer.TransferCancelledException - Specified by:
transferProgressed
in interfaceorg.eclipse.aether.transfer.TransferListener
- Overrides:
transferProgressed
in classorg.eclipse.aether.transfer.AbstractTransferListener
- Throws:
org.eclipse.aether.transfer.TransferCancelledException
-
transferCorrupted
public void transferCorrupted(org.eclipse.aether.transfer.TransferEvent event) throws org.eclipse.aether.transfer.TransferCancelledException - Specified by:
transferCorrupted
in interfaceorg.eclipse.aether.transfer.TransferListener
- Overrides:
transferCorrupted
in classorg.eclipse.aether.transfer.AbstractTransferListener
- Throws:
org.eclipse.aether.transfer.TransferCancelledException
-
transferSucceeded
public void transferSucceeded(org.eclipse.aether.transfer.TransferEvent event) - Specified by:
transferSucceeded
in interfaceorg.eclipse.aether.transfer.TransferListener
- Overrides:
transferSucceeded
in classorg.eclipse.aether.transfer.AbstractTransferListener
-
transferFailed
public void transferFailed(org.eclipse.aether.transfer.TransferEvent event) - Specified by:
transferFailed
in interfaceorg.eclipse.aether.transfer.TransferListener
- Overrides:
transferFailed
in classorg.eclipse.aether.transfer.AbstractTransferListener
-