程序包 qhs.interfaces

接口 ThreadContext


  • public interface ThreadContext

    一个ThreadContext接口类型对象缓存有与一个http处理线程有联系的各种运行状态以及引用各种预先创建的对象。 http处理线程通过调用ThreadContext接口定义的各方法对这些运行状态、预先创建的对象进行调用、引用。 qhs在启动的过程中,创建了所有http处理线程(http处理线程的数量由base.xml配置文件的ThreadCount元素说明) 并且为所有http处理线程的运行预先创建了大量对象(包括ThreadContext接口类型对象)。

    • 方法详细资料

      • getRequest

        HTTPRequest getRequest()
        返回HTTPRequest接口类型对象。
        返回:
        一个HTTPRequest接口类型对象。这对象存放有浏览器等客户端发送给qhs的http请求。
      • getResponse

        HTTPResponse getResponse()
        返回HTTPResponse接口类型对象。
        返回:
        一个HTTPResponse接口类型对象。这对象用于构造http答复,并最终把http答复发送给浏览器等客户端。
      • getPushedResponse

        HTTPResponse getPushedResponse()
        返回HTTPResponse接口类型对象。
        返回:
        一个HTTPResponse接口类型对象。这对象用于构造推送答复(pushed response),并最终把推送答复发送给浏览器等客户端。
      • push

        PushResult push​(byte[] url)
        推送一个URL。

        调用本方法进入推送状态,使isPushing()的返回值等于true。

        参数:
        url - 被推送URL(pushed URL)。被推送URL既可以引用静态资源文件,也可以引用HTTP服务模块。如:
             //下面是定义在HTTP服务模块类内部的invoke()方法。
             public void invoke(qhs.interfaces.ThreadContext tc, qhs.interfaces.Connection) throws Throwable {
                tc.push("/abc/def.html".getBytes());//尝试把文档根目录内部的/abc/def.html文件推送给浏览器等客户端。
                tc.push("/dynamic-picture.id".getBytes());//尝试把"dynamic-picture"HTTP服务模块生成的推送答复推送给浏览器等客户端。
                //......
             }
         
        返回:
        执行推送操作以后的结果。
      • isPushing

        boolean isPushing()
        判断是否正在处于推送状态。
        返回:

        true值表示正在处于推送状态。调用push(byte[] url)方法时进入推送状态。

        false值表示不处于推送状态。

      • getServerStatus

        ServerStatus getServerStatus()
        返回ServerStatus接口类型对象。
        返回:
        一个ServerStatus接口类型对象。
      • getTempByteBuffer

        byte[] getTempByteBuffer()
        返回临时字节缓存区。
        返回:
        一个临时字节缓存区。
      • getTempCharBuffer

        char[] getTempCharBuffer()
        返回临时字符缓存区。
        返回:
        一个临时字符缓存区。
      • getUserObject

        java.lang.Object getUserObject()
        返回用户对象。
        返回:
        用户对象。
      • setUserObject

        void setUserObject​(java.lang.Object o)
        设置用户对象。
        参数:
        o - o参数值可以等于任何类型对象。通常,o参数值应包含有与http处理线程有联系的数据。