This commit is contained in:
niko
2026-06-04 11:42:34 +02:00
parent f39ba70a9f
commit e720b98cd1
7488 changed files with 2493818 additions and 0 deletions
@@ -0,0 +1,58 @@
using System;
using System.Runtime.Remoting.Contexts;
using System.Runtime.Remoting.Lifetime;
using System.Runtime.Remoting.Messaging;
namespace System.Runtime.Remoting
{
// Token: 0x02000451 RID: 1105
internal class SingletonIdentity : ServerIdentity
{
// Token: 0x06002AA3 RID: 10915 RVA: 0x0008A2D4 File Offset: 0x000884D4
public SingletonIdentity(string objectUri, Context context, Type objectType)
: base(objectUri, context, objectType)
{
}
// Token: 0x06002AA4 RID: 10916 RVA: 0x0008A2E0 File Offset: 0x000884E0
public MarshalByRefObject GetServerObject()
{
if (this._serverObject != null)
{
return this._serverObject;
}
lock (this)
{
if (this._serverObject == null)
{
MarshalByRefObject marshalByRefObject = (MarshalByRefObject)Activator.CreateInstance(this._objectType, true);
base.AttachServerObject(marshalByRefObject, Context.DefaultContext);
base.StartTrackingLifetime((ILease)marshalByRefObject.InitializeLifetimeService());
}
}
return this._serverObject;
}
// Token: 0x06002AA5 RID: 10917 RVA: 0x0008A370 File Offset: 0x00088570
public override IMessage SyncObjectProcessMessage(IMessage msg)
{
MarshalByRefObject serverObject = this.GetServerObject();
if (this._serverSink == null)
{
this._serverSink = this._context.CreateServerObjectSinkChain(serverObject, false);
}
return this._serverSink.SyncProcessMessage(msg);
}
// Token: 0x06002AA6 RID: 10918 RVA: 0x0008A3B0 File Offset: 0x000885B0
public override IMessageCtrl AsyncObjectProcessMessage(IMessage msg, IMessageSink replySink)
{
MarshalByRefObject serverObject = this.GetServerObject();
if (this._serverSink == null)
{
this._serverSink = this._context.CreateServerObjectSinkChain(serverObject, false);
}
return this._serverSink.AsyncProcessMessage(msg, replySink);
}
}
}