# Hierarchy For All Packages

Package Hierarchies:

- com.usatiuk.dhfs,
- com.usatiuk.dhfs.autosync,
- com.usatiuk.dhfs.invalidation,
- com.usatiuk.dhfs.jkleppmanntree,
- com.usatiuk.dhfs.jkleppmanntree.structs,
- com.usatiuk.dhfs.jmap,
- com.usatiuk.dhfs.peerdiscovery,
- com.usatiuk.dhfs.peerdiscovery.local,
- com.usatiuk.dhfs.peersync,
- com.usatiuk.dhfs.peersync.api,
- com.usatiuk.dhfs.peersync.structs,
- com.usatiuk.dhfs.peertrust,
- com.usatiuk.dhfs.persistence,
- com.usatiuk.dhfs.refcount,
- com.usatiuk.dhfs.remoteobj,
- com.usatiuk.dhfs.repository,
- com.usatiuk.dhfs.rpc,
- com.usatiuk.dhfs.syncmap,
- com.usatiuk.dhfs.webapi,
- com.usatiuk.dhfs.webui,
- com.usatiuk.dhfsfs.objects,
- com.usatiuk.dhfsfs.service,
- com.usatiuk.dhfsfuse,
- com.usatiuk.kleppmanntree,
- com.usatiuk.objects,
- com.usatiuk.objects.iterators,
- com.usatiuk.objects.snapshot,
- com.usatiuk.objects.stores,
- com.usatiuk.objects.transaction,
- com.usatiuk.utils

## Class Hierarchy

