From e9ea621b93fbb58d9edfca8375918791637bbd52 Mon Sep 17 00:00:00 2001 From: chai Date: Wed, 30 Dec 2020 20:59:04 +0800 Subject: +init --- .../src/Impostor.Hazel/MessageReaderPolicy.cs | 27 ++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 Impostor-dev/src/Impostor.Hazel/MessageReaderPolicy.cs (limited to 'Impostor-dev/src/Impostor.Hazel/MessageReaderPolicy.cs') diff --git a/Impostor-dev/src/Impostor.Hazel/MessageReaderPolicy.cs b/Impostor-dev/src/Impostor.Hazel/MessageReaderPolicy.cs new file mode 100644 index 0000000..ef3939a --- /dev/null +++ b/Impostor-dev/src/Impostor.Hazel/MessageReaderPolicy.cs @@ -0,0 +1,27 @@ +using System; +using Microsoft.Extensions.DependencyInjection; +using Microsoft.Extensions.ObjectPool; + +namespace Impostor.Hazel +{ + public class MessageReaderPolicy : IPooledObjectPolicy + { + private readonly IServiceProvider _serviceProvider; + + public MessageReaderPolicy(IServiceProvider serviceProvider) + { + _serviceProvider = serviceProvider; + } + + public MessageReader Create() + { + return new MessageReader(_serviceProvider.GetRequiredService>()); + } + + public bool Return(MessageReader obj) + { + obj.Reset(); + return true; + } + } +} -- cgit v1.1-26-g67d0