You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Currently, our APIs have an upcall that gives a buffer to the user, who then has to fill in the message body and returns control to Derecho, which will send the object. For cases where data is collected out of band, like via a DMA from a camera, this forces an extra copy on the critical path.
Desired: a way to call Derecho's memory manager to obtain a buffer ahead of time, into which data can be loaded. Then a second case for our upcall lambda: the current type signature is for a function that takes the buffer as an argument. The new one would have no argument and would return the buffer that the user wants Derecho to transmit (via std::shared_ptr or even std::unique_ptr). Ideally it should be done so that no locking is required.
The text was updated successfully, but these errors were encountered:
Currently, our APIs have an upcall that gives a buffer to the user, who then has to fill in the message body and returns control to Derecho, which will send the object. For cases where data is collected out of band, like via a DMA from a camera, this forces an extra copy on the critical path.
Desired: a way to call Derecho's memory manager to obtain a buffer ahead of time, into which data can be loaded. Then a second case for our upcall lambda: the current type signature is for a function that takes the buffer as an argument. The new one would have no argument and would return the buffer that the user wants Derecho to transmit (via std::shared_ptr or even std::unique_ptr). Ideally it should be done so that no locking is required.
The text was updated successfully, but these errors were encountered: