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; } }