- java.lang.Object
  - ru.serce.jnrfuse.AbstractFuseFS (implements ru.serce.jnrfuse.FuseFS)
    - ru.serce.jnrfuse.FuseStubFS
      - com.usatiuk.dhfsfuse.DhfsFuse
  - com.google.protobuf.AbstractMessageLite<MessageType,BuilderType> (implements com.google.protobuf.MessageLite)
    - com.google.protobuf.AbstractMessage (implements com.google.protobuf.Message)
      - com.google.protobuf.GeneratedMessageV3 (implements java.io.Serializable)
        - com.usatiuk.dhfs.repository.CanDeleteReply (implements com.usatiuk.dhfs.repository.CanDeleteReplyOrBuilder)
        - com.usatiuk.dhfs.repository.CanDeleteRequest (implements com.usatiuk.dhfs.repository.CanDeleteRequestOrBuilder)
        - com.usatiuk.dhfs.persistence.ChunkDataP (implements com.usatiuk.dhfs.persistence.ChunkDataPOrBuilder)
        - com.usatiuk.dhfs.persistence.FileDtoP (implements com.usatiuk.dhfs.persistence.FileDtoPOrBuilder)
        - com.usatiuk.dhfs.repository.GetObjectReply (implements com.usatiuk.dhfs.repository.GetObjectReplyOrBuilder)
        - com.usatiuk.dhfs.repository.GetObjectRequest (implements com.usatiuk.dhfs.repository.GetObjectRequestOrBuilder)
        - com.usatiuk.dhfs.persistence.JDataP (implements com.usatiuk.dhfs.persistence.JDataPOrBuilder)
        - com.usatiuk.dhfs.persistence.JDataRemoteDtoP (implements com.usatiuk.dhfs.persistence.JDataRemoteDtoPOrBuilder)
        - com.usatiuk.dhfs.persistence.JObjectKeyP (implements com.usatiuk.dhfs.persistence.JObjectKeyPOrBuilder)
        - com.usatiuk.dhfs.persistence.ObjectChangelog (implements com.usatiuk.dhfs.persistence.ObjectChangelogOrBuilder)
        - com.usatiuk.dhfs.persistence.ObjectChangelog.entries_Entry (implements com.usatiuk.dhfs.persistence.ObjectChangelog.entries_EntryOrBuilder)
        - com.usatiuk.dhfs.repository.OpP (implements com.usatiuk.dhfs.repository.OpPOrBuilder)
        - com.usatiuk.dhfs.repository.OpPushReply (implements com.usatiuk.dhfs.repository.OpPushReplyOrBuilder)
        - com.usatiuk.dhfs.repository.OpPushRequest (implements com.usatiuk.dhfs.repository.OpPushRequestOrBuilder)
        - com.usatiuk.dhfs.peerdiscovery.PeerDiscoveryInfo (implements com.usatiuk.dhfs.peerdiscovery.PeerDiscoveryInfoOrBuilder)
        - com.usatiuk.dhfs.persistence.PeerIdP (implements com.usatiuk.dhfs.persistence.PeerIdPOrBuilder)
        - com.usatiuk.dhfs.persistence.PeerInfoP (implements com.usatiuk.dhfs.persistence.PeerInfoPOrBuilder)
        - com.usatiuk.dhfs.repository.PingReply (implements com.usatiuk.dhfs.repository.PingReplyOrBuilder)
        - com.usatiuk.dhfs.repository.PingRequest (implements com.usatiuk.dhfs.repository.PingRequestOrBuilder)
  - com.google.protobuf.AbstractMessageLite.Builder<MessageType,BuilderType> (implements com.google.protobuf.MessageLite.Builder)
    - com.google.protobuf.AbstractMessage.Builder<BuilderType> (implements com.google.protobuf.Message.Builder)
      - com.google.protobuf.GeneratedMessageV3.Builder<BuilderT>
        - com.usatiuk.dhfs.repository.CanDeleteReply.Builder (implements com.usatiuk.dhfs.repository.CanDeleteReplyOrBuilder)
        - com.usatiuk.dhfs.repository.CanDeleteRequest.Builder (implements com.usatiuk.dhfs.repository.CanDeleteRequestOrBuilder)
        - com.usatiuk.dhfs.persistence.ChunkDataP.Builder (implements com.usatiuk.dhfs.persistence.ChunkDataPOrBuilder)
        - com.usatiuk.dhfs.persistence.FileDtoP.Builder (implements com.usatiuk.dhfs.persistence.FileDtoPOrBuilder)
        - com.usatiuk.dhfs.repository.GetObjectReply.Builder (implements com.usatiuk.dhfs.repository.GetObjectReplyOrBuilder)
        - com.usatiuk.dhfs.repository.GetObjectRequest.Builder (implements com.usatiuk.dhfs.repository.GetObjectRequestOrBuilder)
        - com.usatiuk.dhfs.persistence.JDataP.Builder (implements com.usatiuk.dhfs.persistence.JDataPOrBuilder)
        - com.usatiuk.dhfs.persistence.JDataRemoteDtoP.Builder (implements com.usatiuk.dhfs.persistence.JDataRemoteDtoPOrBuilder)
        - com.usatiuk.dhfs.persistence.JObjectKeyP.Builder (implements com.usatiuk.dhfs.persistence.JObjectKeyPOrBuilder)
        - com.usatiuk.dhfs.persistence.ObjectChangelog.Builder (implements com.usatiuk.dhfs.persistence.ObjectChangelogOrBuilder)
        - com.usatiuk.dhfs.persistence.ObjectChangelog.entries_Entry.Builder (implements com.usatiuk.dhfs.persistence.ObjectChangelog.entries_EntryOrBuilder)
        - com.usatiuk.dhfs.repository.OpP.Builder (implements com.usatiuk.dhfs.repository.OpPOrBuilder)
        - com.usatiuk.dhfs.repository.OpPushReply.Builder (implements com.usatiuk.dhfs.repository.OpPushReplyOrBuilder)
        - com.usatiuk.dhfs.repository.OpPushRequest.Builder (implements com.usatiuk.dhfs.repository.OpPushRequestOrBuilder)
        - com.usatiuk.dhfs.peerdiscovery.PeerDiscoveryInfo.Builder (implements com.usatiuk.dhfs.peerdiscovery.PeerDiscoveryInfoOrBuilder)
        - com.usatiuk.dhfs.persistence.PeerIdP.Builder (implements com.usatiuk.dhfs.persistence.PeerIdPOrBuilder)
        - com.usatiuk.dhfs.persistence.PeerInfoP.Builder (implements com.usatiuk.dhfs.persistence.PeerInfoPOrBuilder)
        - com.usatiuk.dhfs.repository.PingReply.Builder (implements com.usatiuk.dhfs.repository.PingReplyOrBuilder)
        - com.usatiuk.dhfs.repository.PingRequest.Builder (implements com.usatiuk.dhfs.repository.PingRequestOrBuilder)
  - io.grpc.stub.AbstractStub<S>
    - io.grpc.stub.AbstractAsyncStub<S>
      - com.usatiuk.dhfs.repository.DhfsObjectSyncGrpcGrpc.DhfsObjectSyncGrpcStub
    - io.grpc.stub.AbstractBlockingStub<S>
      - com.usatiuk.dhfs.repository.DhfsObjectSyncGrpcGrpc.DhfsObjectSyncGrpcBlockingStub
    - io.grpc.stub.AbstractFutureStub<S>
      - com.usatiuk.dhfs.repository.DhfsObjectSyncGrpcGrpc.DhfsObjectSyncGrpcFutureStub
    - com.usatiuk.dhfs.repository.MutinyDhfsObjectSyncGrpcGrpc.MutinyDhfsObjectSyncGrpcStub (implements io.quarkus.grpc.MutinyStub)
  - com.usatiuk.dhfs.autosync.AutosyncProcessor
  - com.usatiuk.dhfs.autosync.AutosyncTxHook (implements com.usatiuk.objects.transaction.PreCommitTxHook)
  - com.google.protobuf.ByteOutput
    - com.usatiuk.dhfsfuse.JnrPtrByteOutput
  - com.usatiuk.utils.ByteUtils
  - com.usatiuk.objects.stores.CachingObjectPersistentStore
  - com.usatiuk.dhfs.peertrust.CertificateTools
  - com.usatiuk.objects.transaction.CurrentTransaction (implements com.usatiuk.objects.transaction.Transaction)
  - com.usatiuk.utils.DataLocker
  - DeadlockDetector
  - com.usatiuk.dhfs.remoteobj.DefaultObjSyncHandler
  - com.usatiuk.dhfs.invalidation.DeferredInvalidationQueueData (implements java.io.Serializable)
  - com.usatiuk.dhfs.invalidation.DeferredInvalidationQueueService (implements com.usatiuk.dhfs.peersync.PeerConnectedEventListener)
  - com.usatiuk.dhfs.refcount.DeleterTxHook (implements com.usatiuk.objects.transaction.PreCommitTxHook)
  - com.usatiuk.dhfsfs.service.DhfsFileService
  - com.usatiuk.dhfs.peerdiscovery.DhfsObjectPeerDiscoveryApi
  - com.usatiuk.dhfs.persistence.DhfsObjectPersistence
  - com.usatiuk.dhfs.repository.DhfsObjectSyncApi
  - com.usatiuk.dhfs.repository.DhfsObjectSyncGrpcClient (implements com.usatiuk.dhfs.repository.DhfsObjectSyncGrpc, io.quarkus.grpc.MutinyClient<T>)
  - com.usatiuk.dhfs.repository.DhfsObjectSyncGrpcGrpc
  - com.usatiuk.dhfs.repository.DhfsObjectSyncGrpcGrpc.DhfsObjectSyncGrpcImplBase (implements io.grpc.BindableService, com.usatiuk.dhfs.repository.DhfsObjectSyncGrpcGrpc.AsyncService)
  - com.usatiuk.dhfs.syncmap.DtoMapperService
  - com.usatiuk.dhfsfs.objects.FileDtoMapper (implements com.usatiuk.dhfs.syncmap.DtoMapper<F,D>)
  - com.usatiuk.dhfsfs.objects.FileHelper
  - com.usatiuk.dhfsfs.objects.FileSyncHandler (implements com.usatiuk.dhfs.remoteobj.ObjSyncHandler<T,D>)
  - com.usatiuk.utils.HashSetDelayedBlockingQueue<T>
  - com.usatiuk.dhfs.remoteobj.IndexUpdateOpHandler (implements com.usatiuk.dhfs.invalidation.OpHandler<T>)
  - com.usatiuk.dhfs.invalidation.InvalidationQueueService
  - com.usatiuk.objects.JavaDataSerializer (implements com.usatiuk.objects.ObjectSerializer<T>)
  - com.usatiuk.objects.JDataVersionedWrapperLazy (implements com.usatiuk.objects.JDataVersionedWrapper)
  - com.usatiuk.objects.JDataVersionedWrapperSerializer
  - com.usatiuk.dhfs.jkleppmanntree.JKleppmannTreeInitialSyncProcessor (implements com.usatiuk.dhfs.peersync.InitialSyncProcessor<T>)
  - com.usatiuk.dhfs.jkleppmanntree.JKleppmannTreeManager
  - com.usatiuk.dhfs.jkleppmanntree.JKleppmannTreeManager.JKleppmannTree
  - com.usatiuk.dhfs.jkleppmanntree.JKleppmannTreeManager.JKleppmannTree.JKleppmannTreeStorageInterface (implements com.usatiuk.kleppmanntree.StorageInterface<TimestampT,PeerIdT,MetaT,NodeIdT>)
  - com.usatiuk.dhfs.jkleppmanntree.JKleppmannTreeOpExtractor (implements com.usatiuk.dhfs.invalidation.OpExtractor<T>)
  - com.usatiuk.dhfs.jkleppmanntree.JKleppmannTreeOpHandler (implements com.usatiuk.dhfs.invalidation.OpHandler<T>)
  - com.usatiuk.dhfs.jkleppmanntree.JKleppmannTreePeerInterface (implements com.usatiuk.kleppmanntree.PeerInterface<PeerIdT>)
  - com.usatiuk.dhfs.jkleppmanntree.JKleppmannTreePeriodicOpHandler (implements com.usatiuk.dhfs.invalidation.OpHandler<T>)
  - com.usatiuk.dhfs.jmap.JMapHelper
  - com.usatiuk.dhfs.jmap.JMapHolderRefcounterTxHook (implements com.usatiuk.objects.transaction.PreCommitTxHook)
  - com.usatiuk.dhfs.jmap.JMapIterator<K> (implements com.usatiuk.objects.iterators.CloseableKvIterator<K,V>)
  - com.usatiuk.dhfs.jmap.JMapRefcounterTxHook (implements com.usatiuk.objects.transaction.PreCommitTxHook)
  - com.usatiuk.objects.JObjectKeyImpl (implements com.usatiuk.objects.JObjectKey)
  - com.usatiuk.dhfs.JObjectKeyProtoSerializer (implements com.usatiuk.dhfs.ProtoSerializer<M,O>)
  - com.usatiuk.kleppmanntree.KleppmannTree<TimestampT,PeerIdT,MetaT,NodeIdT>
  - com.usatiuk.utils.ListUtils
  - com.usatiuk.objects.stores.LmdbObjectPersistentStore (implements com.usatiuk.objects.stores.ObjectPersistentStore)
  - com.usatiuk.dhfs.peerdiscovery.local.LocalPeerDiscoveryBroadcaster
  - com.usatiuk.dhfs.peerdiscovery.local.LocalPeerDiscoveryClient
  - com.usatiuk.dhfsfuse.Main
  - com.usatiuk.dhfsfuse.Main.DhfsStorageServerApp (implements io.quarkus.runtime.QuarkusApplication)
  - com.usatiuk.objects.iterators.MappingKvIterator<K,V,V_T> (implements com.usatiuk.objects.iterators.CloseableKvIterator<K,V>)
  - com.usatiuk.objects.stores.MemoryObjectPersistentStore (implements com.usatiuk.objects.stores.ObjectPersistentStore)
  - com.usatiuk.dhfs.repository.MutinyDhfsObjectSyncGrpcGrpc (implements io.quarkus.grpc.MutinyGrpc)
  - com.usatiuk.dhfs.repository.MutinyDhfsObjectSyncGrpcGrpc.DhfsObjectSyncGrpcImplBase (implements io.grpc.BindableService)
    - com.usatiuk.dhfs.repository.DhfsObjectSyncGrpcBean (implements io.grpc.BindableService, io.quarkus.grpc.MutinyBean)
  - com.usatiuk.dhfs.invalidation.OpExtractorService
  - com.usatiuk.dhfs.invalidation.OpHandlerService
  - com.usatiuk.dhfs.peerdiscovery.PeerAddrStringHelper
  - com.usatiuk.dhfs.peerdiscovery.PeerDiscoveryDirectory
  - com.usatiuk.dhfs.peertrust.PeerInfoCertUpdateTxHook (implements com.usatiuk.objects.transaction.PreCommitTxHook)
  - com.usatiuk.dhfs.peersync.PeerInfoProtoSerializer (implements com.usatiuk.dhfs.ProtoSerializer<M,O>)
  - com.usatiuk.dhfs.peersync.PeerInfoService
  - com.usatiuk.dhfs.peersync.PeerInfoSyncHandler (implements com.usatiuk.dhfs.remoteobj.ObjSyncHandler<T,D>)
  - com.usatiuk.dhfs.peersync.PeerLastSeenUpdater
  - com.usatiuk.dhfs.webapi.PeerManagementApi
  - com.usatiuk.dhfs.peertrust.PeerRolesAugmentor (implements io.quarkus.security.identity.SecurityIdentityAugmentor)
  - com.usatiuk.dhfs.peersync.api.PeerSyncApi
  - com.usatiuk.dhfs.peersync.api.PeerSyncApiClientDynamic
  - com.usatiuk.dhfs.peertrust.PeerTrustManager (implements javax.net.ssl.X509TrustManager)
  - com.usatiuk.dhfs.peertrust.PeerTrustServerCustomizer (implements io.quarkus.vertx.http.HttpServerOptionsCustomizer)
  - com.usatiuk.dhfs.webapi.PersistentPeerAddressApi
  - com.usatiuk.dhfs.peersync.PersistentPeerDataService
  - com.usatiuk.dhfs.peerdiscovery.PersistentStaticPeerDiscovery
  - com.usatiuk.dhfs.peersync.ReachablePeerManager
  - com.usatiuk.dhfs.refcount.RefcounterTxHook (implements com.usatiuk.objects.transaction.PreCommitTxHook)
  - com.usatiuk.dhfs.remoteobj.RemoteObjectDeleter
  - com.usatiuk.dhfs.remoteobj.RemoteObjectInitialSyncProcessor (implements com.usatiuk.dhfs.peersync.InitialSyncProcessor<T>)
  - com.usatiuk.dhfs.invalidation.RemoteObjectMetaOpExtractor (implements com.usatiuk.dhfs.invalidation.OpExtractor<T>)
  - com.usatiuk.dhfs.rpc.RemoteObjectServiceClient
  - com.usatiuk.dhfs.rpc.RemoteObjectServiceServer (implements com.usatiuk.dhfs.repository.DhfsObjectSyncGrpc)
  - com.usatiuk.dhfs.rpc.RemoteObjectServiceServerImpl
  - com.usatiuk.dhfs.remoteobj.RemoteObjPusherTxHook (implements com.usatiuk.objects.transaction.PreCommitTxHook)
  - com.usatiuk.dhfs.remoteobj.RemoteTransaction
  - com.usatiuk.objects.iterators.ReversedKvIterator<K,V> (implements com.usatiuk.objects.iterators.CloseableKvIterator<K,V>)
  - com.usatiuk.objects.iterators.ReversibleKvIterator<K,V> (implements com.usatiuk.objects.iterators.CloseableKvIterator<K,V>)
    - com.usatiuk.objects.iterators.KeyPredicateKvIterator<K,V>
    - com.usatiuk.objects.iterators.MergingKvIterator<K,V>
    - com.usatiuk.objects.iterators.NavigableMapKvIterator<K,V>
    - com.usatiuk.objects.iterators.TombstoneSkippingIterator<K,V>
  - com.usatiuk.dhfs.rpc.RpcChannelFactory
  - com.usatiuk.dhfs.rpc.RpcClientFactory (implements com.usatiuk.dhfs.peersync.PeerDisconnectedEventListener)
  - com.usatiuk.utils.SerializationHelper
  - com.usatiuk.objects.stores.SerializingObjectPersistentStore
  - com.usatiuk.dhfs.ShutdownChecker
  - com.usatiuk.dhfs.peerdiscovery.StaticPeerDiscovery
  - com.usatiuk.dhfs.remoteobj.SyncHandler
  - com.usatiuk.dhfs.remoteobj.SyncHandlerService
  - com.usatiuk.dhfs.remoteobj.SyncHelper
  - com.usatiuk.dhfs.TemporaryOpSerializer (implements com.usatiuk.dhfs.ProtoSerializer<M,O>)
  - com.usatiuk.dhfs.rpc.TemporaryReceivedObjectSerializer (implements com.usatiuk.dhfs.ProtoSerializer<M,O>)
  - com.usatiuk.dhfs.rpc.TemporaryRemoteObjectSerializer (implements com.usatiuk.dhfs.ProtoSerializer<M,O>)
  - java.lang.Throwable (implements java.io.Serializable)
    - java.lang.Exception
      - java.lang.RuntimeException
        - com.usatiuk.kleppmanntree.AlreadyExistsException
        - com.usatiuk.dhfsfs.service.DirectoryNotEmptyException
        - io.grpc.StatusRuntimeException
          - com.usatiuk.utils.StatusRuntimeExceptionNoStacktrace
        - com.usatiuk.objects.transaction.TxCommitException
  - com.usatiuk.objects.transaction.TransactionManagerImpl (implements com.usatiuk.objects.transaction.TransactionManager)
  - com.usatiuk.objects.transaction.TransactionService
  - com.usatiuk.objects.transaction.TxRecord
  - com.usatiuk.utils.UninitializedByteBuffer
  - com.usatiuk.utils.UnsafeAccessor
  - com.usatiuk.dhfs.webui.WebUiRouter
  - com.usatiuk.objects.stores.WritebackObjectPersistentStore

