[#BloombergLP-balb-PipeControlChannel]
= xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/balb.adoc[balb]::PipeControlChannel
:relfileprefix: ../../
:mrdocs:

This class is a mechanism for reading control messages from a named pipe&period;

== Synopsis

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

[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
class PipeControlChannel;
----

== Description

Use `start` to spawn a thread that handles messages arriving at the pipe, and `shutdown` to stop reading&period; `stop` blocks until the processing thread has been terminated by a call to `shutdown` (either before `stop` is called, or from some other thread)&period;

== Type Aliases

[cols="1,4"]
|===
| Name| Description
| xref:BloombergLP/balb/PipeControlChannel/ControlCallback.adoc[`ControlCallback`] 
| Callback type invoked to handle control messages&period;
|===


== Member Functions

[cols="1,4"]
|===
| Name| Description
| xref:BloombergLP/balb/PipeControlChannel/2constructor-05.adoc[`PipeControlChannel`]         [.small]#[constructor]#
| Constructors
| xref:BloombergLP/balb/PipeControlChannel/2destructor.adoc[`&#126;PipeControlChannel`] [.small]#[destructor]#
| Destroy this object&period;
| xref:BloombergLP/balb/PipeControlChannel/allocator.adoc[`allocator`] 
| Return the allocator used by this object to supply memory&period;
| xref:BloombergLP/balb/PipeControlChannel/permissions.adoc[`permissions`] 
| Return the permission bit mask that will be applied to the named pipe on the next call to `start`&period;
| xref:BloombergLP/balb/PipeControlChannel/pipeName.adoc[`pipeName`] 
| Return the fully qualified system name of the pipe&period;
| xref:BloombergLP/balb/PipeControlChannel/setPermissions.adoc[`setPermissions`] 
| Set the permission bit mask for the underlying named pipe&period;
| xref:BloombergLP/balb/PipeControlChannel/shutdown.adoc[`shutdown`] 
| Stop reading from the pipe and dispatching messages&period;
| xref:BloombergLP/balb/PipeControlChannel/start-09.adoc[`start`] 
| `start` overloads
| xref:BloombergLP/balb/PipeControlChannel/stop.adoc[`stop`] 
| Block until the background thread has been terminated by a call to `shutdown`&period; Then close the pipe and clean up the associated file&period;
|===


== Static Data Members

[cols="1,4"]
|===
| Name| Description
| xref:BloombergLP/balb/PipeControlChannel/k_DEFAULT_PERMISSIONS.adoc[`k&lowbar;DEFAULT&lowbar;PERMISSIONS`] 
| The default permission bit mask for the underlying named pipe (read&sol;write for owner, group, and others)&period;
|===



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