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

57 lines
1.4 KiB
C#

using System;
using System.Runtime.Remoting.Messaging;
namespace System.Runtime.Remoting.Contexts
{
// Token: 0x020003CC RID: 972
internal class SynchronizedServerContextSink : IMessageSink
{
// Token: 0x0600264A RID: 9802 RVA: 0x0007E4BC File Offset: 0x0007C6BC
public SynchronizedServerContextSink(IMessageSink next, SynchronizationAttribute att)
{
this._att = att;
this._next = next;
}
// Token: 0x17000728 RID: 1832
// (get) Token: 0x0600264B RID: 9803 RVA: 0x0007E4D4 File Offset: 0x0007C6D4
public IMessageSink NextSink
{
get
{
return this._next;
}
}
// Token: 0x0600264C RID: 9804 RVA: 0x0007E4DC File Offset: 0x0007C6DC
public IMessageCtrl AsyncProcessMessage(IMessage msg, IMessageSink replySink)
{
this._att.AcquireLock();
replySink = new SynchronizedContextReplySink(replySink, this._att, false);
return this._next.AsyncProcessMessage(msg, replySink);
}
// Token: 0x0600264D RID: 9805 RVA: 0x0007E508 File Offset: 0x0007C708
public IMessage SyncProcessMessage(IMessage msg)
{
this._att.AcquireLock();
IMessage message;
try
{
message = this._next.SyncProcessMessage(msg);
}
finally
{
this._att.ReleaseLock();
}
return message;
}
// Token: 0x04000EEE RID: 3822
private IMessageSink _next;
// Token: 0x04000EEF RID: 3823
private SynchronizationAttribute _att;
}
}