Class PipeImpl<T>
- java.lang.Object
-
- de.quantummaid.eventmaid.internal.pipe.PipeImpl<T>
-
- All Implemented Interfaces:
NoErrorAutoClosable,Pipe<T>,AutoCloseable
public final class PipeImpl<T> extends Object implements Pipe<T>
-
-
Constructor Summary
Constructors Constructor Description PipeImpl(TransportMechanism<T> transportMechanism, PipeStatisticsCollector statisticsCollector, List<Subscriber<T>> subscribers, PipeErrorHandler<T> errorHandler)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanawaitTermination(int timeout, TimeUnit timeUnit)voidclose()voidclose(boolean finishRemainingTasks)PipeStatusInformation<T>getStatusInformation()booleanisClosed()voidsend(T message)SubscriptionIdsubscribe(Subscriber<T> subscriber)SubscriptionIdsubscribe(Consumer<T> consumer)voidunsubscribe(SubscriptionId subscriptionId)
-
-
-
Constructor Detail
-
PipeImpl
public PipeImpl(TransportMechanism<T> transportMechanism, PipeStatisticsCollector statisticsCollector, List<Subscriber<T>> subscribers, PipeErrorHandler<T> errorHandler)
-
-
Method Detail
-
subscribe
public SubscriptionId subscribe(Subscriber<T> subscriber)
-
subscribe
public SubscriptionId subscribe(Consumer<T> consumer)
-
unsubscribe
public void unsubscribe(SubscriptionId subscriptionId)
- Specified by:
unsubscribein interfacePipe<T>
-
getStatusInformation
public PipeStatusInformation<T> getStatusInformation()
- Specified by:
getStatusInformationin interfacePipe<T>
-
close
public void close()
- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceNoErrorAutoClosable
-
awaitTermination
public boolean awaitTermination(int timeout, TimeUnit timeUnit) throws InterruptedException- Specified by:
awaitTerminationin interfacePipe<T>- Throws:
InterruptedException
-
-