Class INodeManager

Hierarchy

  • CreateDestroyStartStop
    • INodeManager

Constructors

  • Parameters

    • __namedParameters: {
          db: DB;
          logger: Logger;
      }
      • db: DB
      • logger: Logger

    Returns INodeManager

Properties

[initLock]: RWLockWriter
dataDbPath: readonly (string | Buffer)[] = ...
db: DB
dirsDbPath: readonly (string | Buffer)[] = ...
gcDbPath: readonly (string | Buffer)[] = ...
iNodeAllocations: Map<string, Ref<INodeIndex>> = ...
iNodeCounter: Counter = ...
iNodesDbPath: readonly (string | Buffer)[] = ...
linkDbPath: readonly (string | Buffer)[] = ...
logger: Logger
mgrDbPath: readonly (string | Buffer)[] = ...
refs: Map<INodeIndex, number> = ...
statsDbPath: readonly (string | Buffer)[] = ...

Accessors

  • get [destroyed](): boolean
  • Returns boolean

  • get [eventHandled](): ReadonlyWeakSet<Event>
  • Returns ReadonlyWeakSet<Event>

  • get [eventHandlers](): ReadonlyMap<string, Set<EventHandlerInfo>>
  • Returns ReadonlyMap<string, Set<EventHandlerInfo>>

  • get [eventTarget](): EventTarget
  • Returns EventTarget

  • get [handleEventError](): ((evt) => void)
  • Returns ((evt) => void)

      • (evt): void
      • Parameters

        • evt: EventError

        Returns void

  • get [running](): boolean
  • Returns boolean

  • get [statusP](): Promise<Status>
  • Returns Promise<Status>

  • get [status](): Status
  • Returns Status

