diff options
Diffstat (limited to 'OpenSim/Region/Environment/Types/UpdateQueue.cs')
-rw-r--r-- | OpenSim/Region/Environment/Types/UpdateQueue.cs | 103 |
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 | ||
35 | namespace OpenSim.Region.Environment.Types | 35 | namespace 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 | } |