X-Git-Url: https://oss.titaniummirror.com/gitweb/?a=blobdiff_plain;f=tos%2Flib%2Fmac%2Ftkn154%2Finterfaces%2Fprivate%2FResourceTransfer.nc;h=812c6b951c64c008fe131d003695e64c1666d60c;hb=d0573ffd623b75029b406fb2f74fc1de5160e8ab;hp=ac224e9f0797e056422f82654569cd15d951dd6b;hpb=4e123af010077900246c741bb14231338d98f450;p=tinyos-2.x.git diff --git a/tos/lib/mac/tkn154/interfaces/private/ResourceTransfer.nc b/tos/lib/mac/tkn154/interfaces/private/ResourceTransfer.nc index ac224e9f..812c6b95 100644 --- a/tos/lib/mac/tkn154/interfaces/private/ResourceTransfer.nc +++ b/tos/lib/mac/tkn154/interfaces/private/ResourceTransfer.nc @@ -35,24 +35,16 @@ interface ResourceTransfer { /** - * Transfer control of a resource to another client. Conceptually, this - * command is similar to calling Resource.release() and then forcing the - * arbiter to signal the Resource.granted() event to the target client. But - * there is one difference: when a resource that was transferred through this - * command is released, it is released on behalf of the "original" client, - * i.e. who was last signalled the Resource.granted() event. Releasing a - * transferred resource is thus equivalent to first transferring it back to - * the original client and then forcing the latter to release the resource - * through a call to Resource.release() -- this ensures that the arbitration - * policy can continue properly (and avoids possible starvation). + * Transfers ownership of a resource to another client, which will in turn + * be signalled a ResourceTransferred.transferred() event. * - * Note that a resource may be transferred multiple times, before it is - * released. Then the current owner will change, but the "original" client - * will stay the same. + * When a resource that was transferred through this command is released, it + * is released on behalf of the "original" client, i.e. who was last + * signalled the Resource.granted() event and it then depends on the original + * queueing policy which component will be granted the resource next. * * @return SUCCESS If ownership has been transferred.
FAIL ownership has * not been transferred, because the caller is not owner of the resource */ - - async command error_t transfer(); + async command error_t transfer(); }