IAdapterPoolHubCallbacks
Namespace: Meshmakers.Octo.Communication.Contracts.Hubs
Controller → pool member callbacks of /adapterPoolHub (AB#4924, concept §4).
public interface IAdapterPoolHubCallbacks
Methods
LeaseAsync(LeaseDto)
Hands the member one tenant for one work item.
Task LeaseAsync(LeaseDto lease)
Parameters
lease LeaseDto
Returns
Remarks:
The member enters the lease — tenant scope, borrower credential, tenant repository,
pipeline definitions — executes, and reports back through
IAdapterPoolHub.ReleaseLeaseAsync. Between two leases it must retain
nothing tenant-scoped; that is the invariant the whole feature rests on
(concept §4), and it is a cross-tenant data incident rather than a bug when it breaks.
🔴 LeaseDto.ClientSecret travels on this call. It is TTL-scoped, must never be persisted by the member and must never reach a log target.
DrainAsync(String)
Asks the member to stop taking leases and shut down once its current work item ends.
Task DrainAsync(string reason)
Parameters
reason String
Returns
Remarks:
Used when the pool scales in (concept §4a) and when a lease expired server-side: a member whose release never arrived is drained and restarted rather than re-used, because its post-lease cleanliness is unproven (concept §6).