#include <legion.h>
Public Member Functions | |
virtual size_t | callback_get_future_size (void)=0 |
virtual void | callback_pack_future (void *buffer, size_t size)=0 |
virtual void | callback_release_future (void)=0 |
A future functor object provides a callback interface for applications that wants to serialize data for a future only when it is absolutely necessary. Tasks can return a pointer to an object that implements the future functor interface. Legion will then perform callbacks if/when it becomes necessary to serialize the future data. If serialization is necessary then Legion will perform two callbacks: first to get the future size and then a second one with a buffer of that size in which to pack the data. Finally, when the future is reclaimed, then Legion will perform a callback to release the future functor from its duties.