## Interface Hierarchy

- java.lang.AutoCloseable
  - com.usatiuk.utils.AutoCloseableNoThrow
  - com.usatiuk.objects.iterators.CloseableKvIterator<K,V> (also extends java.util.Iterator<E>)
  - com.usatiuk.objects.snapshot.Snapshot<K,V>
- com.usatiuk.kleppmanntree.Clock<TimestampT>
- java.lang.Comparable<T>
  - com.usatiuk.dhfs.refcount.JDataRef (also extends java.io.Serializable)
  - com.usatiuk.dhfs.jmap.JMapKey
  - com.usatiuk.objects.JObjectKey (also extends java.io.Serializable)
- com.usatiuk.dhfs.remoteobj.ConflictResolver
- com.usatiuk.dhfs.repository.DhfsObjectSyncGrpcGrpc.AsyncService
- com.usatiuk.dhfs.syncmap.DtoMapper<F,D>
- com.usatiuk.dhfs.peersync.InitialSyncProcessor<T>
- java.util.Iterator<E>
  - com.usatiuk.objects.iterators.CloseableKvIterator<K,V> (also extends java.lang.AutoCloseable)
- com.usatiuk.kleppmanntree.LogInterface<TimestampT,PeerIdT,MetaT,NodeIdT>
- com.usatiuk.objects.iterators.MaybeTombstone<T>
  - com.usatiuk.objects.iterators.Data<V>
    - com.usatiuk.objects.JDataVersionedWrapper
  - com.usatiuk.objects.stores.PendingWriteEntry
  - com.usatiuk.objects.iterators.Tombstone<V>
