Interface: moteiv.tos.lib.resource.Resource

interface Resource

Resource interface. This interface is to be used by components for providing access to shared resources. A component wishing to arbitrate the use of a shared resource should implement this interface in conjunction with the Resource interface.

For more information about this interface, please see TEP108.

Author:
Kevin Klues (klues@tkn.tu-berlin.de)
Cory Sharp (info@moteiv.com)

Commands
command uint8_t immediateRequest() Request immediate access to a shared resource.
command void release() Release a shared resource you previously acquired.
command void request() Request access to a shared resource.

Events
event void granted() You have received access to this resource.

Commands - Details

immediateRequest

command uint8_t immediateRequest()

Request immediate access to a shared resource. If the resource is granted, you must call release() when you are done with it.

Returns:
TRUE You now have the resource. FALSE The resource is busy.

release

command void release()

Release a shared resource you previously acquired.

request

command void request()

Request access to a shared resource. You must call release() when you are done with it.

Returns:
TRUE The request is deferred and granted() will be signaled for this request sometime in the future. FALSE The request has been immediately satisfied by signalling granted before returning from this request() call.

Events - Details

granted

event void granted()

You have received access to this resource. Note that this event is NOT signaled when immediateRequest() succeeds. This event may be signalled from within a call to request.