Methods

  • Type Parameters

    • Key extends NonFunctionPropertyNames<Stat>

    Parameters

    Returns Promise<StatProps[Key]>

  • Type Parameters

    • Key extends NonFunctionPropertyNames<Stat>

    Parameters

    • ino: INodeIndex
    • key: Key
    • value: StatProps[Key]
    • tran: DBTransaction

    Returns Promise<void>

  • Parameters

    • type: string
    • callback: null | EventListenerOrEventListenerObject
    • Optional options: boolean | AddEventListenerOptions

    Returns void

  • Returns Promise<void>

  • Parameters

    • ino: INodeIndex
    • nameOld: string
    • nameNew: string
    • Optional tran: DBTransaction

    Returns Promise<void>

  • Parameters

    • event: Event

    Returns boolean

  • Modified and Change Time are both updated here as this is exposed to the EFS functions to be used

    Parameters

    Returns Promise<void>

  • Parameters

    • ino: INodeIndex
    • params: Partial<Omit<INodeParams, "ino">>
    • blkSize: number
    • Optional data: Buffer
    • Optional tran: DBTransaction

    Returns Promise<void>

  • Access time not updated here, handled at higher level as this is only accessed by fds and and other INodeMgr functions

    Parameters

    Returns Promise<undefined | Buffer>

  • Access time not updated here, handled at higher level as this is only accessed by fds and and other INodeMgr functions

    Parameters

    • ino: INodeIndex
    • blockSize: number
    • startIdx: number = 0
    • Optional endIdx: number
    • Optional tran: DBTransaction

    Returns AsyncGenerator<Buffer, any, unknown>

  • Access time not updated here, handled at higher level as this is only accessed by fds and and other INodeMgr functions

    Parameters

    Returns Promise<[number, Buffer]>

  • Modified and Change time not updated here, handled at higher level as this is only accessed by fds and and other INodeMgr functions

    Parameters

    • ino: INodeIndex
    • data: Buffer
    • blockSize: number
    • startIdx: number = 0
    • Optional tran: DBTransaction

    Returns Promise<void>

  • Modified and Change time not updated here, handled at higher level as this is only accessed by fds and other INodeMgr functions

    Parameters

    • ino: INodeIndex
    • data: Buffer
    • idx: number
    • offset: number = 0
    • Optional tran: DBTransaction

    Returns Promise<number>

  • Delete iNodes that were scheduled for deletion These iNodes could not be deleted because of an existing reference This is used during this.start and this.stop, and thus does not use any locks This must only be called when there are no active this.refs or this.locks

    Returns Promise<void>

  • Gets the INodeData Use this to test if an ino number exists You can use the returned ino for subsequent operations

    Parameters

    Returns Promise<undefined | INodeData>

  • INodeIndex allocation resource This resource represents potentially INodeIndex being allocated The navigated parameter tells us where the first hardlink for this INodeIndex will be set If left to be undefined, it is assumed that you are allocating the root INodeIndex Concurrent call with same navigated parameter will result in the same INodeIndex result This is essential to enable mutual-exclusion

    Parameters

    • Optional navigated: Readonly<{
          dir: INodeIndex;
          name: string;
      }>

    Returns ResourceAcquire<INodeIndex>

  • Parameters

    • type: string
    • callback: null | EventListenerOrEventListenerObject
    • Optional options: boolean | EventListenerOptions

    Returns void

  • Parameters

    • __namedParameters: {
          fresh?: boolean;
      }
      • Optional fresh?: boolean

    Returns Promise<void>

  • Type Parameters

    • Key extends NonFunctionPropertyNames<Stat>

    Parameters

    • ino: INodeIndex
    • key: Key
    • Optional tran: DBTransaction

    Returns Promise<StatProps[Key]>

  • Type Parameters

    • Key extends NonFunctionPropertyNames<Stat>

    Parameters

    • ino: INodeIndex
    • key: Key
    • value: StatProps[Key]
    • Optional tran: DBTransaction

    Returns Promise<void>

  • Type Parameters

    • Key extends NonFunctionPropertyNames<Stat>

    Parameters

    • ino: INodeIndex
    • key: Key
    • Optional tran: DBTransaction

    Returns Promise<void>

  • It is expected that all references and locks are no longer active This means users of INodeManager must be stopped before calling this

    Returns Promise<void>

  • Parameters

    • ino: INodeIndex
    • params: Partial<Omit<INodeParams, "ino">>
    • link: string
    • Optional tran: DBTransaction

    Returns Promise<void>

  • Type Parameters

    • T

    Parameters

    • Rest ...params: [...inos: INodeIndex[], f: ((ino, tran) => Promise<T>)] | [navigated: Readonly<{
          dir: INodeIndex;
          name: string;
      }>, ...inos: INodeIndex[], f: ((ino, tran) => Promise<T>)]

    Returns Promise<T>

  • Type Parameters

    • T

    • TReturn

    • TNext

    Parameters

    • Rest ...params: [...inos: INodeIndex[], g: ((ino, tran) => AsyncGenerator<T, TReturn, TNext>)] | [navigated: Readonly<{
          dir: INodeIndex;
          name: string;
      }>, ...inos: INodeIndex[], g: ((ino, tran) => AsyncGenerator<T, TReturn, TNext>)]

    Returns AsyncGenerator<T, TReturn, TNext>

  • Type Parameters

    • T

    Parameters

    • Rest ...params: [...inos: INodeIndex[], f: ((tran) => Promise<T>)]

    Returns Promise<T>

  • Type Parameters

    • T

    • TReturn

    • TNext

    Parameters

    • Rest ...params: [...inos: INodeIndex[], g: ((tran) => AsyncGenerator<T, TReturn, TNext>)]

    Returns AsyncGenerator<T, TReturn, TNext>

  • Parameters

    • __namedParameters: {
          counter?: any;
          db: DB;
          fresh?: boolean;
          logger?: Logger;
      }
      • Optional counter?: any
      • db: DB
      • Optional fresh?: boolean
      • Optional logger?: Logger

    Returns Promise<INodeManager>

Generated using TypeDoc