summaryrefslogtreecommitdiff
path: root/indra/llcorehttp/_httppolicy.h
diff options
context:
space:
mode:
Diffstat (limited to 'indra/llcorehttp/_httppolicy.h')
-rw-r--r--indra/llcorehttp/_httppolicy.h214
1 files changed, 107 insertions, 107 deletions
diff --git a/indra/llcorehttp/_httppolicy.h b/indra/llcorehttp/_httppolicy.h
index 955f757c93..a074949f20 100644
--- a/indra/llcorehttp/_httppolicy.h
+++ b/indra/llcorehttp/_httppolicy.h
@@ -24,8 +24,8 @@
* $/LicenseInfo$
*/
-#ifndef _LLCORE_HTTP_POLICY_H_
-#define _LLCORE_HTTP_POLICY_H_
+#ifndef _LLCORE_HTTP_POLICY_H_
+#define _LLCORE_HTTP_POLICY_H_
#include "httprequest.h"
@@ -52,123 +52,123 @@ class HttpOpRequest;
class HttpPolicy
{
public:
- HttpPolicy(HttpService *);
- virtual ~HttpPolicy();
+ HttpPolicy(HttpService *);
+ virtual ~HttpPolicy();
private:
- HttpPolicy(const HttpPolicy &); // Not defined
- void operator=(const HttpPolicy &); // Not defined
+ HttpPolicy(const HttpPolicy &); // Not defined
+ void operator=(const HttpPolicy &); // Not defined
public:
typedef std::shared_ptr<HttpOpRequest> opReqPtr_t;
- /// Threading: called by init thread.
- HttpRequest::policy_t createPolicyClass();
-
- /// Cancel all ready and retry requests sending them to
- /// their notification queues. Release state resources
- /// making further request handling impossible.
- ///
- /// Threading: called by worker thread
- void shutdown();
-
- /// Deliver policy definitions and enable handling of
- /// requests. One-time call invoked before starting
- /// the worker thread.
- ///
- /// Threading: called by init thread
- void start();
-
- /// Give the policy layer some cycles to scan the ready
- /// queue promoting higher-priority requests to active
- /// as permited.
- ///
- /// @return Indication of how soon this method
- /// should be called again.
- ///
- /// Threading: called by worker thread
- HttpService::ELoopSpeed processReadyQueue();
-
- /// Add request to a ready queue. Caller is expected to have
- /// provided us with a reference count to hold the request. (No
- /// additional references will be added.)
- ///
- /// OpRequest is owned by the request queue after this call
- /// and should not be modified by anyone until retrieved
- /// from queue.
- ///
- /// Threading: called by worker thread
+ /// Threading: called by init thread.
+ HttpRequest::policy_t createPolicyClass();
+
+ /// Cancel all ready and retry requests sending them to
+ /// their notification queues. Release state resources
+ /// making further request handling impossible.
+ ///
+ /// Threading: called by worker thread
+ void shutdown();
+
+ /// Deliver policy definitions and enable handling of
+ /// requests. One-time call invoked before starting
+ /// the worker thread.
+ ///
+ /// Threading: called by init thread
+ void start();
+
+ /// Give the policy layer some cycles to scan the ready
+ /// queue promoting higher-priority requests to active
+ /// as permited.
+ ///
+ /// @return Indication of how soon this method
+ /// should be called again.
+ ///
+ /// Threading: called by worker thread
+ HttpService::ELoopSpeed processReadyQueue();
+
+ /// Add request to a ready queue. Caller is expected to have
+ /// provided us with a reference count to hold the request. (No
+ /// additional references will be added.)
+ ///
+ /// OpRequest is owned by the request queue after this call
+ /// and should not be modified by anyone until retrieved
+ /// from queue.
+ ///
+ /// Threading: called by worker thread
void addOp(const opReqPtr_t &);
- /// Similar to addOp, used when a caller wants to retry a
- /// request that has failed. It's placed on a special retry
- /// queue but ordered by retry time not priority. Otherwise,
- /// handling is the same and retried operations are considered
- /// before new ones but that doesn't guarantee completion
- /// order.
- ///
- /// Threading: called by worker thread
+ /// Similar to addOp, used when a caller wants to retry a
+ /// request that has failed. It's placed on a special retry
+ /// queue but ordered by retry time not priority. Otherwise,
+ /// handling is the same and retried operations are considered
+ /// before new ones but that doesn't guarantee completion
+ /// order.
+ ///
+ /// Threading: called by worker thread
void retryOp(const opReqPtr_t &);
- /// Attempt to cancel a previous request.
- /// Shadows HttpService's method as well
- ///
- /// Threading: called by worker thread
- bool cancel(HttpHandle handle);
-
- /// When transport is finished with an op and takes it off the
- /// active queue, it is delivered here for dispatch. Policy
- /// may send it back to the ready/retry queues if it needs another
- /// go or we may finalize it and send it on to the reply queue.
- ///
- /// @return Returns true of the request is still active
- /// or ready after staging, false if has been
- /// sent on to the reply queue.
- ///
- /// Threading: called by worker thread
+ /// Attempt to cancel a previous request.
+ /// Shadows HttpService's method as well
+ ///
+ /// Threading: called by worker thread
+ bool cancel(HttpHandle handle);
+
+ /// When transport is finished with an op and takes it off the
+ /// active queue, it is delivered here for dispatch. Policy
+ /// may send it back to the ready/retry queues if it needs another
+ /// go or we may finalize it and send it on to the reply queue.
+ ///
+ /// @return Returns true of the request is still active
+ /// or ready after staging, false if has been
+ /// sent on to the reply queue.
+ ///
+ /// Threading: called by worker thread
bool stageAfterCompletion(const opReqPtr_t &op);
-
- /// Get a reference to global policy options. Caller is expected
- /// to do context checks like no setting once running. These
- /// are done, for example, in @see HttpService interfaces.
- ///
- /// Threading: called by any thread *but* the object may
- /// only be modified by the worker thread once running.
- HttpPolicyGlobal & getGlobalOptions()
- {
- return mGlobalOptions;
- }
-
- /// Get a reference to class policy options. Caller is expected
- /// to do context checks like no setting once running. These
- /// are done, for example, in @see HttpService interfaces.
- ///
- /// Threading: called by any thread *but* the object may
- /// only be modified by the worker thread once running and
- /// read accesses by other threads are exposed to races at
- /// that point.
- HttpPolicyClass & getClassOptions(HttpRequest::policy_t pclass);
-
- /// Get ready counts for a particular policy class
- ///
- /// Threading: called by worker thread
- int getReadyCount(HttpRequest::policy_t policy_class) const;
-
- /// Stall (or unstall) a policy class preventing requests from
- /// transitioning to an active state. Used to allow an HTTP
- /// request policy to empty prior to changing settings or state
- /// that isn't tolerant of changes when work is outstanding.
- ///
- /// Threading: called by worker thread
- bool stallPolicy(HttpRequest::policy_t policy_class, bool stall);
-
+
+ /// Get a reference to global policy options. Caller is expected
+ /// to do context checks like no setting once running. These
+ /// are done, for example, in @see HttpService interfaces.
+ ///
+ /// Threading: called by any thread *but* the object may
+ /// only be modified by the worker thread once running.
+ HttpPolicyGlobal & getGlobalOptions()
+ {
+ return mGlobalOptions;
+ }
+
+ /// Get a reference to class policy options. Caller is expected
+ /// to do context checks like no setting once running. These
+ /// are done, for example, in @see HttpService interfaces.
+ ///
+ /// Threading: called by any thread *but* the object may
+ /// only be modified by the worker thread once running and
+ /// read accesses by other threads are exposed to races at
+ /// that point.
+ HttpPolicyClass & getClassOptions(HttpRequest::policy_t pclass);
+
+ /// Get ready counts for a particular policy class
+ ///
+ /// Threading: called by worker thread
+ int getReadyCount(HttpRequest::policy_t policy_class) const;
+
+ /// Stall (or unstall) a policy class preventing requests from
+ /// transitioning to an active state. Used to allow an HTTP
+ /// request policy to empty prior to changing settings or state
+ /// that isn't tolerant of changes when work is outstanding.
+ ///
+ /// Threading: called by worker thread
+ bool stallPolicy(HttpRequest::policy_t policy_class, bool stall);
+
protected:
- struct ClassState;
- typedef std::vector<ClassState *> class_list_t;
-
- HttpPolicyGlobal mGlobalOptions;
- class_list_t mClasses;
- HttpService * mService; // Naked pointer, not refcounted, not owner
+ struct ClassState;
+ typedef std::vector<ClassState *> class_list_t;
+
+ HttpPolicyGlobal mGlobalOptions;
+ class_list_t mClasses;
+ HttpService * mService; // Naked pointer, not refcounted, not owner
}; // end class HttpPolicy
} // end namespace LLCore