From 1a47ff8094ee414a47aebd310826906d89428a09 Mon Sep 17 00:00:00 2001
From: Teravus Ovares
Date: Fri, 30 May 2008 12:27:06 +0000
Subject: * This is Melanie's XEngine script engine. I've not tested this real
well, however, it's confirmed to compile and OpenSimulator to run
successfully without this script engine active.
---
ThirdParty/SmartThreadPool/WorkItemInfo.cs | 102 +++++++++++++++++++++++++++++
1 file changed, 102 insertions(+)
create mode 100644 ThirdParty/SmartThreadPool/WorkItemInfo.cs
(limited to 'ThirdParty/SmartThreadPool/WorkItemInfo.cs')
diff --git a/ThirdParty/SmartThreadPool/WorkItemInfo.cs b/ThirdParty/SmartThreadPool/WorkItemInfo.cs
new file mode 100644
index 0000000..c259339
--- /dev/null
+++ b/ThirdParty/SmartThreadPool/WorkItemInfo.cs
@@ -0,0 +1,102 @@
+// Ami Bar
+// amibar@gmail.com
+
+namespace Amib.Threading
+{
+ #region WorkItemInfo class
+
+ ///
+ /// Summary description for WorkItemInfo.
+ ///
+ public class WorkItemInfo
+ {
+ ///
+ /// Use the caller's security context
+ ///
+ private bool _useCallerCallContext;
+
+ ///
+ /// Use the caller's security context
+ ///
+ private bool _useCallerHttpContext;
+
+ ///
+ /// Dispose of the state object of a work item
+ ///
+ private bool _disposeOfStateObjects;
+
+ ///
+ /// The option to run the post execute
+ ///
+ private CallToPostExecute _callToPostExecute;
+
+ ///
+ /// A post execute callback to call when none is provided in
+ /// the QueueWorkItem method.
+ ///
+ private PostExecuteWorkItemCallback _postExecuteWorkItemCallback;
+
+ ///
+ /// The priority of the work item
+ ///
+ private WorkItemPriority _workItemPriority;
+
+ public WorkItemInfo()
+ {
+ _useCallerCallContext = SmartThreadPool.DefaultUseCallerCallContext;
+ _useCallerHttpContext = SmartThreadPool.DefaultUseCallerHttpContext;
+ _disposeOfStateObjects = SmartThreadPool.DefaultDisposeOfStateObjects;
+ _callToPostExecute = SmartThreadPool.DefaultCallToPostExecute;
+ _postExecuteWorkItemCallback = SmartThreadPool.DefaultPostExecuteWorkItemCallback;
+ _workItemPriority = SmartThreadPool.DefaultWorkItemPriority;
+ }
+
+ public WorkItemInfo(WorkItemInfo workItemInfo)
+ {
+ _useCallerCallContext = workItemInfo._useCallerCallContext;
+ _useCallerHttpContext = workItemInfo._useCallerHttpContext;
+ _disposeOfStateObjects = workItemInfo._disposeOfStateObjects;
+ _callToPostExecute = workItemInfo._callToPostExecute;
+ _postExecuteWorkItemCallback = workItemInfo._postExecuteWorkItemCallback;
+ _workItemPriority = workItemInfo._workItemPriority;
+ }
+
+ public bool UseCallerCallContext
+ {
+ get { return _useCallerCallContext; }
+ set { _useCallerCallContext = value; }
+ }
+
+ public bool UseCallerHttpContext
+ {
+ get { return _useCallerHttpContext; }
+ set { _useCallerHttpContext = value; }
+ }
+
+ public bool DisposeOfStateObjects
+ {
+ get { return _disposeOfStateObjects; }
+ set { _disposeOfStateObjects = value; }
+ }
+
+ public CallToPostExecute CallToPostExecute
+ {
+ get { return _callToPostExecute; }
+ set { _callToPostExecute = value; }
+ }
+
+ public PostExecuteWorkItemCallback PostExecuteWorkItemCallback
+ {
+ get { return _postExecuteWorkItemCallback; }
+ set { _postExecuteWorkItemCallback = value; }
+ }
+
+ public WorkItemPriority WorkItemPriority
+ {
+ get { return _workItemPriority; }
+ set { _workItemPriority = value; }
+ }
+ }
+
+ #endregion
+}
--
cgit v1.1