- com.google.protobuf.MessageLiteOrBuilder
  - com.google.protobuf.MessageOrBuilder
    - com.usatiuk.dhfs.repository.CanDeleteReplyOrBuilder
    - com.usatiuk.dhfs.repository.CanDeleteRequestOrBuilder
    - com.usatiuk.dhfs.persistence.ChunkDataPOrBuilder
    - com.usatiuk.dhfs.persistence.FileDtoPOrBuilder
    - com.usatiuk.dhfs.repository.GetObjectReplyOrBuilder
    - com.usatiuk.dhfs.repository.GetObjectRequestOrBuilder
    - com.usatiuk.dhfs.persistence.JDataPOrBuilder
    - com.usatiuk.dhfs.persistence.JDataRemoteDtoPOrBuilder
    - com.usatiuk.dhfs.persistence.JObjectKeyPOrBuilder
    - com.usatiuk.dhfs.persistence.ObjectChangelog.entries_EntryOrBuilder
    - com.usatiuk.dhfs.persistence.ObjectChangelogOrBuilder
    - com.usatiuk.dhfs.repository.OpPOrBuilder
    - com.usatiuk.dhfs.repository.OpPushReplyOrBuilder
    - com.usatiuk.dhfs.repository.OpPushRequestOrBuilder
    - com.usatiuk.dhfs.peerdiscovery.PeerDiscoveryInfoOrBuilder
    - com.usatiuk.dhfs.persistence.PeerIdPOrBuilder
    - com.usatiuk.dhfs.persistence.PeerInfoPOrBuilder
    - com.usatiuk.dhfs.repository.PingReplyOrBuilder
    - com.usatiuk.dhfs.repository.PingRequestOrBuilder
