模块 org.redkale
程序包 org.redkale.net

类 Request<C extends Context>

  • 类型参数:
    C - Context子类型
    直接已知子类:
    HttpRequest, SncpRequest

    public abstract class Request<C extends Context>
    extends Object
    协议请求对象

    详情见: https://redkale.org

    作者:
    zhangjx
    • 字段详细资料

      • context

        protected final C extends Context context
      • createTime

        protected long createTime
      • keepAlive

        protected boolean keepAlive
      • readCompleted

        protected boolean readCompleted
      • pipelineIndex

        protected int pipelineIndex
      • pipelineCount

        protected int pipelineCount
      • pipelineCompleted

        protected boolean pipelineCompleted
      • traceid

        protected String traceid
      • attributes

        protected final Map<String,​Object> attributes
        每次新请求都会清空
    • 构造器详细资料

      • Request

        protected Request​(C context)
      • Request

        protected Request​(Request<C> request)
    • 方法详细资料

      • pipelineHeaderLength

        protected int pipelineHeaderLength()
      • pipeline

        protected Request pipeline​(int pipelineIndex,
                                   int pipelineCount)
      • readHeader

        protected abstract int readHeader​(ByteBuffer buffer,
                                          int pipelineHeaderLength)
        返回值:Integer.MIN_VALUE: 帧数据; -1:数据不合法; 0:解析完毕; >0: 需再读取的字节数。
        参数:
        buffer - ByteBuffer对象
        pipelineHeaderLength - 同一Channel的pipelien模式下上一个Request的header长度
        返回:
        缺少的字节数
      • getRequestid

        protected abstract Serializable getRequestid()
      • prepare

        protected abstract void prepare()
      • recycle

        protected void recycle()
      • getSubobject

        public <V> V getSubobject​(String name)
      • getSubobjectIfAbsent

        public <V> V getSubobjectIfAbsent​(String name,
                                          Function<String,​? extends V> func)
      • setSubobject

        public <V> V setSubobject​(String name,
                                  V value)
      • removeSubobject

        public <V> V removeSubobject​(String name)
      • setAttribute

        public <V> V setAttribute​(String name,
                                  V value)
      • getAttribute

        public <V> V getAttribute​(String name)
      • removeAttribute

        public <V> V removeAttribute​(String name)
      • newInputStream

        protected InputStream newInputStream()
      • isKeepAlive

        public boolean isKeepAlive()
      • getContext

        public C getContext()
      • getCreateTime

        public long getCreateTime()
      • getAnnotations

        public Annotation[] getAnnotations()
        获取当前操作Method上的注解集合
        返回:
        Annotation[]
      • getAnnotation

        public <T extends Annotation> T getAnnotation​(Class<T> annotationClass)
        获取当前操作Method上的注解
        类型参数:
        T - 注解泛型
        参数:
        annotationClass - 注解类型
        返回:
        Annotation
      • getAnnotationsByType

        public <T extends Annotation> T[] getAnnotationsByType​(Class<T> annotationClass)
        获取当前操作Method上的注解集合
        类型参数:
        T - 注解泛型
        参数:
        annotationClass - 注解类型
        返回:
        Annotation[]
      • getTraceid

        public String getTraceid()