48 void setThreadPool(
const ThreadPool &threadPool);
65 virtual void work(
void);
71 virtual void activate(
void);
77 virtual void deactivate(
void);
96 virtual void propagateLabels(
const InputPort *input);
108 virtual Object opaqueCallHandler(
const std::string &name,
const Object *inputArgs,
const size_t numArgs);
125 virtual std::shared_ptr<BufferManager> getInputBufferManager(
const std::string &name,
const std::string &domain);
142 virtual std::shared_ptr<BufferManager> getOutputBufferManager(
const std::string &name,
const std::string &domain);
149 std::vector<PortInfo> inputPortInfo(
void);
154 std::vector<PortInfo> outputPortInfo(
void);
159 InputPort *input(
const std::string &name)
const;
164 InputPort *input(
const size_t index)
const;
169 OutputPort *output(
const std::string &name)
const;
182 const std::vector<InputPort*> &inputs(
void)
const;
190 const std::vector<OutputPort*> &outputs(
void)
const;
197 const std::map<std::string, InputPort*> &allInputs(
void)
const;
204 const std::map<std::string, OutputPort*> &allOutputs(
void)
const;
210 const WorkInfo &workInfo(
void)
const;
223 bool isActive(
void)
const;
235 void setupInput(
const std::string &name,
const DType &dtype =
"",
const std::string &domain =
"");
244 void setupInput(
const size_t index,
const DType &dtype =
"",
const std::string &domain =
"");
256 void setupOutput(
const std::string &name,
const DType &dtype =
"",
const std::string &domain =
"");
265 void setupOutput(
const size_t index,
const DType &dtype =
"",
const std::string &domain =
"");
273 void registerCallable(
const std::string &name,
const Callable &call);
281 void registerSignal(
const std::string &name);
291 void registerSlot(
const std::string &name);
308 const std::string &name,
309 const std::string &signalName=
"",
310 const std::string &slotName=
"");
330 Object opaqueCallMethod(
const std::string &name,
const Object *inputArgs,
const size_t numArgs)
const;
334 std::vector<std::string> _inputPortNames;
335 std::vector<std::string> _outputPortNames;
336 std::vector<InputPort*> _indexedInputs;
337 std::vector<OutputPort*> _indexedOutputs;
338 std::map<std::string, InputPort*> _namedInputs;
339 std::map<std::string, OutputPort*> _namedOutputs;
340 std::multimap<std::string, Callable> _calls;
341 std::map<std::string, std::pair<std::string, std::string>> _probes;
344 Block &operator=(
const Block &){
return *
this;}
347 friend class WorkerActor;
Definition: WorkInfo.hpp:23
Definition: Connectable.hpp:39
#define POTHOS_API
Definition: Config.hpp:41
Definition: OutputPort.hpp:28
std::shared_ptr< WorkerActor > _actor
Definition: Block.hpp:346
Definition: Callable.tmpl.hpp:30
Definition: ThreadPool.hpp:83
Definition: Object.hpp:55
Definition: WorkStats.hpp:33