Skip to content

Commit b6b4f05

Browse files
committed
Fixed issue with used transaction. Once used in update it is no longer valid and you must do a NewTransaction()
1 parent 43c1478 commit b6b4f05

File tree

13 files changed

+33
-8
lines changed

13 files changed

+33
-8
lines changed

Assets/Plugins/x64/gzBase64.dll

0 Bytes
Binary file not shown.
0 Bytes
Binary file not shown.
0 Bytes
Binary file not shown.
0 Bytes
Binary file not shown.
0 Bytes
Binary file not shown.
0 Bytes
Binary file not shown.

Assets/Saab/GizmoSDK/GizmoDistribution/gzDistribution/DistClient.cs

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -224,7 +224,12 @@ public bool UnSubscribeObjects(DistSession session, string typeName = null, Int3
224224

225225
public bool UpdateObject(DistTransaction transaction, DistObject o, Int32 timeOut = 0)
226226
{
227-
return DistClient_updateObject(GetNativeReference(), transaction.GetNativeReference(),o.GetNativeReference(), timeOut);
227+
bool result=DistClient_updateObject(GetNativeReference(), transaction.GetNativeReference(),o.GetNativeReference(), timeOut);
228+
229+
// Invalidate the tranaction
230+
transaction.Release();
231+
232+
return result;
228233
}
229234

230235
public bool UpdateObject(string name,DynamicType value, DistObject o, Int32 timeOut = 0)

Assets/Saab/GizmoSDK/GizmoDistribution/gzDistribution/DistTransaction.cs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,11 @@ public bool HasAttribute(string name)
6767
return DistTransaction_hasAttribute(GetNativeReference(), name);
6868
}
6969

70+
public void NewTransaction()
71+
{
72+
Reset(DistTransaction_createDefaultTransaction());
73+
}
74+
7075
#region --------------------------- private ----------------------------------------------
7176

7277
[DllImport(Platform.BRIDGE, CharSet = CharSet.Unicode, CallingConvention = CallingConvention.Cdecl)]

Examples/Battlefield Domain/Program.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -112,6 +112,8 @@ static void Main(string[] args)
112112

113113
for (int i=0;i<100;i++)
114114
{
115+
update.NewTransaction();
116+
115117
update.SetAttributeValue("Updater", client.GetClientID().InstanceID.ToString());
116118

117119
client.UpdateObject(update, o);

Examples/Object_Performance/Program.cs

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -103,12 +103,16 @@ static void Main(string[] args)
103103

104104
DistTransaction transaction = new DistTransaction();
105105

106-
transaction.SetAttributeValue("Test", 0.0);
106+
107107

108108
for (int j = 0; j < OBJECTS; j++)
109109
{
110+
transaction.NewTransaction();
111+
112+
transaction.SetAttributeValue("Test", 0.0);
113+
110114
if (!client.UpdateObject(transaction, objects[j]))
111-
Console.WriteLine("Bajs");
115+
Console.WriteLine("Boo");
112116
}
113117

114118
System.Threading.Thread.Sleep(10);
@@ -119,10 +123,11 @@ static void Main(string[] args)
119123

120124
for (int i=0;i< COUNT; i++)
121125
{
122-
transaction.SetAttributeValue("Test", timer.GetTime());
123-
124126
for (int j = 0; j < OBJECTS; j++)
125127
{
128+
transaction.NewTransaction();
129+
transaction.SetAttributeValue("Test", timer.GetTime());
130+
126131
if (!client.UpdateObject(transaction, objects[j]))
127132
Console.WriteLine("Bajs");
128133
}

0 commit comments

Comments
 (0)