Skip to content
This repository has been archived by the owner on May 21, 2022. It is now read-only.

Commit

Permalink
Merge branch 'dev-pomma89'
Browse files Browse the repository at this point in the history
  • Loading branch information
pomma89 committed Oct 28, 2017
2 parents e37f812 + 9dc6bd1 commit 18d8389
Show file tree
Hide file tree
Showing 29 changed files with 253 additions and 189 deletions.
4 changes: 4 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -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.
Expand Down
10 changes: 9 additions & 1 deletion Directory.Build.props
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<Project>
<PropertyGroup>
<VersionPrefix>3.2.1</VersionPrefix>
<VersionPrefix>3.2.2</VersionPrefix>
<AssemblyVersion>3.0.0</AssemblyVersion>
</PropertyGroup>

Expand Down Expand Up @@ -38,4 +38,12 @@
<PropertyGroup Condition=" '$(TargetFramework)' == 'net45' ">
<DefineConstants>$(DefineConstants);NET45;HAS_SERIALIZABLE</DefineConstants>
</PropertyGroup>

<PropertyGroup Condition=" '$(TargetFramework)' == 'net461' ">
<DefineConstants>$(DefineConstants);NET46;HAS_SERIALIZABLE</DefineConstants>
</PropertyGroup>

<PropertyGroup Condition=" '$(TargetFramework)' == 'net471' ">
<DefineConstants>$(DefineConstants);NET47;HAS_SERIALIZABLE</DefineConstants>
</PropertyGroup>
</Project>
7 changes: 7 additions & 0 deletions NuGet.Config
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<packageSources>
<!-- Add this repository to the list of available repositories -->
<add key="myget/pomma89" value="https://www.myget.org/F/pomma89/api/v3/index.json" />
</packageSources>
</configuration>
31 changes: 24 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
@@ -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.
Expand Down Expand Up @@ -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)
2 changes: 1 addition & 1 deletion appveyor.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
version: 3.2.1.{build}
version: 3.2.2.{build}
image: Visual Studio 2017
build_script:
- ps: .\build.ps1
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -165,7 +165,7 @@ <h1>LogProvider <small>Class</small></h1>

<h1 id="Summary">Summary</h1>
<div class="lead">
Provides a mechanism to create instances of <code class="cs">CodeProject.ObjectPool.Logging.ILog</code> objects.
Provides a mechanism to create instances of <code class="cs"><a href="/ObjectPool">ILog</a></code> objects.
</div>

<div class="panel panel-default">
Expand Down
2 changes: 1 addition & 1 deletion docs/api/CodeProject.ObjectPool.Logging/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -239,7 +239,7 @@ <h1 id="ClassTypes">Class Types</h1>
<tbody><tr>
<td><a href="/ObjectPool/api/CodeProject.ObjectPool.Logging/LogProvider">LogProvider</a></td>
<td>
Provides a mechanism to create instances of <code class="cs">CodeProject.ObjectPool.Logging.ILog</code> objects.
Provides a mechanism to create instances of <code class="cs"><a href="/ObjectPool">ILog</a></code> objects.
</td>
</tr>
</tbody></table>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -162,7 +162,7 @@ <h1>Maximum<wbr>Memory<wbr>Stream<wbr>Capacity <small>Property</small></h1>

<h1 id="Summary">Summary</h1>
<div class="lead">
Maximum capacity a <code class="cs"><a href="/ObjectPool">MemoryStream</a></code> might have in order to be able to return
Maximum capacity a <code class="cs">System.IO.MemoryStream</code> might have in order to be able to return
to pool. Defaults to <code class="cs"><a href="/ObjectPool/api/CodeProject.ObjectPool.Specialized/MemoryStreamPool/992CE177">DefaultMaximumMemoryStreamCapacity</a></code>.
</div>

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -236,7 +236,7 @@ <h1 id="Properties">Properties</h1>
<td>int</td>
<td>
<div>
Maximum capacity a <code class="cs"><a href="/ObjectPool">MemoryStream</a></code> might have in order to be able to return
Maximum capacity a <code class="cs">System.IO.MemoryStream</code> might have in order to be able to return
to pool. Defaults to <code class="cs"><a href="/ObjectPool/api/CodeProject.ObjectPool.Specialized/MemoryStreamPool/992CE177">DefaultMaximumMemoryStreamCapacity</a></code>.
</div>
</td>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -180,7 +180,7 @@ <h1>Maximum<wbr>Memory<wbr>Stream<wbr>Capacity <small>Property</small></h1>

