[#BloombergLP-balb-PipeTaskManager-2constructor-04]
= xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/balb.adoc[balb]::xref:BloombergLP/balb/PipeTaskManager.adoc[PipeTaskManager]::PipeTaskManager
:relfileprefix: ../../../
:mrdocs:

Create a task manager that uses the handlers of the specified shared `controlManager`&period;

== Synopsis

Declared in `&lt;balb&lowbar;pipetaskmanager&period;h&gt;`

[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
explicit
PipeTaskManager(
    xref:bsl/shared_ptr-0a.adoc[bsl::shared&lowbar;ptr&lt;ControlManager&gt;]& controlManager,
    xref:BloombergLP/bslma/Allocator.adoc[bslma::Allocator]* basicAllocator = 0);
----

== Description

Optionally specify a `basicAllocator` used to supply memory&period; If `basicAllocator` is 0, the currently installed default allocator is used&period; The `start` method must be called successfully before messages will be received (on a separate thread created by `start`)&period; Note that the name of the message pipe is supplied as an argument to `start`&period; Also note that the handlers of `controlManager` can be manipulated via the return value of the `controlManager` method&period; Finally note that the allocator of `controlManger` need not equal `basicAllocator`&period;

== Parameters

[cols="1,4"]
|===
| Name| Description
| *controlManager*
| shared control manager supplying message handlers
| *basicAllocator*
| memory allocator&semi; null uses the default
|===


[.small]#Created with https://www.mrdocs.com[MrDocs]#