- io.quarkus.grpc.MutinyService
  - com.usatiuk.dhfs.repository.DhfsObjectSyncGrpc
- com.usatiuk.objects.stores.ObjectPersistentStore
- com.usatiuk.objects.ObjectSerializer<T>
- com.usatiuk.dhfs.remoteobj.ObjSyncHandler<T,D>
- com.usatiuk.dhfs.invalidation.OpExtractor<T>
- com.usatiuk.dhfs.invalidation.OpHandler<T>
- com.usatiuk.kleppmanntree.OpRecorder<TimestampT,PeerIdT,MetaT,NodeIdT>
- com.usatiuk.dhfs.peersync.PeerConnectedEventListener
- com.usatiuk.dhfs.peersync.PeerDisconnectedEventListener
- com.usatiuk.kleppmanntree.PeerInterface<PeerIdT>
- com.usatiuk.dhfs.peersync.api.PeerSyncApiClient
- com.usatiuk.kleppmanntree.PeerTimestampLogInterface<TimestampT,PeerIdT>
- com.usatiuk.objects.transaction.PreCommitTxHook
- com.usatiuk.dhfs.ProtoSerializer<M,O>
- com.usatiuk.dhfs.rpc.RpcClientFactory.ObjectSyncClientFunction<R>
- java.io.Serializable
  - com.usatiuk.objects.JData
    - com.usatiuk.dhfs.refcount.JDataRefcounted
    - com.usatiuk.dhfs.jmap.JMapHolder<K>
  - com.usatiuk.dhfs.refcount.JDataRef (also extends java.lang.Comparable<T>)
  - com.usatiuk.dhfs.remoteobj.JDataRemote
  - com.usatiuk.dhfs.remoteobj.JDataRemoteDto
  - com.usatiuk.objects.JObjectKey (also extends java.lang.Comparable<T>)
  - com.usatiuk.kleppmanntree.NodeMeta
    - com.usatiuk.dhfs.jkleppmanntree.structs.JKleppmannTreeNodeMeta
  - com.usatiuk.dhfs.invalidation.Op
  - com.usatiuk.dhfs.peerdiscovery.PeerAddress
  - com.usatiuk.kleppmanntree.TreeNode<TimestampT,PeerIdT,MetaT,NodeIdT>
