Search Results for

    Show / Hide Table of Contents

    Class Lease

    API for a distributed lock. Any lease implementation should provide the following guarantees:

        Inheritance
        object
        Lease
        Inherited Members
        object.Equals(object)
        object.Equals(object, object)
        object.GetHashCode()
        object.GetType()
        object.MemberwiseClone()
        object.ReferenceEquals(object, object)
        object.ToString()
        Namespace: Akka.Coordination
        Assembly: Akka.Coordination.dll
        Syntax
        public abstract class Lease

        Constructors

        | Edit this page View Source

        Lease(LeaseSettings)

        Creates a new Lease instance.

        Declaration
        public Lease(LeaseSettings settings)
        Parameters
        Type Name Description
        LeaseSettings settings

        Lease settings

        Properties

        | Edit this page View Source

        Settings

        Lease settings

        Declaration
        public LeaseSettings Settings { get; }
        Property Value
        Type Description
        LeaseSettings

        Methods

        | Edit this page View Source

        Acquire()

        Try to acquire the lease. The returned Task will be completed with true if the lease could be acquired, i.e. no other owner is holding the lease.

        The returned Task will be completed with false if the lease for certain couldn't be acquired, e.g. because some other owner is holding it. It's completed with LeaseException failure if it might not have been able to acquire the lease, e.g. communication timeout with the lease resource.

        The lease will be held by the OwnerName until it is released with Release(). A Lease implementation will typically also lose the ownership if it can't maintain its authority, e.g. if it crashes or is partitioned from the lease resource for too long.

        CheckLease() can be used to verify that the owner still has the lease.

        Declaration
        public abstract Task<bool> Acquire()
        Returns
        Type Description
        Task<bool>
        | Edit this page View Source

        Acquire(Action<Exception>)

        Same as Acquire() with an additional callback that is called if the lease is lost. The lease can be lose due to being unable to communicate with the lease provider. Implementations should not call leaseLostCallback until after the returned future has been completed

        Declaration
        public abstract Task<bool> Acquire(Action<Exception> leaseLostCallback)
        Parameters
        Type Name Description
        Action<Exception> leaseLostCallback
        Returns
        Type Description
        Task<bool>
        | Edit this page View Source

        CheckLease()

        Check if the owner still holds the lease. true means that it certainly holds the lease. false means that it might not hold the lease, but it could, and for more certain response you would have to use Acquire() or Release().

        Declaration
        public abstract bool CheckLease()
        Returns
        Type Description
        bool
        | Edit this page View Source

        Release()

        Release the lease so some other owner can acquire it.

        Declaration
        public abstract Task<bool> Release()
        Returns
        Type Description
        Task<bool>

        Extension Methods

        ObjectExtensions.IsDefaultForType<T>(T)
        ObjectExtensions.AsOption<T>(T)
        Extensions.AsInstanceOf<T>(object)
        In this article
        • githubEdit this page
        • View Source
        Back to top
        Contribute
        • Project Chat
        • Discussion Forum
        • Source Code
        Support
        • Akka.NET Support Plans
        • Akka.NET Observability Tools
        • Akka.NET Training & Consulting
        Maintained By
        • Petabridge - The Akka.NET Company
        • Learn Akka.NET