Class/Object

agora.exec.workspace

UpdatingWorkspaceClient

Related Docs: object UpdatingWorkspaceClient | package workspace

Permalink

case class UpdatingWorkspaceClient(underlying: WorkspaceClient, exchange: Exchange)(implicit ec: ExecutionContext) extends WorkspaceClientDelegate with Product with Serializable

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.

underlying

an underlying workspace client to actually do the work we're proxying

exchange

the exchange where the subscriptions should be updated

Linear Supertypes
Serializable, Serializable, Product, Equals, WorkspaceClientDelegate, WorkspaceClient, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. UpdatingWorkspaceClient
  2. Serializable
  3. Serializable
  4. Product
  5. Equals
  6. WorkspaceClientDelegate
  7. WorkspaceClient
  8. AnyRef
  9. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new UpdatingWorkspaceClient(underlying: WorkspaceClient, exchange: Exchange)(implicit ec: ExecutionContext)

    Permalink

    underlying

    an underlying workspace client to actually do the work we're proxying

    exchange

    the exchange where the subscriptions should be updated

Value Members

  1. final def !=(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  4. def addSubscriptions(newSubscriptions: GenTraversableOnce[SubscriptionKey]): Unit

    Permalink
  5. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  6. def await(dependencies: UploadDependencies): Future[Path]

    Permalink

    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.

    dependencies

    the dependencies to await

    returns

    a future of the local file path which contains the given workspace/files

    Definition Classes
    WorkspaceClientDelegateWorkspaceClient
  7. final def await(workspace: WorkspaceId, dependsOnFiles: Set[String], timeoutInMillis: Long): Future[Path]

    Permalink
    Definition Classes
    WorkspaceClient
  8. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  9. def close(workspaceId: WorkspaceId, ifNotModifiedSince: Option[Timestamp], failPendingDependencies: Boolean): Future[Boolean]

    Permalink

    closing the workspace releases the resources used -- e.g.

    closing the workspace releases the resources used -- e.g. deletes the relevant directory

    workspaceId

    the workspace id to delete

    ifNotModifiedSince

    if specified, then the workspace will only be removed if its contents haven't been modified since the given timestamp

    failPendingDependencies

    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

    returns

    a future which completes once the workspace has been cleaned up, with the boolean value signalling if it was a known/valid workspace

    Definition Classes
    UpdatingWorkspaceClientWorkspaceClientDelegateWorkspaceClient
  10. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  11. val exchange: Exchange

    Permalink

    the exchange where the subscriptions should be updated

  12. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  13. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  14. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  15. def list(createdAfter: Option[Timestamp], createdBefore: Option[Timestamp]): Future[List[WorkspaceId]]

    Permalink

    returns

    all known workspace ids

    Definition Classes
    WorkspaceClientDelegateWorkspaceClient
  16. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  17. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  18. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  19. def removeSubscription(uploadSubscription: SubscriptionKey): Unit

    Permalink
  20. def subscriptions: Set[SubscriptionKey]

    Permalink
  21. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  22. def triggerUploadCheck(workspaceId: WorkspaceId): Unit

    Permalink

    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

    Definition Classes
    WorkspaceClientDelegateWorkspaceClient
  23. val underlying: WorkspaceClient

    Permalink

    an underlying workspace client to actually do the work we're proxying

    an underlying workspace client to actually do the work we're proxying

    Definition Classes
    UpdatingWorkspaceClientWorkspaceClientDelegate
  24. def upload(workspaceId: WorkspaceId, fileName: String, src: Source[ByteString, Any]): Future[Path]

    Permalink

    Saves a files to the given workspace

    Saves a files to the given workspace

    Definition Classes
    UpdatingWorkspaceClientWorkspaceClientDelegateWorkspaceClient
  25. final def upload(workspaceId: WorkspaceId, file: Upload): Future[Path]

    Permalink

    convenience method for uploading to the workspace

    convenience method for uploading to the workspace

    Definition Classes
    WorkspaceClient
  26. final def wait(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  27. final def wait(arg0: Long, arg1: Int): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  28. final def wait(arg0: Long): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from Serializable

Inherited from Serializable

Inherited from Product

Inherited from Equals

Inherited from WorkspaceClientDelegate

Inherited from WorkspaceClient

Inherited from AnyRef

Inherited from Any

Ungrouped