All Downloads are FREE. Search and download functionalities are using the official Maven repository.

io.scalecube.services.examples.GreetingServiceCancelCallback Maven / Gradle / Ivy

package io.scalecube.services.examples;

import reactor.core.publisher.Flux;
import reactor.core.publisher.Mono;

public class GreetingServiceCancelCallback implements GreetingService {

  private final GreetingService greetingService = new GreetingServiceImpl();
  private final Runnable onCancel;

  public GreetingServiceCancelCallback(Runnable onCancel) {
    this.onCancel = onCancel;
  }

  @Override
  public Mono one(String name) {
    return greetingService.one(name).doOnCancel(onCancel);
  }

  @Override
  public Flux manyStream(Long cnt) {
    return greetingService.manyStream(cnt).doOnCancel(onCancel);
  }

  @Override
  public Mono failingOne(String name) {
    return greetingService.failingOne(name).doOnCancel(onCancel);
  }

  @Override
  public Flux many(String name) {
    return greetingService.many(name).doOnCancel(onCancel);
  }

  @Override
  public Flux failingMany(String name) {
    return greetingService.failingMany(name).doOnCancel(onCancel);
  }

  @Override
  public Mono pojoOne(GreetingRequest request) {
    return greetingService.pojoOne(request).doOnCancel(onCancel);
  }

  @Override
  public Flux pojoMany(GreetingRequest request) {
    return greetingService.pojoMany(request).doOnCancel(onCancel);
  }

  @Override
  public Mono emptyOne(String name) {
    return greetingService.emptyOne(name).doOnCancel(onCancel);
  }

  @Override
  public Flux emptyMany(String name) {
    return greetingService.emptyMany(name).doOnCancel(onCancel);
  }

  @Override
  public Mono neverOne(String name) {
    return greetingService.neverOne(name).doOnCancel(onCancel);
  }

  @Override
  public Mono delayOne(String name) {
    return greetingService.delayOne(name).doOnCancel(onCancel);
  }

  @Override
  public Flux delayMany(String name) {
    return greetingService.delayMany(name).doOnCancel(onCancel);
  }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy