Class ::xo::AsyncHttpRequest::RequestManager

::xo::AsyncHttpRequest::RequestManager[i] create ...

Class Relations

  • class: ::xotcl::Class[i]
  • superclass: ::xo::AsyncHttpRequest::SimpleListener[i]
::xotcl::Class create ::xo::AsyncHttpRequest::RequestManager \
     -superclass ::xo::AsyncHttpRequest::SimpleListener

Methods (to be applied on instances)

  • condition (setter)

  • finalize (scripted)

    # set the result and do the notify
    :instvar condition
    # If a job was canceled, the status variable might not exist
    # anymore, the condition might be already gone as well.  In
    # this case, we do not have to perform the cond-notify.
    if {[:exists_status $condition] &&
        [:get_status $condition] eq "COND_WAIT_REFRESH"} {
    }
    if {[:exists_status $condition] &&
        (  [:get_status $condition] eq "COND_WAIT_REFRESH"
           || [:get_status $condition] eq "COND_WAIT_TIMEOUT")
      } {
      # Before, we had here one COND_WAIT_TIMEOUT, and once
      # COND_WAIT_REFRESH
      :set_status $condition $status $value
      catch {thread::cond notify $condition}
      $obj debug "--- destroying after finish"
      $obj destroy
    }
  • reply_data (scripted)

    :debug "JOB reply data $obj [string length $payload]"
    :set_cond_timeout
  • request_data (scripted)

    :debug "JOB request data $obj [string length $payload]"
    :set_cond_timeout
  • set_cond_timeout (scripted)

    :instvar condition
    if {[:exists_status $condition] &&
        [:get_status $condition] eq "COND_WAIT_TIMEOUT"} {
      :set_status $condition COND_WAIT_REFRESH
      catch {thread::cond notify $condition}
    }
  • start_reply (scripted)

    :debug "JOB start reply $obj"
    :set_cond_timeout
  • start_request (scripted)

    :debug "JOB start request $obj"
    :set_cond_timeout