Files
Dec2017-Script-Dump/mscorlib/System/Runtime/Remoting/Lifetime/LeaseSink.cs
T
2026-06-04 11:42:34 +02:00

54 lines
1.4 KiB
C#

using System;
using System.Runtime.Remoting.Messaging;
namespace System.Runtime.Remoting.Lifetime
{
// Token: 0x020003D3 RID: 979
internal class LeaseSink : IMessageSink
{
// Token: 0x06002681 RID: 9857 RVA: 0x0007EE8C File Offset: 0x0007D08C
public LeaseSink(IMessageSink nextSink)
{
this._nextSink = nextSink;
}
// Token: 0x06002682 RID: 9858 RVA: 0x0007EE9C File Offset: 0x0007D09C
public IMessage SyncProcessMessage(IMessage msg)
{
this.RenewLease(msg);
return this._nextSink.SyncProcessMessage(msg);
}
// Token: 0x06002683 RID: 9859 RVA: 0x0007EEB4 File Offset: 0x0007D0B4
public IMessageCtrl AsyncProcessMessage(IMessage msg, IMessageSink replySink)
{
this.RenewLease(msg);
return this._nextSink.AsyncProcessMessage(msg, replySink);
}
// Token: 0x06002684 RID: 9860 RVA: 0x0007EECC File Offset: 0x0007D0CC
private void RenewLease(IMessage msg)
{
ServerIdentity serverIdentity = (ServerIdentity)RemotingServices.GetMessageTargetIdentity(msg);
ILease lease = serverIdentity.Lease;
if (lease != null && lease.CurrentLeaseTime < lease.RenewOnCallTime)
{
lease.Renew(lease.RenewOnCallTime);
}
}
// Token: 0x17000735 RID: 1845
// (get) Token: 0x06002685 RID: 9861 RVA: 0x0007EF18 File Offset: 0x0007D118
public IMessageSink NextSink
{
get
{
return this._nextSink;
}
}
// Token: 0x04000EFF RID: 3839
private IMessageSink _nextSink;
}
}