47 void setThreadPool(
const ThreadPool &threadPool);
64 virtual void work(
void);
70 virtual void activate(
void);
76 virtual void deactivate(
void);
95 virtual void propagateLabels(
const InputPort *input);
107 virtual Object opaqueCallHandler(
const std::string &name,
const Object *inputArgs,
const size_t numArgs);
124 virtual std::shared_ptr<BufferManager> getInputBufferManager(
const std::string &name,
const std::string &domain);
141 virtual std::shared_ptr<BufferManager> getOutputBufferManager(
const std::string &name,
const std::string &domain);
148 std::vector<PortInfo> inputPortInfo(
void);
153 std::vector<PortInfo> outputPortInfo(
void);
158 InputPort *input(
const std::string &name)
const;
163 InputPort *input(
const size_t index)
const;
168 OutputPort *output(
const std::string &name)
const;
181 const std::vector<InputPort*> &inputs(
void)
const;
189 const std::vector<OutputPort*> &outputs(
void)
const;
196 const std::map<std::string, InputPort*> &allInputs(
void)
const;
203 const std::map<std::string, OutputPort*> &allOutputs(
void)
const;
209 const WorkInfo &workInfo(
void)
const;
217 bool isActive(
void)
const;
230 InputPort *setupInput(
const std::string &name,
const DType &dtype =
"",
const std::string &domain =
"");
240 InputPort *setupInput(
const size_t index,
const DType &dtype =
"",
const std::string &domain =
"");
253 OutputPort *setupOutput(
const std::string &name,
const DType &dtype =
"",
const std::string &domain =
"");
263 OutputPort *setupOutput(
const size_t index,
const DType &dtype =
"",
const std::string &domain =
"");
271 void registerCallable(
const std::string &name,
const Callable &call);
280 void registerSignal(
const std::string &name);
290 void registerSlot(
const std::string &name);
307 const std::string &name,
308 const std::string &signalName=
"",
309 const std::string &slotName=
"");
327 template <
typename... ArgsType>
328 void emitSignal(
const std::string &name, ArgsType&&... args);
337 Object opaqueCallMethod(
const std::string &name,
const Object *inputArgs,
const size_t numArgs)
const;
341 std::vector<std::string> _inputPortNames;
342 std::vector<std::string> _outputPortNames;
343 std::vector<InputPort*> _indexedInputs;
344 std::vector<OutputPort*> _indexedOutputs;
345 std::map<std::string, InputPort*> _namedInputs;
346 std::map<std::string, OutputPort*> _namedOutputs;
347 std::multimap<std::string, Callable> _calls;
348 std::map<std::string, std::pair<std::string, std::string>> _probes;
351 Block &operator=(
const Block &){
return *
this;}
354 friend class WorkerActor;
Definition: WorkInfo.hpp:23
Definition: Connectable.hpp:41
#define POTHOS_API
Definition: Config.hpp:41
Definition: OutputPort.hpp:31
std::shared_ptr< WorkerActor > _actor
Definition: Block.hpp:353
Definition: Callable.hpp:30
Definition: ThreadPool.hpp:113
Definition: Testing.hpp:134
Definition: Object.hpp:55