You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@mesos.apache.org by "Benjamin Bannier (JIRA)" <ji...@apache.org> on 2018/02/05 17:42:00 UTC
[jira] [Created] (MESOS-8542) libprocess' dispatch and defer and
not very symmetric
Benjamin Bannier created MESOS-8542:
---------------------------------------
Summary: libprocess' dispatch and defer and not very symmetric
Key: MESOS-8542
URL: https://issues.apache.org/jira/browse/MESOS-8542
Project: Mesos
Issue Type: Bug
Components: libprocess
Reporter: Benjamin Bannier
From a high level, libprocess {{dispatch}} and {{defer}} perform closely related jobs. They both enqueue some work on a libprocess actor. They differ semantically in that {{dispatch}} enqueues work to be executed after currently enqueued work while {{defer}} effectively performs a {{dispatch}} of a future {{dispatch}}.
While these functions are semantically very close, they often cannot be used in each other's place. If e.g., a function expects some function object, {{defer}} can be used (since it returns a {{Deferred}} or similar object which can be invoked), but one cannot use {{dispatch}} which for most overloads just returns {{void}}.
We should rectify this asymmetry to make sure that {{dispatch}} can be used in all places where currently {{dispatch}} can be used syntactically. Depending on the chosen implementation strategy this might allow us to implement a lot of the functionality from {{defer}} with {{dispatch}}.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)