<h1 id="Summary">Summary</h1>
<div class="lead">
Maximum capacity a <code class="cs"><a href="/ObjectPool">MemoryStream</a></code> might have in order to be able to return
Maximum capacity a <code class="cs">System.IO.MemoryStream</code> might have in order to be able to return
to pool. Defaults to <code class="cs"><a href="/ObjectPool/api/CodeProject.ObjectPool.Specialized/MemoryStreamPool/992CE177">DefaultMaximumMemoryStreamCapacity</a></code>.
</div>

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -180,7 +180,7 @@ <h1>Minimum<wbr>Memory<wbr>Stream<wbr>Capacity <small>Property</small></h1>

<h1 id="Summary">Summary</h1>
<div class="lead">
Minimum capacity a <code class="cs"><a href="/ObjectPool">MemoryStream</a></code> should have when created and this is the
Minimum capacity a <code class="cs">System.IO.MemoryStream</code> should have when created and this is the
minimum capacity of all streams stored in the pool. Defaults to <code class="cs"><a href="/ObjectPool/api/CodeProject.ObjectPool.Specialized/MemoryStreamPool/ED4A0411">DefaultMinimumMemoryStreamCapacity</a></code>.
</div>

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -338,7 +338,7 @@ <h1 id="Properties">Properties</h1>
<td>int</td>
<td>
<div>
Maximum capacity a <code class="cs"><a href="/ObjectPool">MemoryStream</a></code> might have in order to be able to return
Maximum capacity a <code class="cs">System.IO.MemoryStream</code> might have in order to be able to return
to pool. Defaults to <code class="cs"><a href="/ObjectPool/api/CodeProject.ObjectPool.Specialized/MemoryStreamPool/992CE177">DefaultMaximumMemoryStreamCapacity</a></code>.
</div>
</td>
Expand All @@ -359,7 +359,7 @@ <h1 id="Properties">Properties</h1>
<td>int</td>
<td>
<div>
Minimum capacity a <code class="cs"><a href="/ObjectPool">MemoryStream</a></code> should have when created and this is the
Minimum capacity a <code class="cs">System.IO.MemoryStream</code> should have when created and this is the
minimum capacity of all streams stored in the pool. Defaults to <code class="cs"><a href="/ObjectPool/api/CodeProject.ObjectPool.Specialized/MemoryStreamPool/ED4A0411">DefaultMinimumMemoryStreamCapacity</a></code>.
</div>
</td>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -167,7 +167,7 @@ <h1>PooledMemoryStream <small>Class</small></h1>

<h1 id="Summary">Summary</h1>
<div class="lead">
Pooled object prepared to work with <code class="cs"><a href="/ObjectPool">MemoryStream</a></code> instances.
Pooled object prepared to work with <code class="cs">System.IO.MemoryStream</code> instances.
</div>

<div class="panel panel-default">
Expand Down Expand Up @@ -338,7 +338,7 @@ <h1 id="Methods">Methods</h1>
<td>void</td>
<td>
<div>
See <code class="cs">System.IDisposable</code> docs.
See <code class="cs"><a href="/ObjectPool">IDisposable</a></code> docs.
</div>
<div><small><em>Inherited from <a href="/ObjectPool/api/CodeProject.ObjectPool/PooledObject">PooledObject</a></em></small></div>
</td>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -348,7 +348,7 @@ <h1 id="Methods">Methods</h1>
<td>void</td>
<td>
<div>
See <code class="cs">System.IDisposable</code> docs.
See <code class="cs"><a href="/ObjectPool">IDisposable</a></code> docs.
</div>
<div><small><em>Inherited from <a href="/ObjectPool/api/CodeProject.ObjectPool/PooledObject">PooledObject</a></em></small></div>
</td>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -181,7 +181,7 @@ <h1>Maximum<wbr>String<wbr>Builder<wbr>Capacity <small>Property</small></h1>

