aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Environment/Types/UpdateQueue.cs
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region/Environment/Types/UpdateQueue.cs')
-rw-r--r--OpenSim/Region/Environment/Types/UpdateQueue.cs103
1 files changed, 50 insertions, 53 deletions
diff --git a/OpenSim/Region/Environment/Types/UpdateQueue.cs b/OpenSim/Region/Environment/Types/UpdateQueue.cs
index 24fe116..ec1ffd2 100644
--- a/OpenSim/Region/Environment/Types/UpdateQueue.cs
+++ b/OpenSim/Region/Environment/Types/UpdateQueue.cs
@@ -34,70 +34,26 @@ using OpenSim.Region.Environment.Scenes;
34 34
35namespace OpenSim.Region.Environment.Types 35namespace OpenSim.Region.Environment.Types
36{ 36{
37 [Serializable] 37 [Serializable]
38 public class UpdateQueue : ISerializable 38 public class UpdateQueue : ISerializable
39 { 39 {
40 private readonly List<LLUUID> m_ids; 40 private Queue<SceneObjectPart> m_queue;
41 private readonly Queue<SceneObjectPart> m_queue;
42 41
43 private readonly object m_syncObject = new object(); 42 private List<LLUUID> m_ids;
44 43
45 public UpdateQueue() 44 private object m_syncObject = new object();
46 {
47 m_queue = new Queue<SceneObjectPart>();
48 m_ids = new List<LLUUID>();
49 }
50
51 protected UpdateQueue(SerializationInfo info, StreamingContext context)
52 {
53 //System.Console.WriteLine("UpdateQueue Deserialize BGN");
54
55 if (info == null)
56 {
57 throw new ArgumentNullException("info");
58 }
59
60 m_queue = (Queue<SceneObjectPart>) info.GetValue("m_queue", typeof (Queue<SceneObjectPart>));
61 List<Guid> ids_work = (List<Guid>) info.GetValue("m_ids", typeof (List<Guid>));
62
63 foreach (Guid guid in ids_work)
64 {
65 m_ids.Add(new LLUUID(guid));
66 }
67
68 //System.Console.WriteLine("UpdateQueue Deserialize END");
69 }
70 45
71 public int Count 46 public int Count
72 { 47 {
73 get { return m_queue.Count; } 48 get { return m_queue.Count; }
74 } 49 }
75 50
76 #region ISerializable Members 51 public UpdateQueue()
77
78 [SecurityPermission(SecurityAction.LinkDemand,
79 Flags = SecurityPermissionFlag.SerializationFormatter)]
80 public virtual void GetObjectData(
81 SerializationInfo info, StreamingContext context)
82 { 52 {
83 if (info == null) 53 m_queue = new Queue<SceneObjectPart>();
84 { 54 m_ids = new List<LLUUID>();
85 throw new ArgumentNullException("info");
86 }
87
88 List<Guid> ids_work = new List<Guid>();
89
90 foreach (LLUUID uuid in m_ids)
91 {
92 ids_work.Add(uuid.UUID);
93 }
94
95 info.AddValue("m_queue", m_queue);
96 info.AddValue("m_ids", ids_work);
97 } 55 }
98 56
99 #endregion
100
101 public void Clear() 57 public void Clear()
102 { 58 {
103 lock (m_syncObject) 59 lock (m_syncObject)
@@ -133,5 +89,46 @@ namespace OpenSim.Region.Environment.Types
133 89
134 return part; 90 return part;
135 } 91 }
92
93 protected UpdateQueue(SerializationInfo info, StreamingContext context)
94 {
95 //System.Console.WriteLine("UpdateQueue Deserialize BGN");
96
97 if (info == null)
98 {
99 throw new ArgumentNullException("info");
100 }
101
102 m_queue = (Queue<SceneObjectPart>)info.GetValue("m_queue", typeof(Queue<SceneObjectPart>));
103 List<Guid> ids_work = (List<Guid>)info.GetValue("m_ids", typeof(List<Guid>));
104
105 foreach (Guid guid in ids_work)
106 {
107 m_ids.Add(new LLUUID(guid));
108 }
109
110 //System.Console.WriteLine("UpdateQueue Deserialize END");
111 }
112
113 [SecurityPermission(SecurityAction.LinkDemand,
114 Flags = SecurityPermissionFlag.SerializationFormatter)]
115 public virtual void GetObjectData(
116 SerializationInfo info, StreamingContext context)
117 {
118 if (info == null)
119 {
120 throw new ArgumentNullException("info");
121 }
122
123 List<Guid> ids_work = new List<Guid>();
124
125 foreach (LLUUID uuid in m_ids)
126 {
127 ids_work.Add(uuid.UUID);
128 }
129
130 info.AddValue("m_queue", m_queue);
131 info.AddValue("m_ids", ids_work);
132 }
136 } 133 }
137} \ No newline at end of file 134}