- com.usatiuk.kleppmanntree.StorageInterface<TimestampT,PeerIdT,MetaT,NodeIdT>
- com.usatiuk.objects.transaction.TransactionHandle
  - com.usatiuk.objects.transaction.Transaction
- com.usatiuk.objects.transaction.TransactionManager
- com.usatiuk.objects.transaction.TxRecord.TxObjectRecord<T>

## Annotation Interface Hierarchy

- com.usatiuk.dhfs.remoteobj.JDataRemotePush (implements java.lang.annotation.Annotation)

## Enum Class Hierarchy

- java.lang.Object
  - java.lang.Enum<E> (implements java.lang.Comparable<T>, java.lang.constant.Constable, java.io.Serializable)
    - com.usatiuk.dhfsfs.service.GetattrType
    - com.usatiuk.objects.iterators.IteratorStart
    - com.usatiuk.dhfs.peerdiscovery.PeerAddressType
    - com.usatiuk.dhfs.remoteobj.SyncHelper.ChangelogCmpResult

## Record Class Hierarchy

- java.lang.Object
  - java.lang.Record
    - com.usatiuk.dhfs.peersync.api.ApiPeerInfo
    - com.usatiuk.dhfsfs.objects.ChunkData (implements com.usatiuk.dhfs.remoteobj.JDataRemote, com.usatiuk.dhfs.remoteobj.JDataRemoteDto)
    - com.usatiuk.kleppmanntree.CombinedTimestamp<TimestampT,PeerIdT> (implements java.lang.Comparable<T>, java.io.Serializable)
    - com.usatiuk.objects.iterators.DataWrapper<V> (implements com.usatiuk.objects.iterators.Data<V>)
    - com.usatiuk.dhfsfs.objects.File (implements com.usatiuk.dhfs.remoteobj.JDataRemote, com.usatiuk.dhfs.jmap.JMapHolder<K>)
    - com.usatiuk.dhfsfs.objects.FileDto (implements com.usatiuk.dhfs.remoteobj.JDataRemoteDto)
    - com.usatiuk.dhfsfs.service.GetattrRes
    - com.usatiuk.dhfs.invalidation.IndexUpdateOp (implements com.usatiuk.dhfs.invalidation.Op)
    - com.usatiuk.dhfs.invalidation.InvalidationQueueEntry (implements java.io.Serializable)
    - com.usatiuk.dhfs.peerdiscovery.IpPeerAddress (implements com.usatiuk.dhfs.peerdiscovery.PeerAddress)
    - com.usatiuk.dhfs.refcount.JDataNormalRef (implements com.usatiuk.dhfs.refcount.JDataRef)
    - com.usatiuk.objects.JDataVersionedWrapperImpl (implements com.usatiuk.objects.JDataVersionedWrapper, java.io.Serializable)
    - com.usatiuk.dhfs.jkleppmanntree.structs.JKleppmannTreeNode (implements java.io.Serializable, com.usatiuk.kleppmanntree.TreeNode<TimestampT,PeerIdT,MetaT,NodeIdT>)
    - com.usatiuk.dhfs.jkleppmanntree.structs.JKleppmannTreeNodeHolder (implements com.usatiuk.dhfs.refcount.JDataRefcounted, java.io.Serializable)
    - com.usatiuk.dhfsfs.objects.JKleppmannTreeNodeMetaDirectory (implements com.usatiuk.dhfs.jkleppmanntree.structs.JKleppmannTreeNodeMeta)
    - com.usatiuk.dhfsfs.objects.JKleppmannTreeNodeMetaFile (implements com.usatiuk.dhfs.jkleppmanntree.structs.JKleppmannTreeNodeMeta)
    - com.usatiuk.dhfs.peersync.structs.JKleppmannTreeNodeMetaPeer (implements com.usatiuk.dhfs.jkleppmanntree.structs.JKleppmannTreeNodeMeta)
    - com.usatiuk.dhfs.jkleppmanntree.JKleppmannTreeOpWrapper (implements com.usatiuk.dhfs.invalidation.Op, java.io.Serializable)
    - com.usatiuk.dhfs.jkleppmanntree.JKleppmannTreePeriodicPushOp (implements com.usatiuk.dhfs.invalidation.Op, java.io.Serializable)
    - com.usatiuk.dhfs.jkleppmanntree.structs.JKleppmannTreePersistentData (implements com.usatiuk.dhfs.refcount.JDataRefcounted)
    - com.usatiuk.dhfs.jmap.JMapEntry<K> (implements com.usatiuk.objects.JData)
    - com.usatiuk.dhfs.jmap.JMapLongKey (implements java.lang.Comparable<T>, com.usatiuk.dhfs.jmap.JMapKey, java.io.Serializable)
    - com.usatiuk.dhfs.jmap.JMapRef (implements com.usatiuk.dhfs.refcount.JDataRef)
    - com.usatiuk.objects.JObjectKeyMax (implements com.usatiuk.objects.JObjectKey)
    - com.usatiuk.objects.JObjectKeyMin (implements com.usatiuk.objects.JObjectKey)
    - com.usatiuk.dhfs.webapi.KnownPeerPut
    - com.usatiuk.kleppmanntree.LogEffect<TimestampT,PeerIdT,MetaT,NodeIdT> (implements java.io.Serializable)
    - com.usatiuk.kleppmanntree.LogEffectOld<TimestampT,PeerIdT,MetaT,NodeIdT> (implements java.io.Serializable)
    - com.usatiuk.kleppmanntree.LogRecord<TimestampT,PeerIdT,MetaT,NodeIdT> (implements java.io.Serializable)
    - com.usatiuk.kleppmanntree.OpMove<TimestampT,PeerIdT,MetaT,NodeIdT> (implements java.io.Serializable)
    - com.usatiuk.dhfs.webapi.PeerAddressInfo
    - com.usatiuk.dhfs.peersync.PeerId (implements java.lang.Comparable<T>, java.io.Serializable)
    - com.usatiuk.dhfs.peersync.PeerInfo (implements com.usatiuk.dhfs.remoteobj.JDataRemote, com.usatiuk.dhfs.remoteobj.JDataRemoteDto)
    - com.usatiuk.dhfs.webapi.PeerInfo
    - com.usatiuk.objects.stores.PendingDelete (implements com.usatiuk.objects.stores.PendingWriteEntry, com.usatiuk.objects.iterators.Tombstone<V>)
    - com.usatiuk.objects.stores.PendingWrite (implements com.usatiuk.objects.iterators.Data<V>, com.usatiuk.objects.stores.PendingWriteEntry)
    - com.usatiuk.dhfs.peersync.PersistentRemoteHostsData (implements com.usatiuk.objects.JData, java.io.Serializable)
    - com.usatiuk.dhfs.peersync.ReachablePeerManager.HostStateSnapshot
    - com.usatiuk.dhfs.remoteobj.ReceivedObject
    - com.usatiuk.dhfs.remoteobj.RemoteObjectDataWrapper<T> (implements com.usatiuk.dhfs.refcount.JDataRefcounted)
    - com.usatiuk.dhfs.remoteobj.RemoteObjectMeta (implements com.usatiuk.dhfs.refcount.JDataRefcounted)
    - com.usatiuk.dhfs.webapi.SelfInfo
    - com.usatiuk.objects.iterators.TombstoneImpl<V> (implements com.usatiuk.objects.iterators.Tombstone<V>)
    - com.usatiuk.objects.stores.TxManifestObj<T> (implements java.io.Serializable)
    - com.usatiuk.objects.stores.TxManifestRaw (implements java.io.Serializable)
    - com.usatiuk.objects.transaction.TxRecord.TxObjectRecordDeleted (implements com.usatiuk.objects.transaction.TxRecord.TxObjectRecord<T>)
    - com.usatiuk.objects.transaction.TxRecord.TxObjectRecordWrite<T> (implements com.usatiuk.objects.transaction.TxRecord.TxObjectRecord<T>)