YARP
Yet Another Robot Platform
 
Loading...
Searching...
No Matches
logger_module Class Reference
+ Inheritance diagram for logger_module:

Protected Member Functions

bool configure (yarp::os::ResourceFinder &rf) override
 Configure the module, pass a ResourceFinder object to the module.
 
bool interruptModule () override
 Try to halt any ongoing operations by threads managed by the module.
 
bool close () override
 Close function.
 
double getPeriod () override
 You can override this to control the approximate periodicity at which updateModule() is called by runModule().
 
bool updateModule () override
 Override this to do whatever your module needs to do.
 
bool respond (const yarp::os::Bottle &command, yarp::os::Bottle &reply) override
 Respond to a message.
 

Protected Attributes

yarp::os::Port rpcPort
 

Additional Inherited Members

- Public Member Functions inherited from yarp::os::RFModule
 RFModule ()
 Constructor.
 
virtual ~RFModule ()
 Destructor.
 
virtual int runModule ()
 Calls updateModule() until that returns false.
 
virtual int runModule (yarp::os::ResourceFinder &rf)
 Simple helper method to call configure() and then runModule().
 
virtual int runModuleThreaded ()
 Calls updateModule() on a separate thread until that returns false.
 
virtual int runModuleThreaded (yarp::os::ResourceFinder &rf)
 Simple helper method to call configure() and then runModule() on a separate thread.
 
virtual int getThreadKey ()
 return the Thread unique identifier
 
virtual bool attach (yarp::os::Port &source)
 Make any input from a Port object go to the respond() method.
 
virtual bool attach (yarp::os::RpcServer &source)
 Make any input from an RpcServer object go to the respond() method.
 
bool attachTerminal ()
 Make any input from standard input (usually the keyboard) go to the respond() method.
 
bool detachTerminal ()
 Detach terminal.
 
void stopModule (bool wait=false)
 Ask the module to stop.
 
bool isStopping ()
 Check if the module should stop.
 
bool joinModule (double seconds=-1)
 The function returns when the thread execution has completed.
 
std::string getName (const std::string &subName="")
 Return name of module, as set with setName().
 
void setName (const char *name)
 Set the name of the module.
 
bool safeRespond (const Bottle &command, Bottle &reply)
 Wrapper around respond() that is guaranteed to process system messages.
 

Detailed Description

Definition at line 20 of file main.cpp.

Member Function Documentation

◆ close()

bool logger_module::close ( )
inlineoverrideprotectedvirtual

Close function.

This is called automatically when the module closes, after the last call to updateModule. Override this to cleanup memory allocated in the configure() function or perform other activities that ensure graceful shutdown.

Returns
true/false on success failure.

Reimplemented from yarp::os::RFModule.

Definition at line 45 of file main.cpp.

◆ configure()

bool logger_module::configure ( yarp::os::ResourceFinder rf)
inlineoverrideprotectedvirtual

Configure the module, pass a ResourceFinder object to the module.

This function can perform initialization including object creation and memory allocation; returns false to notify that initialization was not successful and that the module should not start. Cleanup should be performed by the function close(). In case of failure during the initialization and before returning false, the function configure() should cleanup memory and resources allocated.

Parameters
rfa previously initialized ResourceFinder
Returns
true/false upon success/failure
Note
attachTerminal() is no longer called automatically. You can call it in the configure function.

Reimplemented from yarp::os::RFModule.

Definition at line 27 of file main.cpp.

◆ getPeriod()

double logger_module::getPeriod ( )
inlineoverrideprotectedvirtual

You can override this to control the approximate periodicity at which updateModule() is called by runModule().

By default, it returns 1.0. Time here is in seconds.

Returns
the desired period between successive calls to updateModule()

Reimplemented from yarp::os::RFModule.

Definition at line 58 of file main.cpp.

◆ interruptModule()

bool logger_module::interruptModule ( )
inlineoverrideprotectedvirtual

Try to halt any ongoing operations by threads managed by the module.

This is called asynchronously just after a quit command is received. By default it does nothing - you may want to override this. If you have created any ports, and have any threads that are might be blocked on reading data from those ports, this is a good place to add calls to BufferedPort::interrupt() or Port::interrupt().

Returns
true if there was no catastrophic failure

Reimplemented from yarp::os::RFModule.

Definition at line 39 of file main.cpp.

◆ respond()

bool logger_module::respond ( const yarp::os::Bottle command,
yarp::os::Bottle reply 
)
inlineoverrideprotectedvirtual

Respond to a message.

You can override this to respond to messages in your own way. It is useful, if your module doesn't know what to do with a message, to call RFModule::respond() for any default responses.

Parameters
commandthe message received
replythe response you wish to make
Returns
true if there was no critical failure

Reimplemented from yarp::os::RFModule.

Definition at line 69 of file main.cpp.

◆ updateModule()

bool logger_module::updateModule ( )
inlineoverrideprotectedvirtual

Override this to do whatever your module needs to do.

When your module wants to stop, return false. The module's actual work could be done during this call, or it could just check the state of a thread running in the background.

The thread calls the updateModule() function every <period> seconds. At the end of each run, the thread will sleep the amounth of time required, taking into account the time spent inside the loop function. Example: requested period is 10ms, the updateModule() function take 3ms to be executed, the thread will sleep for 7ms.

Note: after each run is completed, the thread will call a yield() in order to facilitate other threads to run.

Returns
true iff module should continue

Implements yarp::os::RFModule.

Definition at line 63 of file main.cpp.

Member Data Documentation

◆ rpcPort

yarp::os::Port logger_module::rpcPort
protected

Definition at line 25 of file main.cpp.


The documentation for this class was generated from the following file: