diff --git a/CHANGELOG.md b/CHANGELOG.md index 59cdc31..ca263f4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,9 @@ # Changelog for CodeProject.ObjectPool # +### v3.2.2 (2017-10-28) + +* Added support for .NET Framework 4.7.1. + ### v3.2.1 (2017-09-30) * Added an adapter for Microsoft.Extensions.ObjectPool. diff --git a/Directory.Build.props b/Directory.Build.props index 31968d3..9367de7 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -1,6 +1,6 @@ - 3.2.1 + 3.2.2 3.0.0 @@ -38,4 +38,12 @@ $(DefineConstants);NET45;HAS_SERIALIZABLE + + + $(DefineConstants);NET46;HAS_SERIALIZABLE + + + + $(DefineConstants);NET47;HAS_SERIALIZABLE + \ No newline at end of file diff --git a/NuGet.Config b/NuGet.Config new file mode 100644 index 0000000..a605ae4 --- /dev/null +++ b/NuGet.Config @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/README.md b/README.md index 1a864bb..c4ea1a5 100644 --- a/README.md +++ b/README.md @@ -1,21 +1,34 @@ -![](http://pomma89.altervista.org/objectpool/logo-64.png "Object Pool Logo") Object Pool -============================================================================================================================= +# ![](http://pomma89.altervista.org/objectpool/logo-64.png "Object Pool Logo") Object Pool *A generic, concurrent, portable and flexible Object Pool for the .NET Framework, completely based on the [Code Project article of Ofir Makmal](http://www.codeproject.com/Articles/535735/Implementing-a-Generic-Object-Pool-in-NET).* ## Summary -* Latest release version: `v3.2.1` +* Latest release version: `v3.2.2` * Build status on [Travis CI](https://travis-ci.org): [![Build Status](https://travis-ci.org/pomma89/ObjectPool.svg?branch=master)](https://travis-ci.org/pomma89/ObjectPool) * Build status on [AppVeyor](https://www.appveyor.com/): [![Build status](https://ci.appveyor.com/api/projects/status/cgldtxe3p9v7nf0i/branch/master?svg=true)](https://ci.appveyor.com/project/pomma89/objectpool/branch/master) -* [Doxygen](http://www.stack.nl/~dimitri/doxygen/index.html) documentation: - + [HTML](http://pomma89.altervista.org/objectpool/doc/html/index.html) - + [CHM](http://pomma89.altervista.org/objectpool/doc/refman.chm) - + [PDF](http://pomma89.altervista.org/objectpool/doc/refman.pdf) +* [Wyam](https://wyam.io/) generated API documentation: [https://pomma89.github.io/ObjectPool/api/](https://pomma89.github.io/ObjectPool/api/) * [NuGet](https://www.nuget.org) package(s): + [CodeProject.ObjectPool](https://nuget.org/packages/CodeProject.ObjectPool/) + [CodeProject.ObjectPool.MicrosoftExtensionsAdapter](https://nuget.org/packages/CodeProject.ObjectPool.MicrosoftExtensionsAdapter/) +### How to build + +#### Windows + +Clone the project, go to the root and run PowerShell script `build.ps1`. In order for it to work, you need: + +* At least Windows 10 Fall Creators Update +* At least Visual Studio 2017 Update 4 +* .NET Framework 4.7.1 Developer Pack +* .NET Core 2.0 SDK + +#### Linux + +Clone the project, go to the root and run Bash script `build.sh`. In order for it to work, you need: + +* TODO, still need to make it building reliably. + ## Introduction Library is production ready and it is successfully working in real life systems. @@ -253,3 +266,7 @@ Job=RyuJitX64 Jit=RyuJit Platform=X64 Everything done on this repository is freely offered on the terms of the project license. You are free to do everything you want with the code and its related files, as long as you respect the license and use common sense while doing it :-) I maintain this project during my spare time, so I can offer limited assistance and I can offer **no kind of warranty**. + +However, if this project helps you, then you might offer me an hot cup of coffee: + +[![Donate](http://pomma89.altervista.org/buy-me-a-coffee.png)](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=ELJWKEYS9QGKA) \ No newline at end of file diff --git a/appveyor.yml b/appveyor.yml index 8bebe46..4db54b7 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -1,4 +1,4 @@ -version: 3.2.1.{build} +version: 3.2.2.{build} image: Visual Studio 2017 build_script: - ps: .\build.ps1 diff --git a/docs/api/CodeProject.ObjectPool.Logging/LogProvider/index.html b/docs/api/CodeProject.ObjectPool.Logging/LogProvider/index.html index 3136ee4..7676b2a 100644 --- a/docs/api/CodeProject.ObjectPool.Logging/LogProvider/index.html +++ b/docs/api/CodeProject.ObjectPool.Logging/LogProvider/index.html @@ -165,7 +165,7 @@

LogProvider Class

Summary

- Provides a mechanism to create instances of CodeProject.ObjectPool.Logging.ILog objects. + Provides a mechanism to create instances of ILog objects.
diff --git a/docs/api/CodeProject.ObjectPool.Logging/index.html b/docs/api/CodeProject.ObjectPool.Logging/index.html index 3f1f4bb..a1b14b8 100644 --- a/docs/api/CodeProject.ObjectPool.Logging/index.html +++ b/docs/api/CodeProject.ObjectPool.Logging/index.html @@ -239,7 +239,7 @@

Class Types

LogProvider - Provides a mechanism to create instances of CodeProject.ObjectPool.Logging.ILog objects. + Provides a mechanism to create instances of ILog objects. diff --git a/docs/api/CodeProject.ObjectPool.Specialized/IMemoryStreamPool/4FCB017D.html b/docs/api/CodeProject.ObjectPool.Specialized/IMemoryStreamPool/4FCB017D.html index 419e9f2..0488904 100644 --- a/docs/api/CodeProject.ObjectPool.Specialized/IMemoryStreamPool/4FCB017D.html +++ b/docs/api/CodeProject.ObjectPool.Specialized/IMemoryStreamPool/4FCB017D.html @@ -162,7 +162,7 @@

MaximumMemoryStreamCapacity Property

Summary

- Maximum capacity a MemoryStream might have in order to be able to return + Maximum capacity a System.IO.MemoryStream might have in order to be able to return to pool. Defaults to DefaultMaximumMemoryStreamCapacity.
diff --git a/docs/api/CodeProject.ObjectPool.Specialized/IMemoryStreamPool/index.html b/docs/api/CodeProject.ObjectPool.Specialized/IMemoryStreamPool/index.html index a0dc8fe..1186dc2 100644 --- a/docs/api/CodeProject.ObjectPool.Specialized/IMemoryStreamPool/index.html +++ b/docs/api/CodeProject.ObjectPool.Specialized/IMemoryStreamPool/index.html @@ -236,7 +236,7 @@

Properties

int
- Maximum capacity a MemoryStream might have in order to be able to return + Maximum capacity a System.IO.MemoryStream might have in order to be able to return to pool. Defaults to DefaultMaximumMemoryStreamCapacity.
diff --git a/docs/api/CodeProject.ObjectPool.Specialized/MemoryStreamPool/A3099D76.html b/docs/api/CodeProject.ObjectPool.Specialized/MemoryStreamPool/A3099D76.html index 9a4624d..377690c 100644 --- a/docs/api/CodeProject.ObjectPool.Specialized/MemoryStreamPool/A3099D76.html +++ b/docs/api/CodeProject.ObjectPool.Specialized/MemoryStreamPool/A3099D76.html @@ -180,7 +180,7 @@

MaximumMemoryStreamCapacity Property

Summary

- Maximum capacity a MemoryStream might have in order to be able to return + Maximum capacity a System.IO.MemoryStream might have in order to be able to return to pool. Defaults to DefaultMaximumMemoryStreamCapacity.
diff --git a/docs/api/CodeProject.ObjectPool.Specialized/MemoryStreamPool/D76F7810.html b/docs/api/CodeProject.ObjectPool.Specialized/MemoryStreamPool/D76F7810.html index a0bd586..7f2d9fe 100644 --- a/docs/api/CodeProject.ObjectPool.Specialized/MemoryStreamPool/D76F7810.html +++ b/docs/api/CodeProject.ObjectPool.Specialized/MemoryStreamPool/D76F7810.html @@ -180,7 +180,7 @@

MinimumMemoryStreamCapacity Property

Summary

- Minimum capacity a MemoryStream should have when created and this is the + Minimum capacity a System.IO.MemoryStream should have when created and this is the minimum capacity of all streams stored in the pool. Defaults to DefaultMinimumMemoryStreamCapacity.
diff --git a/docs/api/CodeProject.ObjectPool.Specialized/MemoryStreamPool/index.html b/docs/api/CodeProject.ObjectPool.Specialized/MemoryStreamPool/index.html index b89113e..4458370 100644 --- a/docs/api/CodeProject.ObjectPool.Specialized/MemoryStreamPool/index.html +++ b/docs/api/CodeProject.ObjectPool.Specialized/MemoryStreamPool/index.html @@ -338,7 +338,7 @@

Properties

int
- Maximum capacity a MemoryStream might have in order to be able to return + Maximum capacity a System.IO.MemoryStream might have in order to be able to return to pool. Defaults to DefaultMaximumMemoryStreamCapacity.
@@ -359,7 +359,7 @@

Properties

int
- Minimum capacity a MemoryStream should have when created and this is the + Minimum capacity a System.IO.MemoryStream should have when created and this is the minimum capacity of all streams stored in the pool. Defaults to DefaultMinimumMemoryStreamCapacity.
diff --git a/docs/api/CodeProject.ObjectPool.Specialized/PooledMemoryStream/index.html b/docs/api/CodeProject.ObjectPool.Specialized/PooledMemoryStream/index.html index 9ff9307..db1cebd 100644 --- a/docs/api/CodeProject.ObjectPool.Specialized/PooledMemoryStream/index.html +++ b/docs/api/CodeProject.ObjectPool.Specialized/PooledMemoryStream/index.html @@ -167,7 +167,7 @@

