Conversation
f10ebcb to
d481f90
Compare
d481f90 to
649b55b
Compare
|
|
||
| /// A version of [`LaunchExEx`] that returns a boxed future. Makes the trait object-safe. | ||
| pub(crate) trait BoxedLaunchExEx<Node: FullNodeComponents>: Send { | ||
| pub trait BoxedLaunchExEx<Node: FullNodeComponents>: Send { |
There was a problem hiding this comment.
can we make these pub(crate)? i dont see any reason to impl this as an end user. as soon as we make it pub we need to treat it somewhat as stable api
There was a problem hiding this comment.
these must be public if we want to make the exex launcher reusable.
this is necessary if we want to write chain specific launch functions
There was a problem hiding this comment.
might be a dumb q, but why would you want to re-use the exex launcher outside of this context?
There was a problem hiding this comment.
in order to write custom launch impls,
for example OPLaucnher, EthLauncher, etc... which need to be implemented externally
There was a problem hiding this comment.
hmm i thought the idea was that you provide the types and can override eg engine impl + evm and that's about it?
There was a problem hiding this comment.
this is how it works now for OP and ETH which reuse the same launcher, this will get more complex once we need to write more custom launchers, for example with different consensus, or not use the engine API at all
simply moves the launch exex logic into a helper type