<h1 id="Summary">Summary</h1>
<div class="lead">
Maximum capacity a <code class="cs"><a href="/ObjectPool">StringBuilder</a></code> might have in order to be able to return
Maximum capacity a <code class="cs">System.Text.StringBuilder</code> might have in order to be able to return
to pool. Defaults to <code class="cs"><a href="/ObjectPool/api/CodeProject.ObjectPool.Specialized/StringBuilderPool/521E9FD1">DefaultMaximumStringBuilderCapacity</a></code>.
</div>

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -349,7 +349,7 @@ <h1 id="Properties">Properties</h1>
<td>int</td>
<td>
<div>
Maximum capacity a <code class="cs"><a href="/ObjectPool">StringBuilder</a></code> might have in order to be able to return
Maximum capacity a <code class="cs">System.Text.StringBuilder</code> might have in order to be able to return
to pool. Defaults to <code class="cs"><a href="/ObjectPool/api/CodeProject.ObjectPool.Specialized/StringBuilderPool/521E9FD1">DefaultMaximumStringBuilderCapacity</a></code>.
</div>
</td>
Expand Down
2 changes: 1 addition & 1 deletion docs/api/CodeProject.ObjectPool.Specialized/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -187,7 +187,7 @@ <h1 id="ClassTypes">Class Types</h1>
<tr>
<td><a href="/ObjectPool/api/CodeProject.ObjectPool.Specialized/PooledMemoryStream">PooledMemoryStream</a></td>
<td>
Pooled object prepared to work with <code class="cs"><a href="/ObjectPool">MemoryStream</a></code> instances.
Pooled object prepared to work with <code class="cs">System.IO.MemoryStream</code> instances.
</td>
</tr>
<tr>
Expand Down
30 changes: 15 additions & 15 deletions docs/api/CodeProject.ObjectPool/IObjectPool_1/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -191,13 +191,13 @@ <h1 id="Summary">Summary</h1>
<dt>Implementing Types</dt>
<dd>
<ul class="list-unstyled">
<li><a href="/ObjectPool/api/CodeProject.ObjectPool.Specialized/StringBuilderPool">StringBuilderPool</a></li>
<li><a href="/ObjectPool/api/CodeProject.ObjectPool.Specialized/IMemoryStreamPool">IMemoryStreamPool</a></li>
<li><a href="/ObjectPool/api/CodeProject.ObjectPool/ITimedObjectPool_1">ITimedObjectPool<wbr>&lt;T&gt;<wbr></a></li>
<li><a href="/ObjectPool/api/CodeProject.ObjectPool.Specialized/IStringBuilderPool">IStringBuilderPool</a></li>
<li><a href="/ObjectPool/api/CodeProject.ObjectPool.Specialized/StringBuilderPool">StringBuilderPool</a></li>
<li><a href="/ObjectPool/api/CodeProject.ObjectPool.Specialized/MemoryStreamPool">MemoryStreamPool</a></li>
<li><a href="/ObjectPool/api/CodeProject.ObjectPool/ITimedObjectPool_1">ITimedObjectPool<wbr>&lt;T&gt;<wbr></a></li>
<li><a href="/ObjectPool/api/CodeProject.ObjectPool/ObjectPool_1">ObjectPool<wbr>&lt;T&gt;<wbr></a></li>
<li><a href="/ObjectPool/api/CodeProject.ObjectPool/TimedObjectPool_1">TimedObjectPool<wbr>&lt;T&gt;<wbr></a></li>
<li><a href="/ObjectPool/api/CodeProject.ObjectPool.Specialized/MemoryStreamPool">MemoryStreamPool</a></li>
</ul>
</dd>
</dl>
Expand All @@ -207,20 +207,20 @@ <h1 id="Summary">Summary</h1>
graph TD
Type["IObjectPool&lt;T&gt;"]
class Type type-node
Type-.-&gt;Implementing0["IMemoryStreamPool"]
click Implementing0 "/ObjectPool/api/CodeProject.ObjectPool.Specialized/IMemoryStreamPool"
Type-.-&gt;Implementing1["ITimedObjectPool&lt;T&gt;"]
click Implementing1 "/ObjectPool/api/CodeProject.ObjectPool/ITimedObjectPool_1"
Type-.-&gt;Implementing0["StringBuilderPool"]
click Implementing0 "/ObjectPool/api/CodeProject.ObjectPool.Specialized/StringBuilderPool"
Type-.-&gt;Implementing1["IMemoryStreamPool"]
click Implementing1 "/ObjectPool/api/CodeProject.ObjectPool.Specialized/IMemoryStreamPool"
Type-.-&gt;Implementing2["IStringBuilderPool"]
click Implementing2 "/ObjectPool/api/CodeProject.ObjectPool.Specialized/IStringBuilderPool"
Type-.-&gt;Implementing3["StringBuilderPool"]
click Implementing3 "/ObjectPool/api/CodeProject.ObjectPool.Specialized/StringBuilderPool"
Type-.-&gt;Implementing4["ObjectPool&lt;T&gt;"]
click Implementing4 "/ObjectPool/api/CodeProject.ObjectPool/ObjectPool_1"
Type-.-&gt;Implementing5["TimedObjectPool&lt;T&gt;"]
click Implementing5 "/ObjectPool/api/CodeProject.ObjectPool/TimedObjectPool_1"
Type-.-&gt;Implementing6["MemoryStreamPool"]
click Implementing6 "/ObjectPool/api/CodeProject.ObjectPool.Specialized/MemoryStreamPool"
Type-.-&gt;Implementing3["MemoryStreamPool"]
click Implementing3 "/ObjectPool/api/CodeProject.ObjectPool.Specialized/MemoryStreamPool"
Type-.-&gt;Implementing4["ITimedObjectPool&lt;T&gt;"]
click Implementing4 "/ObjectPool/api/CodeProject.ObjectPool/ITimedObjectPool_1"
Type-.-&gt;Implementing5["ObjectPool&lt;T&gt;"]
click Implementing5 "/ObjectPool/api/CodeProject.ObjectPool/ObjectPool_1"
Type-.-&gt;Implementing6["TimedObjectPool&lt;T&gt;"]
click Implementing6 "/ObjectPool/api/CodeProject.ObjectPool/TimedObjectPool_1"

