Class LockManagerBase
  
  Base for Facades used for calling locking APIs from client code
    Inheritance
    System.Object
    
    
    
    
    
    LockManagerBase
      
      
   
  
    Implements
    
    
    
    
    
    
    
    System.IDisposable
    
    
    
   
  
    Inherited Members
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
      System.Object.Equals(System.Object)
    
    
      System.Object.Equals(System.Object, System.Object)
    
    
      System.Object.GetHashCode()
    
    
      System.Object.GetType()
    
    
      System.Object.MemberwiseClone()
    
    
      System.Object.ReferenceEquals(System.Object, System.Object)
    
   
  
  Assembly: Azos.Sky.dll
  Syntax
  
    public abstract class LockManagerBase : DaemonWithInstrumentation<IApplicationComponent>, IDaemon, IDaemonView, INamed, ILocalizedTimeProvider, ILockManagerImplementation, ILockManager, IApplicationComponent, IDisposable, IConfigurable, IInstrumentable, IExternallyParameterized
   
  Constructors
  
  
  LockManagerBase(IApplicationComponent)
  
  
  Declaration
  
    public LockManagerBase(IApplicationComponent director)
   
  Parameters
  
  
  LockManagerBase(IApplication)
  
  
  Declaration
  
    public LockManagerBase(IApplication app)
   
  Parameters
  
  Properties
  
  
  ComponentLogTopic
  
  
  Declaration
  
    public override string ComponentLogTopic { get; }
   
  Property Value
  
    
      
        | Type | Description | 
    
    
      
        | System.String |  | 
    
  
  Overrides
  
  
  InstrumentationEnabled
  Implements IInstrumentable
Declaration
  
    [Config(Default = false)]
[ExternalParameter(new string[]{"locking", "instrumentation"})]
public override bool InstrumentationEnabled { get; set; }
   
  Property Value
  
    
      
        | Type | Description | 
    
    
      
        | System.Boolean |  | 
    
  
  Overrides
  Azos.Apps.DaemonWithInstrumentation<Azos.Apps.IApplicationComponent>.InstrumentationEnabled
  
  Item[LockSessionID]
  
  
  Declaration
  
    public LockSession this[LockSessionID sid] { get; }
   
  Parameters
  
  Property Value
  
  Methods
  
  
  Destructor()
  
  
  Declaration
  
    protected override void Destructor()
   
  Overrides
  
  
  DoAcceptManagerVisit(Object, DateTime)
  
  
  Declaration
  
    protected override void DoAcceptManagerVisit(object manager, DateTime managerNow)
   
  Parameters
  
    
      
        | Type | Name | Description | 
    
    
      
        | System.Object | manager |  | 
      
        | System.DateTime | managerNow |  | 
    
  
  Overrides
  
  
  DoEndLockSession(LockSession)
  
  
  Declaration
  
    protected abstract bool DoEndLockSession(LockSession session)
   
  Parameters
  
  Returns
  
    
      
        | Type | Description | 
    
    
      
        | System.Boolean |  | 
    
  
  
  DoEndLockSessionAsync(LockSession)
  
  
  Declaration
  
    protected abstract Task<bool> DoEndLockSessionAsync(LockSession session)
   
  Parameters
  
  Returns
  
    
      
        | Type | Description | 
    
    
      
        | System.Threading.Tasks.Task<System.Boolean> |  | 
    
  
  
  DoExecuteLockTransaction(LockSession, LockTransaction)
  
  
  Declaration
  
    protected abstract LockTransactionResult DoExecuteLockTransaction(LockSession session, LockTransaction transaction)
   
  Parameters
  
  Returns
  
  
  DoExecuteLockTransactionAsync(LockSession, LockTransaction)
  
  
  Declaration
  
    protected abstract Task<LockTransactionResult> DoExecuteLockTransactionAsync(LockSession session, LockTransaction transaction)
   
  Parameters
  
  Returns
  
  
  DoStart()
  
  
  Declaration
  
    protected override void DoStart()
   
  Overrides
  
  
  DoWaitForCompleteStop()
  
  
  Declaration
  
    protected override void DoWaitForCompleteStop()
   
  Overrides
  
  
  EndLockSession(LockSession)
  
  
  Declaration
  
    public bool EndLockSession(LockSession session)
   
  Parameters
  
  Returns
  
    
      
        | Type | Description | 
    
    
      
        | System.Boolean |  | 
    
  
  
  EndLockSessionAsync(LockSession)
  
  
  Declaration
  
    public Task<bool> EndLockSessionAsync(LockSession session)
   
  Parameters
  
  Returns
  
    
      
        | Type | Description | 
    
    
      
        | System.Threading.Tasks.Task<System.Boolean> |  | 
    
  
  
  ExecuteLockTransaction(LockSession, LockTransaction)
  
  
  Declaration
  
    public LockTransactionResult ExecuteLockTransaction(LockSession session, LockTransaction transaction)
   
  Parameters
  
  Returns
  
  
  ExecuteLockTransactionAsync(LockSession, LockTransaction)
  
  
  Declaration
  
    public Task<LockTransactionResult> ExecuteLockTransactionAsync(LockSession session, LockTransaction transaction)
   
  Parameters
  
  Returns
  
  
  MakeSession(String, Object, String, Nullable<Int32>)
  
  
  Declaration
  
    public virtual LockSession MakeSession(string path, object shardingID, string description = null, int? maxAgeSec = default(int? ))
   
  Parameters
  
    
      
        | Type | Name | Description | 
    
    
      
        | System.String | path |  | 
      
        | System.Object | shardingID |  | 
      
        | System.String | description |  | 
      
        | System.Nullable<System.Int32> | maxAgeSec |  | 
    
  
  Returns
  
  Implements
  
  
  
  
  
  
  
  
      System.IDisposable
  
  
  
  
  Extension Methods