Closed smallhive closed 1 year ago
- Session management. As sessions are inherently tied to specific nodes we need to keep this logic of implicit session management by
Pool
. It should be configurable at the same time.
I thought we decided to sync client/pool interfaces and build some wrapper (high level client) to manage to sessions and other staff inside it.
New pool implementations should be deadly simple and only manage Client
s.
Current/old implementation of Pool
is going to be live for backward compatibility, until we complete these full circle.
Have plans changed?
Usually you can't create a session with one node and reuse it for another, that's the problem, it can be done transparently and it has to be managed by the Pool
, at least in majority of cases. Waiting logic (or slicing, or SyncContainerWithNetwork
) is a different thing entirely, it doesn't care about particular node/client, so it can reuse some common interface.
What does
pool: Sessions
commit mean? Is it a draft PR?
Yes, after discussions some functions interfaces were changed, it was WIP commits. I should to mark them properly, PR as well
Let's narrow down the scope of this PR, leaving #443, #444 and #445 as separate issues.
Can/do we add a compile-time test that proves interfaces are the same?
As we've discussed previously, we don't want to add some monster interface that covers both implementations, it's not really needed. Packages using these functions (so-called "upper layer" like slicer) will just accept the part of the interface they need and that's where we could easily check that both in fact satisfy it.
reference #380