Template Class Inlet¶
Defined in File Inlet.hpp
Class Documentation¶
-
template<typename
ImplSpec_>
classuit::Inlet¶ Input to conduit transmission.
Allows user to initiate
potentially-blocking, assured transmisison via
Put, ornon-blocking, potentially-dropped transmission via
TryPut.
An
Inletholds astd::shared_ptrto aDuctobject, which manages data transmission from theInlet.An
Inlet’s underlyingDuctmay be altered or replaced at runtime, for example to provide thread-safe or process-safe transmission.EmplaceDuctemplaces a new transmission implementation within the existingDuctobject. (Seeinclude/ducts/Duct.hppfor details.)SplitDuctmakes a newDuctand points theInlet’sstd::shared_ptrto thatDuct.
If an
Outletholds astd::shared_ptrto theInlet’sDuct, under anEmplaceDuctcall theDuct’s change in transmission implementation will be visible to theOutletandInletand theOutletwill still share aDuct. However, under aSplitDuctcall thatOutlet’sDuctwill be unaffected. After aSplitDuctcall, theInletandOutletwill holdstd::shared_ptr’s to separateDucts.- Note
End users should probably never have to directly instantiate this class. The
Conduit,Sink, andSourceclasses take care of creating aDuctand tying it to anInletand/orOutlet. Better yet, theMeshTopologyinterface allows end users to construct a conduit network in terms of a connection topology and a mapping to assign nodes to threads and processes without having to manually constructConduitsand emplace necessary thread-safe and/or process-safeDuctimplementations.- Template Parameters
ImplSpec: class with static and typedef members specifying implementation details for the conduit framework. Seeinclude/config/ImplSpec.hpp.
Public Functions
TODO.
- Parameters
duct_: TODO.
-
void
Put(const T &val)¶ TODO.
- Parameters
val: TODO.
-
bool
TryPut(const T &val)¶ TODO.
- Parameters
val: TODO.
-
bool
TryFlush()¶ TODO.
-
void
Flush()¶ TODO.
-
size_t
GetSuccessfulPutCount() const¶ TODO.
- Return
TODO.
-
size_t
GetBlockedPutCount() const¶ TODO.
- Return
TODO.
-
size_t
GetDroppedPutCount() const¶ TODO.
- Return
TODO.
-
template<typename
WhichDuct, typename ...Args>
voidEmplaceDuct(Args&&... args)¶ TODO.
- Template Parameters
WhichDuct:Args:
- Parameters
args:
-
template<typename
WhichDuct, typename ...Args>
voidSplitDuct(Args&&... args)¶ TODO.
- Template Parameters
WhichDuct:Args:
- Parameters
args:
-
duct_t::uid_t
GetDuctUID() const¶ TODO.
- Return
TODO.
-
emp::optional<bool>
HoldsIntraImpl() const¶
-
emp::optional<bool>
HoldsThreadImpl() const¶
-
emp::optional<bool>
HoldsProcImpl() const¶
-
std::string
ToString() const¶ TODO.
- Return
TODO.