akka.stream.javadsl.Flow.toMat()方法的使用及代码示例

x33g5p2x  于2022-01-19 转载在 其他  
字(3.3k)|赞(0)|评价(0)|浏览(115)

本文整理了Java中akka.stream.javadsl.Flow.toMat()方法的一些代码示例,展示了Flow.toMat()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Flow.toMat()方法的具体详情如下:
包路径:akka.stream.javadsl.Flow
类名称:Flow
方法名:toMat

Flow.toMat介绍

暂无

代码示例

代码示例来源:origin: com.typesafe.play/play_2.12

@Override
public Accumulator<ByteString, F.Either<Result, A>> apply(Http.RequestHeader request) {
  Flow<ByteString, ByteString, Future<MaxSizeStatus>> takeUpToFlow = Flow.fromGraph(play.api.mvc.BodyParsers$.MODULE$.takeUpTo(maxLength));
  Sink<ByteString, CompletionStage<F.Either<Result, A>>> result = apply1(request).toSink();
  return Accumulator.fromSink(takeUpToFlow.toMat(result, (statusFuture, resultFuture) ->
    FutureConverters.toJava(statusFuture).thenCompose(status -> {
     if (status instanceof MaxSizeNotExceeded$) {
       return resultFuture;
     } else {
       return errorHandler.onClientError(request, Status$.MODULE$.REQUEST_ENTITY_TOO_LARGE(), "Request entity too large")
           .thenApply(F.Either::<Result, A>Left);
     }
    })
  ));
}

代码示例来源:origin: com.typesafe.play/play

@Override
public Accumulator<ByteString, F.Either<Result, A>> apply(Http.RequestHeader request) {
  Flow<ByteString, ByteString, Future<MaxSizeStatus>> takeUpToFlow = Flow.fromGraph(play.api.mvc.BodyParsers$.MODULE$.takeUpTo(maxLength));
  Sink<ByteString, CompletionStage<F.Either<Result, A>>> result = apply1(request).toSink();
  return Accumulator.fromSink(takeUpToFlow.toMat(result, (statusFuture, resultFuture) ->
    FutureConverters.toJava(statusFuture).thenCompose(status -> {
     if (status instanceof MaxSizeNotExceeded$) {
       return resultFuture;
     } else {
       return errorHandler.onClientError(request, Status$.MODULE$.REQUEST_ENTITY_TOO_LARGE(), "Request entity too large")
           .thenApply(F.Either::<Result, A>Left);
     }
    })
  ));
}

代码示例来源:origin: com.typesafe.play/play_2.11

@Override
public Accumulator<ByteString, F.Either<Result, A>> apply(Http.RequestHeader request) {
  Flow<ByteString, ByteString, Future<MaxSizeStatus>> takeUpToFlow = Flow.fromGraph(play.api.mvc.BodyParsers$.MODULE$.takeUpTo(maxLength));
  Sink<ByteString, CompletionStage<F.Either<Result, A>>> result = apply1(request).toSink();
  return Accumulator.fromSink(takeUpToFlow.toMat(result, (statusFuture, resultFuture) ->
    FutureConverters.toJava(statusFuture).thenCompose(status -> {
     if (status instanceof MaxSizeNotExceeded$) {
       return resultFuture;
     } else {
       return errorHandler.onClientError(request, Status$.MODULE$.REQUEST_ENTITY_TOO_LARGE(), "Request entity too large")
           .thenApply(F.Either::<Result, A>Left);
     }
    })
  ));
}

代码示例来源:origin: com.typesafe.play/play-streams_2.11

public <D> Accumulator<D, A> through(Flow<D, E, ?> flow) {
  return new SinkAccumulator<>(flow.toMat(toSink, Keep.right()));
}

代码示例来源:origin: com.typesafe.play/play-streams_2.12

public <D> Accumulator<D, A> through(Flow<D, E, ?> flow) {
  return new SinkAccumulator<>(flow.toMat(toSink, Keep.right()));
}

代码示例来源:origin: com.typesafe.play/play-streams_2.11

public <D> Accumulator<D, A> through(Flow<D, E, ?> flow) {
  return new SinkAccumulator<>(flow.toMat(sink, Keep.right()));
}

代码示例来源:origin: com.typesafe.play/play-streams_2.12

public <D> Accumulator<D, A> through(Flow<D, E, ?> flow) {
  return new SinkAccumulator<>(flow.toMat(sink, Keep.right()));
}

相关文章