</div>
</div>
Expand Down
10 changes: 5 additions & 5 deletions docs/api/CodeProject.ObjectPool/ObjectPool_1/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -205,8 +205,8 @@ <h1 id="Summary">Summary</h1>
<dd>
<ul class="list-unstyled">
<li><a href="/ObjectPool/api/CodeProject.ObjectPool.Specialized/StringBuilderPool">StringBuilderPool</a></li>
<li><a href="/ObjectPool/api/CodeProject.ObjectPool/TimedObjectPool_1">TimedObjectPool<wbr>&lt;T&gt;<wbr></a></li>
<li><a href="/ObjectPool/api/CodeProject.ObjectPool.Specialized/MemoryStreamPool">MemoryStreamPool</a></li>
<li><a href="/ObjectPool/api/CodeProject.ObjectPool/TimedObjectPool_1">TimedObjectPool<wbr>&lt;T&gt;<wbr></a></li>
</ul>
</dd>

Expand All @@ -223,10 +223,10 @@ <h1 id="Summary">Summary</h1>
class Type type-node
Type--&gt;Derived0["StringBuilderPool"]
click Derived0 "/ObjectPool/api/CodeProject.ObjectPool.Specialized/StringBuilderPool"
Type--&gt;Derived1["TimedObjectPool&lt;T&gt;"]
click Derived1 "/ObjectPool/api/CodeProject.ObjectPool/TimedObjectPool_1"
Type--&gt;Derived2["MemoryStreamPool"]
click Derived2 "/ObjectPool/api/CodeProject.ObjectPool.Specialized/MemoryStreamPool"
Type--&gt;Derived1["MemoryStreamPool"]
click Derived1 "/ObjectPool/api/CodeProject.ObjectPool.Specialized/MemoryStreamPool"
Type--&gt;Derived2["TimedObjectPool&lt;T&gt;"]
click Derived2 "/ObjectPool/api/CodeProject.ObjectPool/TimedObjectPool_1"

