Skip navigation links
Directory Services 6.0.0 API

@PublicAPI(stability=PRIVATE)

Package org.opends.server.replication.server.changelog.file

This package contains a file-based log implementation for the changelog database API.

See: Description

Package org.opends.server.replication.server.changelog.file Description

This package contains a file-based log implementation for the changelog database API.

Here is a class diagram of the whole hierarchy of cursors from the changelog DB (using plantuml notation):

 
@startuml
package "High-level cursors:\nreturn LDAPUpdateMsg\n and ReplicataOfflineMsg" {
DBCursor <|-- CompositeDBCursor
CompositeDBCursor <|-- DomainDBCursor
CompositeDBCursor <|-- MultiDomainDBCursor
DBCursor <|-- ECLMultiDomainDBCursor
DBCursor <|-- ReplicaCursor
DBCursor <|-- FileReplicaDBCursor

class ECLMultiDomainDBCursor
note left : only returns update messages for domains\nwhich have been enabled for the external changelog
ECLMultiDomainDBCursor -> MultiDomainDBCursor

class MultiDomainDBCursor
note bottom : cross-domains cursor]\n(multiple domains)
MultiDomainDBCursor -> "+" DomainDBCursor

class DomainDBCursor
note bottom : cursor on a single domain\n(multiple replicas)
DomainDBCursor -> "+" ReplicaCursor

class ReplicaCursor
note bottom : cursor on a single replica\n(including the most recent\n replica offline message\nand all update messages)
ReplicaCursor -> FileReplicaDBCursor
ReplicaCursor : ReplicaOfflineMsg replicaOfflineMsg

class FileReplicaDBCursor
note bottom : cursor on a single replica DB\n(excluding replica offline messages\n- only update messages)
}

package "Low-level cursors:\nreturn LDAPUpdateMsg" {
DBCursor <|-- RepositionableCursor
RepositionableCursor <|-- LogFileCursor
RepositionableCursor <|-- LogCursor
RepositionableCursor <|-- EmptyCursor
LogCursor <|-- InternalLogCursor
LogCursor <|-- AbortableLogCursor
LogCursor <|-- AbortedLogCursor

FileReplicaDBCursor -> AbortableLogCursor

class AbortableLogCursor
note bottom : delegates to an InternalLogCursor,\nthen to an AbortedLogCursor when aborted
AbortableLogCursor -> InternalLogCursor
AbortableLogCursor -> AbortedLogCursor

class InternalLogCursor
note bottom : cursors through log files\nthat comprise a Log
InternalLogCursor -> LogFileCursor
InternalLogCursor -> LogFile

class LogFileCursor
note bottom : cursors through a single log file
LogFileCursor -> LogFile
LogFileCursor -> BlockLogReader
}
&#64;enduml
 
 
Skip navigation links
Directory Services 6.0.0 API

Copyright 2010-2018 ForgeRock AS.