54 lines
1.4 KiB
C#
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;
|
|
}
|
|
}
|