Class ServiceUnavailableAsyncDecorator

  • All Implemented Interfaces:
    org.apache.hc.core5.http.nio.AsyncDataConsumer, org.apache.hc.core5.http.nio.AsyncDataExchangeHandler, org.apache.hc.core5.http.nio.AsyncDataProducer, org.apache.hc.core5.http.nio.AsyncServerExchangeHandler, org.apache.hc.core5.http.nio.ResourceHolder

    public class ServiceUnavailableAsyncDecorator
    extends java.lang.Object
    implements org.apache.hc.core5.http.nio.AsyncServerExchangeHandler
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private org.apache.hc.core5.http.nio.AsyncServerExchangeHandler exchangeHandler  
      private org.apache.hc.core5.function.Resolver<org.apache.hc.core5.http.HttpRequest,​org.apache.hc.core5.util.TimeValue> serviceAvailabilityResolver  
      private java.util.concurrent.atomic.AtomicBoolean serviceUnavailable  
    • Constructor Summary

      Constructors 
      Constructor Description
      ServiceUnavailableAsyncDecorator​(org.apache.hc.core5.http.nio.AsyncServerExchangeHandler exchangeHandler, org.apache.hc.core5.function.Resolver<org.apache.hc.core5.http.HttpRequest,​org.apache.hc.core5.util.TimeValue> serviceAvailabilityResolver)  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      int available()  
      void consume​(java.nio.ByteBuffer src)  
      void failed​(java.lang.Exception cause)  
      void handleRequest​(org.apache.hc.core5.http.HttpRequest request, org.apache.hc.core5.http.EntityDetails entityDetails, org.apache.hc.core5.http.nio.ResponseChannel responseChannel, org.apache.hc.core5.http.protocol.HttpContext context)  
      void produce​(org.apache.hc.core5.http.nio.DataStreamChannel channel)  
      void releaseResources()  
      void streamEnd​(java.util.List<? extends org.apache.hc.core5.http.Header> trailers)  
      void updateCapacity​(org.apache.hc.core5.http.nio.CapacityChannel capacityChannel)  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • exchangeHandler

        private final org.apache.hc.core5.http.nio.AsyncServerExchangeHandler exchangeHandler
      • serviceAvailabilityResolver

        private final org.apache.hc.core5.function.Resolver<org.apache.hc.core5.http.HttpRequest,​org.apache.hc.core5.util.TimeValue> serviceAvailabilityResolver
      • serviceUnavailable

        private final java.util.concurrent.atomic.AtomicBoolean serviceUnavailable
    • Constructor Detail

      • ServiceUnavailableAsyncDecorator

        public ServiceUnavailableAsyncDecorator​(org.apache.hc.core5.http.nio.AsyncServerExchangeHandler exchangeHandler,
                                                org.apache.hc.core5.function.Resolver<org.apache.hc.core5.http.HttpRequest,​org.apache.hc.core5.util.TimeValue> serviceAvailabilityResolver)
    • Method Detail

      • handleRequest

        public void handleRequest​(org.apache.hc.core5.http.HttpRequest request,
                                  org.apache.hc.core5.http.EntityDetails entityDetails,
                                  org.apache.hc.core5.http.nio.ResponseChannel responseChannel,
                                  org.apache.hc.core5.http.protocol.HttpContext context)
                           throws org.apache.hc.core5.http.HttpException,
                                  java.io.IOException
        Specified by:
        handleRequest in interface org.apache.hc.core5.http.nio.AsyncServerExchangeHandler
        Throws:
        org.apache.hc.core5.http.HttpException
        java.io.IOException
      • updateCapacity

        public final void updateCapacity​(org.apache.hc.core5.http.nio.CapacityChannel capacityChannel)
                                  throws java.io.IOException
        Specified by:
        updateCapacity in interface org.apache.hc.core5.http.nio.AsyncDataConsumer
        Throws:
        java.io.IOException
      • consume

        public final void consume​(java.nio.ByteBuffer src)
                           throws java.io.IOException
        Specified by:
        consume in interface org.apache.hc.core5.http.nio.AsyncDataConsumer
        Throws:
        java.io.IOException
      • streamEnd

        public final void streamEnd​(java.util.List<? extends org.apache.hc.core5.http.Header> trailers)
                             throws org.apache.hc.core5.http.HttpException,
                                    java.io.IOException
        Specified by:
        streamEnd in interface org.apache.hc.core5.http.nio.AsyncDataConsumer
        Throws:
        org.apache.hc.core5.http.HttpException
        java.io.IOException
      • available

        public int available()
        Specified by:
        available in interface org.apache.hc.core5.http.nio.AsyncDataProducer
      • produce

        public void produce​(org.apache.hc.core5.http.nio.DataStreamChannel channel)
                     throws java.io.IOException
        Specified by:
        produce in interface org.apache.hc.core5.http.nio.AsyncDataProducer
        Throws:
        java.io.IOException
      • failed

        public void failed​(java.lang.Exception cause)
        Specified by:
        failed in interface org.apache.hc.core5.http.nio.AsyncDataExchangeHandler
      • releaseResources

        public void releaseResources()
        Specified by:
        releaseResources in interface org.apache.hc.core5.http.nio.ResourceHolder