Skip to content

Commit 709af32

Browse files
committed
Fix pooling bug at CallSelfNotification
1 parent b493812 commit 709af32

File tree

2 files changed

+11
-7
lines changed

2 files changed

+11
-7
lines changed

src/EuNet.Unity/Assets/Plugins/EuNet/Runtime/EuNet.Unity/NetClientGlobal.cs

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,12 @@ public void SetClient(NetClientP2p client)
9090
/// <returns>성공여부</returns>
9191
public bool RegisterView(NetView view)
9292
{
93+
if (IsLocalMode == true)
94+
return true;
95+
96+
if (Client == null)
97+
return false;
98+
9399
return Client.RegisterView(view);
94100
}
95101

@@ -100,6 +106,9 @@ public bool RegisterView(NetView view)
100106
/// <returns>성공여부</returns>
101107
public bool UnregisterView(NetView view)
102108
{
109+
if (IsLocalMode == true)
110+
return true;
111+
103112
if (Client == null)
104113
return false;
105114

src/EuNet.Unity/Assets/Plugins/EuNet/Runtime/EuNet.Unity/RequestWaiter/NetViewRequestWaiter.cs

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -95,19 +95,14 @@ void IRequestWaiter.SendRequest(ISession session, NetDataWriter writer, Delivery
9595

9696
private void CallSelfNotification(NetClient client, NetDataWriter writer, DeliveryMethod deliveryMethod)
9797
{
98-
var w = NetPool.DataWriterPool.Alloc();
99-
try
98+
NetPool.DataWriterPool.Use(w =>
10099
{
101100
w.Write(View.ViewId);
102101
w.WriteOnlyData(writer.Data, 0, writer.Length);
103102

104103
NetDataReader r = new NetDataReader(w);
105104
client.OnViewRequestReceive(client, r, new NetDataWriter());
106-
}
107-
finally
108-
{
109-
NetPool.DataWriterPool.Free(writer);
110-
}
105+
});
111106
}
112107

113108
Task IRequestWaiter.SendRequestAndWait(ISession session, NetDataWriter writer, TimeSpan? timeout, DeliveryMethod deliveryMethod, int extra)

0 commit comments

Comments
 (0)