PooledMemoryStream Class

Summary

- Pooled object prepared to work with MemoryStream instances. + Pooled object prepared to work with System.IO.MemoryStream instances.
@@ -338,7 +338,7 @@

Methods

void
- See System.IDisposable docs. + See IDisposable docs.
Inherited from PooledObject
diff --git a/docs/api/CodeProject.ObjectPool.Specialized/PooledStringBuilder/index.html b/docs/api/CodeProject.ObjectPool.Specialized/PooledStringBuilder/index.html index e1d441b..0a76d65 100644 --- a/docs/api/CodeProject.ObjectPool.Specialized/PooledStringBuilder/index.html +++ b/docs/api/CodeProject.ObjectPool.Specialized/PooledStringBuilder/index.html @@ -348,7 +348,7 @@

Methods

void
- See System.IDisposable docs. + See IDisposable docs.
Inherited from PooledObject
diff --git a/docs/api/CodeProject.ObjectPool.Specialized/StringBuilderPool/BA8E0A8A.html b/docs/api/CodeProject.ObjectPool.Specialized/StringBuilderPool/BA8E0A8A.html index ec49070..ac3d8e6 100644 --- a/docs/api/CodeProject.ObjectPool.Specialized/StringBuilderPool/BA8E0A8A.html +++ b/docs/api/CodeProject.ObjectPool.Specialized/StringBuilderPool/BA8E0A8A.html @@ -181,7 +181,7 @@

MaximumStringBuilderCapacity Property

Summary

- Maximum capacity a StringBuilder might have in order to be able to return + Maximum capacity a System.Text.StringBuilder might have in order to be able to return to pool. Defaults to DefaultMaximumStringBuilderCapacity.
diff --git a/docs/api/CodeProject.ObjectPool.Specialized/StringBuilderPool/index.html b/docs/api/CodeProject.ObjectPool.Specialized/StringBuilderPool/index.html index 7e0c991..88924d1 100644 --- a/docs/api/CodeProject.ObjectPool.Specialized/StringBuilderPool/index.html +++ b/docs/api/CodeProject.ObjectPool.Specialized/StringBuilderPool/index.html @@ -349,7 +349,7 @@

Properties

int
- Maximum capacity a StringBuilder might have in order to be able to return + Maximum capacity a System.Text.StringBuilder might have in order to be able to return to pool. Defaults to DefaultMaximumStringBuilderCapacity.
diff --git a/docs/api/CodeProject.ObjectPool.Specialized/index.html b/docs/api/CodeProject.ObjectPool.Specialized/index.html index a014b6f..4c238fd 100644 --- a/docs/api/CodeProject.ObjectPool.Specialized/index.html +++ b/docs/api/CodeProject.ObjectPool.Specialized/index.html @@ -187,7 +187,7 @@

Class Types

PooledMemoryStream - Pooled object prepared to work with MemoryStream instances. + Pooled object prepared to work with System.IO.MemoryStream instances. diff --git a/docs/api/CodeProject.ObjectPool/IObjectPool_1/index.html b/docs/api/CodeProject.ObjectPool/IObjectPool_1/index.html index 487c63a..6429431 100644 --- a/docs/api/CodeProject.ObjectPool/IObjectPool_1/index.html +++ b/docs/api/CodeProject.ObjectPool/IObjectPool_1/index.html @@ -191,13 +191,13 @@

Summary

Implementing Types
@@ -207,20 +207,20 @@

Summary

graph TD Type["IObjectPool<T>"] class Type type-node - Type-.->Implementing0["IMemoryStreamPool"] - click Implementing0 "/ObjectPool/api/CodeProject.ObjectPool.Specialized/IMemoryStreamPool" - Type-.->Implementing1["ITimedObjectPool<T>"] - click Implementing1 "/ObjectPool/api/CodeProject.ObjectPool/ITimedObjectPool_1" + Type-.->Implementing0["StringBuilderPool"] + click Implementing0 "/ObjectPool/api/CodeProject.ObjectPool.Specialized/StringBuilderPool" + Type-.->Implementing1["IMemoryStreamPool"] + click Implementing1 "/ObjectPool/api/CodeProject.ObjectPool.Specialized/IMemoryStreamPool" Type-.->Implementing2["IStringBuilderPool"] click Implementing2 "/ObjectPool/api/CodeProject.ObjectPool.Specialized/IStringBuilderPool" - Type-.->Implementing3["StringBuilderPool"] - click Implementing3 "/ObjectPool/api/CodeProject.ObjectPool.Specialized/StringBuilderPool" - Type-.->Implementing4["ObjectPool<T>"] - click Implementing4 "/ObjectPool/api/CodeProject.ObjectPool/ObjectPool_1" - Type-.->Implementing5["TimedObjectPool<T>"] - click Implementing5 "/ObjectPool/api/CodeProject.ObjectPool/TimedObjectPool_1" - Type-.->Implementing6["MemoryStreamPool"] - click Implementing6 "/ObjectPool/api/CodeProject.ObjectPool.Specialized/MemoryStreamPool" + Type-.->Implementing3["MemoryStreamPool"] + click Implementing3 "/ObjectPool/api/CodeProject.ObjectPool.Specialized/MemoryStreamPool" + Type-.->Implementing4["ITimedObjectPool<T>"] + click Implementing4 "/ObjectPool/api/CodeProject.ObjectPool/ITimedObjectPool_1" + Type-.->Implementing5["ObjectPool<T>"] + click Implementing5 "/ObjectPool/api/CodeProject.ObjectPool/ObjectPool_1" + Type-.->Implementing6["TimedObjectPool<T>"] + click Implementing6 "/ObjectPool/api/CodeProject.ObjectPool/TimedObjectPool_1"
diff --git a/docs/api/CodeProject.ObjectPool/ObjectPool_1/index.html b/docs/api/CodeProject.ObjectPool/ObjectPool_1/index.html index a784e9f..42374d9 100644 --- a/docs/api/CodeProject.ObjectPool/ObjectPool_1/index.html +++ b/docs/api/CodeProject.ObjectPool/ObjectPool_1/index.html @@ -205,8 +205,8 @@