</div>
</div>
Expand Down
2 changes: 1 addition & 1 deletion docs/api/CodeProject.ObjectPool/PooledObject/85048E65.html
Original file line number Diff line number Diff line change
Expand Up @@ -171,7 +171,7 @@ <h1>Dispose<wbr>()<wbr> <small>Method</small></h1>

<h1 id="Summary">Summary</h1>
<div class="lead">
See <code class="cs">System.IDisposable</code> docs.
See <code class="cs"><a href="/ObjectPool">IDisposable</a></code> docs.
</div>

<div class="panel panel-default">
Expand Down
12 changes: 6 additions & 6 deletions docs/api/CodeProject.ObjectPool/PooledObject/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -204,8 +204,8 @@ <h1 id="Summary">Summary</h1>
<dd>
<ul class="list-unstyled">
<li><a href="/ObjectPool/api/CodeProject.ObjectPool.Specialized/PooledStringBuilder">PooledStringBuilder</a></li>
<li><a href="/ObjectPool/api/CodeProject.ObjectPool/PooledObjectWrapper_1">PooledObjectWrapper<wbr>&lt;T&gt;<wbr></a></li>
<li><a href="/ObjectPool/api/CodeProject.ObjectPool.Specialized/PooledMemoryStream">PooledMemoryStream</a></li>
<li><a href="/ObjectPool/api/CodeProject.ObjectPool/PooledObjectWrapper_1">PooledObjectWrapper<wbr>&lt;T&gt;<wbr></a></li>
</ul>
</dd>

Expand All @@ -221,10 +221,10 @@ <h1 id="Summary">Summary</h1>
class Type type-node
Type--&gt;Derived0["PooledStringBuilder"]
click Derived0 "/ObjectPool/api/CodeProject.ObjectPool.Specialized/PooledStringBuilder"
Type--&gt;Derived1["PooledObjectWrapper&lt;T&gt;"]
click Derived1 "/ObjectPool/api/CodeProject.ObjectPool/PooledObjectWrapper_1"
Type--&gt;Derived2["PooledMemoryStream"]
click Derived2 "/ObjectPool/api/CodeProject.ObjectPool.Specialized/PooledMemoryStream"
Type--&gt;Derived1["PooledMemoryStream"]
click Derived1 "/ObjectPool/api/CodeProject.ObjectPool.Specialized/PooledMemoryStream"
Type--&gt;Derived2["PooledObjectWrapper&lt;T&gt;"]
click Derived2 "/ObjectPool/api/CodeProject.ObjectPool/PooledObjectWrapper_1"

</div>
</div>
Expand Down Expand Up @@ -321,7 +321,7 @@ <h1 id="Methods">Methods</h1>
<td>void</td>
<td>
<div>
See <code class="cs">System.IDisposable</code> docs.
See <code class="cs"><a href="/ObjectPool">IDisposable</a></code> docs.
</div>
</td>
</tr>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -382,7 +382,7 @@ <h1 id="Methods">Methods</h1>
<td>void</td>
<td>
<div>
See <code class="cs">System.IDisposable</code> docs.
See <code class="cs"><a href="/ObjectPool">IDisposable</a></code> docs.
</div>
<div><small><em>Inherited from <a href="/ObjectPool/api/CodeProject.ObjectPool/PooledObject">PooledObject</a></em></small></div>
</td>
Expand Down
Loading

0 comments on commit 18d8389

Please sign in to comment.