an underlying workspace client to actually do the work we're proxying
the exchange where the subscriptions should be updated
Used to wait for the given files (relative filenames) to be uploaded into the workspace.
Used to wait for the given files (relative filenames) to be uploaded into the workspace.
The returned future completes with the directory path containing the files once they are available.
the dependencies to await
a future of the local file path which contains the given workspace/files
closing the workspace releases the resources used -- e.g.
closing the workspace releases the resources used -- e.g. deletes the relevant directory
the workspace id to delete
if specified, then the workspace will only be removed if its contents haven't been modified since the given timestamp
if set, any pending dependency futures will fail and the workspace will be closed (removed). If false, then the workspace will only be removed if there are no pending depdendencies
a future which completes once the workspace has been cleaned up, with the boolean value signalling if it was a known/valid workspace
the exchange where the subscriptions should be updated
all known workspace ids
triggers a check for uploads, should another process/event have updated the directory we're watching
triggers a check for uploads, should another process/event have updated the directory we're watching
an underlying workspace client to actually do the work we're proxying
an underlying workspace client to actually do the work we're proxying
Saves a files to the given workspace
Saves a files to the given workspace
convenience method for uploading to the workspace
convenience method for uploading to the workspace
A workspace client which will append/remove workspaces from the given subscription.
This is meant to work along side agora.exec.client.RemoteRunner which may specify match criteria based on a workspace.
an underlying workspace client to actually do the work we're proxying
the exchange where the subscriptions should be updated