Summary

@@ -223,10 +223,10 @@

Summary

class Type type-node Type-->Derived0["StringBuilderPool"] click Derived0 "/ObjectPool/api/CodeProject.ObjectPool.Specialized/StringBuilderPool" - Type-->Derived1["TimedObjectPool<T>"] - click Derived1 "/ObjectPool/api/CodeProject.ObjectPool/TimedObjectPool_1" - Type-->Derived2["MemoryStreamPool"] - click Derived2 "/ObjectPool/api/CodeProject.ObjectPool.Specialized/MemoryStreamPool" + Type-->Derived1["MemoryStreamPool"] + click Derived1 "/ObjectPool/api/CodeProject.ObjectPool.Specialized/MemoryStreamPool" + Type-->Derived2["TimedObjectPool<T>"] + click Derived2 "/ObjectPool/api/CodeProject.ObjectPool/TimedObjectPool_1" diff --git a/docs/api/CodeProject.ObjectPool/PooledObject/85048E65.html b/docs/api/CodeProject.ObjectPool/PooledObject/85048E65.html index 359a2c1..8804bc8 100644 --- a/docs/api/CodeProject.ObjectPool/PooledObject/85048E65.html +++ b/docs/api/CodeProject.ObjectPool/PooledObject/85048E65.html @@ -171,7 +171,7 @@

Dispose() Method

Summary

- See System.IDisposable docs. + See IDisposable docs.
diff --git a/docs/api/CodeProject.ObjectPool/PooledObject/index.html b/docs/api/CodeProject.ObjectPool/PooledObject/index.html index aa48eb3..3080811 100644 --- a/docs/api/CodeProject.ObjectPool/PooledObject/index.html +++ b/docs/api/CodeProject.ObjectPool/PooledObject/index.html @@ -204,8 +204,8 @@

Summary

@@ -221,10 +221,10 @@

Summary

class Type type-node Type-->Derived0["PooledStringBuilder"] click Derived0 "/ObjectPool/api/CodeProject.ObjectPool.Specialized/PooledStringBuilder" - Type-->Derived1["PooledObjectWrapper<T>"] - click Derived1 "/ObjectPool/api/CodeProject.ObjectPool/PooledObjectWrapper_1" - Type-->Derived2["PooledMemoryStream"] - click Derived2 "/ObjectPool/api/CodeProject.ObjectPool.Specialized/PooledMemoryStream" + Type-->Derived1["PooledMemoryStream"] + click Derived1 "/ObjectPool/api/CodeProject.ObjectPool.Specialized/PooledMemoryStream" + Type-->Derived2["PooledObjectWrapper<T>"] + click Derived2 "/ObjectPool/api/CodeProject.ObjectPool/PooledObjectWrapper_1"
@@ -321,7 +321,7 @@

Methods

void
- See System.IDisposable docs. + See IDisposable docs.
diff --git a/docs/api/CodeProject.ObjectPool/PooledObjectWrapper_1/index.html b/docs/api/CodeProject.ObjectPool/PooledObjectWrapper_1/index.html index 53940de..75c54e1 100644 --- a/docs/api/CodeProject.ObjectPool/PooledObjectWrapper_1/index.html +++ b/docs/api/CodeProject.ObjectPool/PooledObjectWrapper_1/index.html @@ -382,7 +382,7 @@

Methods

