2
0
mirror of https://github.com/esiur/esiur-dotnet.git synced 2025-05-06 19:42:58 +00:00

Added getter

This commit is contained in:
Ahmed Zamil 2019-12-31 19:01:24 +03:00
parent 4174c141b7
commit f9bbd603ce
3 changed files with 44 additions and 14 deletions

View File

@ -778,12 +778,23 @@ namespace Esyur.Net.IIP
this.Socket.Hold(); this.Socket.Hold();
while (offset < ends)
{
offset = processPacket(msg, offset, ends, data, chunkId);
}
this.Socket.Unhold(); try
{
while (offset < ends)
{
offset = processPacket(msg, offset, ends, data, chunkId);
}
}
catch (Exception ex)
{
Console.WriteLine(ex);
Console.Beep();
}
finally
{
this.Socket.Unhold();
}
} }
/// <summary> /// <summary>

View File

@ -445,8 +445,19 @@ namespace Esyur.Net.Sockets
public void Unhold() public void Unhold()
{ {
DataSent(null); try
held = false; {
DataSent(null);
}
catch (Exception ex)
{
Console.WriteLine(ex);
Console.Beep();
}
finally
{
held = false;
}
} }
} }
} }

View File

@ -129,10 +129,12 @@ namespace Esyur.Proxy
Label exitMethod = g.DefineLabel(); Label exitMethod = g.DefineLabel();
Label callModified = g.DefineLabel(); Label callModified = g.DefineLabel();
g.Emit(OpCodes.Nop);
g.Emit(OpCodes.Ldarg_0); g.Emit(OpCodes.Ldarg_0);
g.Emit(OpCodes.Ldarg_1); g.Emit(OpCodes.Ldarg_1);
g.Emit(OpCodes.Call, pi.GetSetMethod()); g.Emit(OpCodes.Call, pi.GetSetMethod());
//g.Emit(OpCodes.Nop); g.Emit(OpCodes.Nop);
g.Emit(OpCodes.Ldarg_0); g.Emit(OpCodes.Ldarg_0);
g.Emit(OpCodes.Call, getInstance); g.Emit(OpCodes.Call, getInstance);
@ -154,13 +156,19 @@ namespace Esyur.Proxy
propertyBuilder.SetSetMethod(builder); propertyBuilder.SetSetMethod(builder);
// builder = typeBuilder.DefineMethod("get_" + pi.Name, MethodAttributes.Public | MethodAttributes.Virtual, pi.PropertyType, null); builder = typeBuilder.DefineMethod("get_" + pi.Name, MethodAttributes.Public | MethodAttributes.Virtual, pi.PropertyType, null);
// g = builder.GetILGenerator(); g = builder.GetILGenerator();
// g.Emit(OpCodes.Ldarg_0); g.Emit(OpCodes.Ldarg_0);
// g.Emit(OpCodes.Call, pi.GetGetMethod()); g.Emit(OpCodes.Call, pi.GetGetMethod());
// g.Emit(OpCodes.Ret); g.Emit(OpCodes.Ret);
// propertyBuilder.SetGetMethod(builder); propertyBuilder.SetGetMethod(builder);
// g.Emit(OpCodes.Ldarg_0);
// g.Emit(OpCodes.Call, pi.GetGetMethod());
// g.Emit(OpCodes.Ret);
// propertyBuilder.SetGetMethod(builder);
/* /*