Skip to content

Commit bd5aef6

Browse files
authored
UnreferenceDisposable made slimmer (#627)
1 parent f53e0d2 commit bd5aef6

File tree

1 file changed

+5
-3
lines changed

1 file changed

+5
-3
lines changed

src/ModelContextProtocol.AspNetCore/HttpMcpSession.cs

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,13 +25,15 @@ internal sealed class HttpMcpSession<TTransport>(
2525
public bool IsActive => !SessionClosed.IsCancellationRequested && _referenceCount > 0;
2626
public long LastActivityTicks { get; private set; } = timeProvider.GetTimestamp();
2727

28+
private TimeProvider TimeProvider => timeProvider;
29+
2830
public IMcpServer? Server { get; set; }
2931
public Task? ServerRunTask { get; set; }
3032

3133
public IDisposable AcquireReference()
3234
{
3335
Interlocked.Increment(ref _referenceCount);
34-
return new UnreferenceDisposable(this, timeProvider);
36+
return new UnreferenceDisposable(this);
3537
}
3638

3739
public bool TryStartGetRequest() => Interlocked.Exchange(ref _getRequestStarted, 1) == 0;
@@ -70,13 +72,13 @@ public async ValueTask DisposeAsync()
7072
public bool HasSameUserId(ClaimsPrincipal user)
7173
=> UserIdClaim == StreamableHttpHandler.GetUserIdClaim(user);
7274

73-
private sealed class UnreferenceDisposable(HttpMcpSession<TTransport> session, TimeProvider timeProvider) : IDisposable
75+
private sealed class UnreferenceDisposable(HttpMcpSession<TTransport> session) : IDisposable
7476
{
7577
public void Dispose()
7678
{
7779
if (Interlocked.Decrement(ref session._referenceCount) == 0)
7880
{
79-
session.LastActivityTicks = timeProvider.GetTimestamp();
81+
session.LastActivityTicks = session.TimeProvider.GetTimestamp();
8082
}
8183
}
8284
}

0 commit comments

Comments
 (0)