void
- See System.IDisposable docs. + See IDisposable docs.
Inherited from PooledObject
diff --git a/docs/assets/js/searchIndex.js b/docs/assets/js/searchIndex.js index fba6913..9195ad7 100644 --- a/docs/assets/js/searchIndex.js +++ b/docs/assets/js/searchIndex.js @@ -34,449 +34,449 @@ var searchModule = function() { a({ id:0, - title:"Logger", - content:"Logger", + title:"StringBuilderPool", + content:"StringBuilderPool", description:'', tags:'' }); a({ id:1, - title:"TimedObjectPool", - content:"TimedObjectPool", + title:"PooledObject", + content:"PooledObject", description:'', tags:'' }); a({ id:2, - title:"ILogProvider", - content:"ILogProvider", + title:"ObjectPoolDiagnostics", + content:"ObjectPoolDiagnostics", description:'', tags:'' }); a({ id:3, - title:"MemoryStreamPool", - content:"MemoryStreamPool", + title:"PooledObjectValidationContext", + content:"PooledObjectValidationContext", description:'', tags:'' }); a({ id:4, - title:"PooledMemoryStream", - content:"PooledMemoryStream", + title:"IEvictionTimer", + content:"IEvictionTimer", description:'', tags:'' }); a({ id:5, - title:"PooledObjectValidationContext", - content:"PooledObjectValidationContext", + title:"LogLevel", + content:"LogLevel", description:'', tags:'' }); a({ id:6, - title:"PooledStringBuilder", - content:"PooledStringBuilder", + title:"IParameterizedObjectPool", + content:"IParameterizedObjectPool", description:'', tags:'' }); a({ id:7, - title:"IEvictionTimer", - content:"IEvictionTimer", + title:"IMemoryStreamPool", + content:"IMemoryStreamPool", description:'', tags:'' }); a({ id:8, - title:"StringBuilderPool", - content:"StringBuilderPool", + title:"EvictionSettings", + content:"EvictionSettings", description:'', tags:'' }); a({ id:9, - title:"IObjectPool", - content:"IObjectPool", + title:"LogProvider", + content:"LogProvider", description:'', tags:'' }); a({ id:10, - title:"ObjectPoolAdapterForPooledObject", - content:"ObjectPoolAdapterForPooledObject", + title:"EvictionTimer", + content:"EvictionTimer", description:'', tags:'' }); a({ id:11, - title:"PooledObject", - content:"PooledObject", + title:"ObjectPoolAdapterForPooledObject", + content:"ObjectPoolAdapterForPooledObject", description:'', tags:'' }); a({ id:12, - title:"ObjectPoolDiagnostics", - content:"ObjectPoolDiagnostics", + title:"PooledObjectState", + content:"PooledObjectState", description:'', tags:'' }); a({ id:13, - title:"ObjectPool", - content:"ObjectPool", + title:"TimedObjectPool", + content:"TimedObjectPool", description:'', tags:'' }); a({ id:14, - title:"ObjectPool", - content:"ObjectPool", + title:"IObjectPool", + content:"IObjectPool", description:'', tags:'' }); a({ id:15, - title:"PooledObjectWrapper", - content:"PooledObjectWrapper", + title:"PooledObjectBuffer", + content:"PooledObjectBuffer", description:'', tags:'' }); a({ id:16, - title:"ObjectPoolAdapter", - content:"ObjectPoolAdapter", + title:"PooledObjectDirection", + content:"PooledObjectDirection", description:'', tags:'' }); a({ id:17, - title:"PooledObjectBuffer", - content:"PooledObjectBuffer", + title:"PooledMemoryStream", + content:"PooledMemoryStream", description:'', tags:'' }); a({ id:18, - title:"ObjectPoolAdapter", - content:"ObjectPoolAdapter", + title:"ParameterizedObjectPool", + content:"ParameterizedObjectPool", description:'', tags:'' }); a({ id:19, - title:"LogProvider", - content:"LogProvider", + title:"MemoryStreamPool", + content:"MemoryStreamPool", description:'', tags:'' }); a({ id:20, - title:"IParameterizedObjectPool", - content:"IParameterizedObjectPool", + title:"ITimedObjectPool", + content:"ITimedObjectPool", description:'', tags:'' }); a({ id:21, - title:"IMemoryStreamPool", - content:"IMemoryStreamPool", + title:"PooledObjectInfo", + content:"PooledObjectInfo", description:'', tags:'' }); a({ id:22, - title:"LogLevel", - content:"LogLevel", + title:"ObjectPool", + content:"ObjectPool", description:'', tags:'' }); a({ id:23, - title:"PooledObjectWrapper", - content:"PooledObjectWrapper", + title:"ObjectPoolAdapter", + content:"ObjectPoolAdapter", description:'', tags:'' }); a({ id:24, - title:"PooledObjectState", - content:"PooledObjectState", + title:"ObjectPoolAdapter", + content:"ObjectPoolAdapter", description:'', tags:'' }); a({ id:25, - title:"ITimedObjectPool", - content:"ITimedObjectPool", + title:"PooledObjectWrapper", + content:"PooledObjectWrapper", description:'', tags:'' }); a({ id:26, - title:"ParameterizedObjectPool", - content:"ParameterizedObjectPool", + title:"Logger", + content:"Logger", description:'', tags:'' }); a({ id:27, - title:"EvictionSettings", - content:"EvictionSettings", + title:"ObjectPool", + content:"ObjectPool", description:'', tags:'' }); a({ id:28, - title:"PooledObjectInfo", - content:"PooledObjectInfo", + title:"IStringBuilderPool", + content:"IStringBuilderPool", description:'', tags:'' }); a({ id:29, - title:"PooledObjectDirection", - content:"PooledObjectDirection", + title:"ILogProvider", + content:"ILogProvider", description:'', tags:'' }); a({ id:30, - title:"EvictionTimer", - content:"EvictionTimer", + title:"PooledObjectWrapper", + content:"PooledObjectWrapper", description:'', tags:'' }); a({ id:31, - title:"IStringBuilderPool", - content:"IStringBuilderPool", + title:"PooledStringBuilder", + content:"PooledStringBuilder", description:'', tags:'' }); y({ - url:'/ObjectPool/api/CodeProject.ObjectPool.Logging/Logger', - title:"Logger", + url:'/ObjectPool/api/CodeProject.ObjectPool.Specialized/StringBuilderPool', + title:"StringBuilderPool", description:"" }); y({ - url:'/ObjectPool/api/CodeProject.ObjectPool/TimedObjectPool_1', - title:"TimedObjectPool", + url:'/ObjectPool/api/CodeProject.ObjectPool/PooledObject', + title:"PooledObject", description:"" }); y({ - url:'/ObjectPool/api/CodeProject.ObjectPool.Logging/ILogProvider', - title:"ILogProvider", + url:'/ObjectPool/api/CodeProject.ObjectPool.Core/ObjectPoolDiagnostics', + title:"ObjectPoolDiagnostics", description:"" }); y({ - url:'/ObjectPool/api/CodeProject.ObjectPool.Specialized/MemoryStreamPool', - title:"MemoryStreamPool", + url:'/ObjectPool/api/CodeProject.ObjectPool.Core/PooledObjectValidationContext', + title:"PooledObjectValidationContext", description:"" }); y({ - url:'/ObjectPool/api/CodeProject.ObjectPool.Specialized/PooledMemoryStream', - title:"PooledMemoryStream", + url:'/ObjectPool/api/CodeProject.ObjectPool/IEvictionTimer', + title:"IEvictionTimer", description:"" }); y({ - url:'/ObjectPool/api/CodeProject.ObjectPool.Core/PooledObjectValidationContext', - title:"PooledObjectValidationContext", + url:'/ObjectPool/api/CodeProject.ObjectPool.Logging/LogLevel', + title:"LogLevel", description:"" }); y({ - url:'/ObjectPool/api/CodeProject.ObjectPool.Specialized/PooledStringBuilder', - title:"PooledStringBuilder", + url:'/ObjectPool/api/CodeProject.ObjectPool/IParameterizedObjectPool_2', + title:"IParameterizedObjectPool", description:"" }); y({ - url:'/ObjectPool/api/CodeProject.ObjectPool/IEvictionTimer', - title:"IEvictionTimer", + url:'/ObjectPool/api/CodeProject.ObjectPool.Specialized/IMemoryStreamPool', + title:"IMemoryStreamPool", description:"" }); y({ - url:'/ObjectPool/api/CodeProject.ObjectPool.Specialized/StringBuilderPool', - title:"StringBuilderPool", + url:'/ObjectPool/api/CodeProject.ObjectPool/EvictionSettings', + title:"EvictionSettings", description:"" }); y({ - url:'/ObjectPool/api/CodeProject.ObjectPool/IObjectPool_1', - title:"IObjectPool", + url:'/ObjectPool/api/CodeProject.ObjectPool.Logging/LogProvider', + title:"LogProvider", description:"" }); y({ - url:'/ObjectPool/api/CodeProject.ObjectPool.MicrosoftExtensionsAdapter/ObjectPoolAdapterForPooledObject_1', - title:"ObjectPoolAdapterForPooledObject", + url:'/ObjectPool/api/CodeProject.ObjectPool/EvictionTimer', + title:"EvictionTimer", description:"" }); y({ - url:'/ObjectPool/api/CodeProject.ObjectPool/PooledObject', - title:"PooledObject", + url:'/ObjectPool/api/CodeProject.ObjectPool.MicrosoftExtensionsAdapter/ObjectPoolAdapterForPooledObject_1', + title:"ObjectPoolAdapterForPooledObject", description:"" }); y({ - url:'/ObjectPool/api/CodeProject.ObjectPool.Core/ObjectPoolDiagnostics', - title:"ObjectPoolDiagnostics", + url:'/ObjectPool/api/CodeProject.ObjectPool.Core/PooledObjectState', + title:"PooledObjectState", description:"" }); y({ - url:'/ObjectPool/api/CodeProject.ObjectPool/ObjectPool', - title:"ObjectPool", + url:'/ObjectPool/api/CodeProject.ObjectPool/TimedObjectPool_1', + title:"TimedObjectPool", description:"" }); y({ - url:'/ObjectPool/api/CodeProject.ObjectPool/ObjectPool_1', - title:"ObjectPool", + url:'/ObjectPool/api/CodeProject.ObjectPool/IObjectPool_1', + title:"IObjectPool", description:"" }); y({ - url:'/ObjectPool/api/CodeProject.ObjectPool/PooledObjectWrapper_1', - title:"PooledObjectWrapper", + url:'/ObjectPool/api/CodeProject.ObjectPool.Core/PooledObjectBuffer_1', + title:"PooledObjectBuffer", description:"" }); y({ - url:'/ObjectPool/api/CodeProject.ObjectPool.MicrosoftExtensionsAdapter/ObjectPoolAdapter_1', - title:"ObjectPoolAdapter", + url:'/ObjectPool/api/CodeProject.ObjectPool.Core/PooledObjectDirection', + title:"PooledObjectDirection", description:"" }); y({ - url:'/ObjectPool/api/CodeProject.ObjectPool.Core/PooledObjectBuffer_1', - title:"PooledObjectBuffer", + url:'/ObjectPool/api/CodeProject.ObjectPool.Specialized/PooledMemoryStream', + title:"PooledMemoryStream", description:"" }); y({ - url:'/ObjectPool/api/CodeProject.ObjectPool.MicrosoftExtensionsAdapter/ObjectPoolAdapter', - title:"ObjectPoolAdapter", + url:'/ObjectPool/api/CodeProject.ObjectPool/ParameterizedObjectPool_2', + title:"ParameterizedObjectPool", description:"" }); y({ - url:'/ObjectPool/api/CodeProject.ObjectPool.Logging/LogProvider', - title:"LogProvider", + url:'/ObjectPool/api/CodeProject.ObjectPool.Specialized/MemoryStreamPool', + title:"MemoryStreamPool", description:"" }); y({ - url:'/ObjectPool/api/CodeProject.ObjectPool/IParameterizedObjectPool_2', - title:"IParameterizedObjectPool", + url:'/ObjectPool/api/CodeProject.ObjectPool/ITimedObjectPool_1', + title:"ITimedObjectPool", description:"" }); y({ - url:'/ObjectPool/api/CodeProject.ObjectPool.Specialized/IMemoryStreamPool', - title:"IMemoryStreamPool", + url:'/ObjectPool/api/CodeProject.ObjectPool.Core/PooledObjectInfo', + title:"PooledObjectInfo", description:"" }); y({ - url:'/ObjectPool/api/CodeProject.ObjectPool.Logging/LogLevel', - title:"LogLevel", + url:'/ObjectPool/api/CodeProject.ObjectPool/ObjectPool_1', + title:"ObjectPool", description:"" }); y({ - url:'/ObjectPool/api/CodeProject.ObjectPool/PooledObjectWrapper', - title:"PooledObjectWrapper", + url:'/ObjectPool/api/CodeProject.ObjectPool.MicrosoftExtensionsAdapter/ObjectPoolAdapter_1', + title:"ObjectPoolAdapter", description:"" }); y({ - url:'/ObjectPool/api/CodeProject.ObjectPool.Core/PooledObjectState', - title:"PooledObjectState", + url:'/ObjectPool/api/CodeProject.ObjectPool.MicrosoftExtensionsAdapter/ObjectPoolAdapter', + title:"ObjectPoolAdapter", description:"" }); y({ - url:'/ObjectPool/api/CodeProject.ObjectPool/ITimedObjectPool_1', - title:"ITimedObjectPool", + url:'/ObjectPool/api/CodeProject.ObjectPool/PooledObjectWrapper_1', + title:"PooledObjectWrapper", description:"" }); y({ - url:'/ObjectPool/api/CodeProject.ObjectPool/ParameterizedObjectPool_2', - title:"ParameterizedObjectPool", + url:'/ObjectPool/api/CodeProject.ObjectPool.Logging/Logger', + title:"Logger", description:"" }); y({ - url:'/ObjectPool/api/CodeProject.ObjectPool/EvictionSettings', - title:"EvictionSettings", + url:'/ObjectPool/api/CodeProject.ObjectPool/ObjectPool', + title:"ObjectPool", description:"" }); y({ - url:'/ObjectPool/api/CodeProject.ObjectPool.Core/PooledObjectInfo', - title:"PooledObjectInfo", + url:'/ObjectPool/api/CodeProject.ObjectPool.Specialized/IStringBuilderPool', + title:"IStringBuilderPool", description:"" }); y({ - url:'/ObjectPool/api/CodeProject.ObjectPool.Core/PooledObjectDirection', - title:"PooledObjectDirection", + url:'/ObjectPool/api/CodeProject.ObjectPool.Logging/ILogProvider', + title:"ILogProvider", description:"" }); y({ - url:'/ObjectPool/api/CodeProject.ObjectPool/EvictionTimer', - title:"EvictionTimer", + url:'/ObjectPool/api/CodeProject.ObjectPool/PooledObjectWrapper', + title:"PooledObjectWrapper", description:"" }); y({ - url:'/ObjectPool/api/CodeProject.ObjectPool.Specialized/IStringBuilderPool', - title:"IStringBuilderPool", + url:'/ObjectPool/api/CodeProject.ObjectPool.Specialized/PooledStringBuilder', + title:"PooledStringBuilder", description:"" }); diff --git a/docs/feed.atom b/docs/feed.atom index 70d376d..9328a75 100644 --- a/docs/feed.atom +++ b/docs/feed.atom @@ -4,7 +4,7 @@ https://pomma89.github.io/ObjectPool CodeProject.ObjectPool 2017 - 2017-09-30T18:08:23Z + 2017-10-28T12:39:44Z me diff --git a/docs/feed.rss b/docs/feed.rss index ddef99a..f4626ba 100644 --- a/docs/feed.rss +++ b/docs/feed.rss @@ -5,8 +5,8 @@ https://pomma89.github.io/ObjectPool 2017 - Sat, 30 Sep 2017 18:08:23 GMT - Sat, 30 Sep 2017 18:08:23 GMT + Sat, 28 Oct 2017 12:39:44 GMT + Sat, 28 Oct 2017 12:39:44 GMT New Release https://pomma89.github.io/ObjectPool/blog/new-release diff --git a/src/CodeProject.ObjectPool.MicrosoftExtensionsAdapter/CodeProject.ObjectPool.MicrosoftExtensionsAdapter.csproj b/src/CodeProject.ObjectPool.MicrosoftExtensionsAdapter/CodeProject.ObjectPool.MicrosoftExtensionsAdapter.csproj index db7d874..7a93798 100644 --- a/src/CodeProject.ObjectPool.MicrosoftExtensionsAdapter/CodeProject.ObjectPool.MicrosoftExtensionsAdapter.csproj +++ b/src/CodeProject.ObjectPool.MicrosoftExtensionsAdapter/CodeProject.ObjectPool.MicrosoftExtensionsAdapter.csproj @@ -2,11 +2,15 @@ CodeProject.ObjectPool.MicrosoftExtensionsAdapter Generic and concurrent Object Pool - Adapter for Microsoft Extensions - netstandard2.0;net461 + netstandard2.0;net461;net471 true ../../pomma89.snk true - true + + + + + <_HasReferenceToSystemRuntime>true diff --git a/src/CodeProject.ObjectPool/App_Packages/LibLog.4.2/LibLog.cs b/src/CodeProject.ObjectPool/App_Packages/LibLog.4.2/LibLog.cs index 1adf4dd..5b9bc7f 100644 --- a/src/CodeProject.ObjectPool/App_Packages/LibLog.4.2/LibLog.cs +++ b/src/CodeProject.ObjectPool/App_Packages/LibLog.4.2/LibLog.cs @@ -899,7 +899,7 @@ internal class NLogLogger { private readonly dynamic _logger; - private static Func _logEventInfoFact; + private static readonly Func _logEventInfoFact; private static readonly object _levelTrace; private static readonly object _levelDebug; @@ -1300,7 +1300,7 @@ internal class Log4NetLogger private readonly Func _isEnabledForDelegate; private readonly Action _logDelegate; private readonly Func _createLoggingEvent; - private Action _loggingEventPropertySetter; + private readonly Action _loggingEventPropertySetter; [SuppressMessage("Microsoft.Naming", "CA2204:Literals should be spelled correctly", MessageId = "ILogger")] internal Log4NetLogger(dynamic logger) diff --git a/src/CodeProject.ObjectPool/CodeProject.ObjectPool.csproj b/src/CodeProject.ObjectPool/CodeProject.ObjectPool.csproj index cebe224..f04ce77 100644 --- a/src/CodeProject.ObjectPool/CodeProject.ObjectPool.csproj +++ b/src/CodeProject.ObjectPool/CodeProject.ObjectPool.csproj @@ -2,11 +2,10 @@ CodeProject.ObjectPool Generic and concurrent Object Pool - netstandard1.0;netstandard1.2;netstandard1.3;netstandard2.0;net40;net45 + netstandard1.0;netstandard1.2;netstandard1.3;netstandard2.0;net40;net45;net461;net471 true ../../pomma89.snk true - true @@ -50,4 +49,14 @@ + + + + + + + + + + \ No newline at end of file diff --git a/test/CodeProject.ObjectPool.UnitTests/CodeProject.ObjectPool.UnitTests.csproj b/test/CodeProject.ObjectPool.UnitTests/CodeProject.ObjectPool.UnitTests.csproj index 7adece4..cfebbc8 100644 --- a/test/CodeProject.ObjectPool.UnitTests/CodeProject.ObjectPool.UnitTests.csproj +++ b/test/CodeProject.ObjectPool.UnitTests/CodeProject.ObjectPool.UnitTests.csproj @@ -1,9 +1,14 @@  - netcoreapp1.0;netcoreapp1.1;netcoreapp2.0;net40;net45;net461 + netcoreapp1.0;netcoreapp1.1;netcoreapp2.0;net40;net45;net461;net471 exe + + + <_HasReferenceToSystemRuntime>true + + @@ -52,4 +57,14 @@ + + + $(DefineConstants);HAS_EXTENSIONS + + + + + + + \ No newline at end of file