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.TransferListenervoidtransferCorrupted(org.eclipse.aether.transfer.TransferEvent event) voidtransferFailed(org.eclipse.aether.transfer.TransferEvent event) voidtransferInitiated(org.eclipse.aether.transfer.TransferEvent event) voidtransferProgressed(org.eclipse.aether.transfer.TransferEvent event) voidtransferStarted(org.eclipse.aether.transfer.TransferEvent event) voidtransferSucceeded(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:
transferInitiatedin interfaceorg.eclipse.aether.transfer.TransferListener- Overrides:
transferInitiatedin classorg.eclipse.aether.transfer.AbstractTransferListener
-
transferStarted
public void transferStarted(org.eclipse.aether.transfer.TransferEvent event) throws org.eclipse.aether.transfer.TransferCancelledException - Specified by:
transferStartedin interfaceorg.eclipse.aether.transfer.TransferListener- Overrides:
transferStartedin 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:
transferProgressedin interfaceorg.eclipse.aether.transfer.TransferListener- Overrides:
transferProgressedin 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:
transferCorruptedin interfaceorg.eclipse.aether.transfer.TransferListener- Overrides:
transferCorruptedin classorg.eclipse.aether.transfer.AbstractTransferListener- Throws:
org.eclipse.aether.transfer.TransferCancelledException
-
transferSucceeded
public void transferSucceeded(org.eclipse.aether.transfer.TransferEvent event) - Specified by:
transferSucceededin interfaceorg.eclipse.aether.transfer.TransferListener- Overrides:
transferSucceededin classorg.eclipse.aether.transfer.AbstractTransferListener
-
transferFailed
public void transferFailed(org.eclipse.aether.transfer.TransferEvent event) - Specified by:
transferFailedin interfaceorg.eclipse.aether.transfer.TransferListener- Overrides:
transferFailedin classorg.eclipse.aether.transfer.AbstractTransferListener
-