summaryrefslogtreecommitdiff
path: root/indra/llcorehttp/_httppolicyclass.h
diff options
context:
space:
mode:
authorCallum Prentice <callum@lindenlab.com>2014-02-27 16:27:58 -0800
committerCallum Prentice <callum@lindenlab.com>2014-02-27 16:27:58 -0800
commit6e21b127d4224716f485e3fc8a195676f5708721 (patch)
tree220d9738307a1c81fcd7eff2f68d675db43cb8f0 /indra/llcorehttp/_httppolicyclass.h
parentd3abd1ca85028ba143dd715e91b145bf936875f1 (diff)
parentde8fea13627cc5978b8a6135802a52864a11c39a (diff)
merge with head
Diffstat (limited to 'indra/llcorehttp/_httppolicyclass.h')
-rwxr-xr-xindra/llcorehttp/_httppolicyclass.h20
1 files changed, 16 insertions, 4 deletions
diff --git a/indra/llcorehttp/_httppolicyclass.h b/indra/llcorehttp/_httppolicyclass.h
index d175413cbd..38f1194ded 100755
--- a/indra/llcorehttp/_httppolicyclass.h
+++ b/indra/llcorehttp/_httppolicyclass.h
@@ -4,7 +4,7 @@
*
* $LicenseInfo:firstyear=2012&license=viewerlgpl$
* Second Life Viewer Source Code
- * Copyright (C) 2012, Linden Research, Inc.
+ * Copyright (C) 2012-2013, Linden Research, Inc.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
@@ -34,6 +34,18 @@
namespace LLCore
{
+/// Options struct for per-class policy options.
+///
+/// Combines both raw blob data access with semantics-enforcing
+/// set/get interfaces. For internal operations by the worker
+/// thread, just grab the setting directly from instance and test/use
+/// as needed. When attached to external APIs (the public API
+/// options interfaces) the set/get methods are available to
+/// enforce correct ranges, data types, contexts, etc. and suitable
+/// status values are returned.
+///
+/// Threading: Single-threaded. In practice, init thread before
+/// worker starts, worker thread after.
class HttpPolicyClass
{
public:
@@ -44,14 +56,14 @@ public:
HttpPolicyClass(const HttpPolicyClass &); // Not defined
public:
- HttpStatus set(HttpRequest::EClassPolicy opt, long value);
- HttpStatus get(HttpRequest::EClassPolicy opt, long * value);
+ HttpStatus set(HttpRequest::EPolicyOption opt, long value);
+ HttpStatus get(HttpRequest::EPolicyOption opt, long * value) const;
public:
- unsigned long mSetMask;
long mConnectionLimit;
long mPerHostConnectionLimit;
long mPipelining;
+ long mThrottleRate;
}; // end class HttpPolicyClass
} // end namespace LLCore