GrpcStreamSubscription.java
- /*
- * @copyright defined in LICENSE.txt
- */
- package hera.client.stream;
- import static org.slf4j.LoggerFactory.getLogger;
- import lombok.RequiredArgsConstructor;
- import org.slf4j.Logger;
- @RequiredArgsConstructor
- public class GrpcStreamSubscription<T> implements hera.api.model.Subscription<T> {
- protected final transient Logger logger = getLogger(getClass());
- protected final io.grpc.Context.CancellableContext context;
- @Override
- public void unsubscribe() {
- logger.info("Unsubscribe subscription: {}", getClass());
- synchronized (this) {
- context.close();
- }
- }
- @Override
- public boolean isUnsubscribed() {
- return context.isCancelled();
- }
- }