mirror of
https://gitlab.isc.org/isc-projects/kea
synced 2025-09-01 06:25:34 +00:00
Merge branch 'trac3040'
This commit is contained in:
@@ -1,26 +1,28 @@
|
||||
@startuml
|
||||
|
||||
participant auth as "b10-auth"
|
||||
participant auth as ":b10-auth"
|
||||
[-> auth: new/initial config\n(datasrc cfg)
|
||||
activate auth
|
||||
|
||||
participant list as "Configurable\nClientList"
|
||||
participant list as ":Configurable\nClientList"
|
||||
create list
|
||||
auth -> list: <<construct>>
|
||||
|
||||
auth -> list: configure(cfg)
|
||||
activate list
|
||||
|
||||
create CacheConfig
|
||||
list -> CacheConfig: <<construct>> (cfg)
|
||||
participant cache_config as ":CacheConfig"
|
||||
create cache_config
|
||||
list -> cache_config: <<construct>> (cfg)
|
||||
|
||||
participant zt_segment as "ZoneTable\nSegment\n(Local)"
|
||||
participant zt_segment as ":ZoneTable\nSegment\n(Local)"
|
||||
create zt_segment
|
||||
list -> zt_segment: <<construct>>
|
||||
activate zt_segment
|
||||
|
||||
create ZoneTable
|
||||
zt_segment -> ZoneTable: <<construct>>
|
||||
participant zone_table as ":ZoneTable"
|
||||
create zone_table
|
||||
zt_segment -> zone_table: <<construct>>
|
||||
|
||||
deactivate zt_segment
|
||||
|
||||
@@ -30,47 +32,50 @@ note over zt_segment: Local segments are\nalways writable
|
||||
zt_segment --> list: true
|
||||
deactivate zt_segment
|
||||
|
||||
loop for each zone in CacheConfig
|
||||
list -> CacheConfig: getLoadAction()
|
||||
activate CacheConfig
|
||||
loop for each zone in cache_config
|
||||
list -> cache_config: getLoadAction()
|
||||
activate cache_config
|
||||
|
||||
create LoadAction
|
||||
CacheConfig -> LoadAction: <<construct>>
|
||||
participant la1 as "la1:LoadAction"
|
||||
create la1
|
||||
cache_config -> la1: <<construct>>
|
||||
|
||||
participant LoadAction.2
|
||||
participant la2 as "la2:LoadAction"
|
||||
|
||||
CacheConfig --> list : LoadAction
|
||||
cache_config --> list : la1
|
||||
|
||||
deactivate CacheConfig
|
||||
deactivate cache_config
|
||||
|
||||
create ZoneWriter
|
||||
list -> ZoneWriter: <<construct>> (load_action)
|
||||
participant w1 as "w1:ZoneWriter"
|
||||
create w1
|
||||
list -> w1: <<construct>> (la1)
|
||||
|
||||
participant ZoneWriter.2
|
||||
participant w2 as "w2:ZoneWriter"
|
||||
|
||||
list -> ZoneWriter: load()
|
||||
activate ZoneWriter
|
||||
ZoneWriter -> LoadAction: (funcall)
|
||||
activate LoadAction
|
||||
list -> w1: load()
|
||||
activate w1
|
||||
w1 -> la1: (funcall)
|
||||
activate la1
|
||||
|
||||
create ZoneData
|
||||
LoadAction -> ZoneData: <<construct>> via helpers
|
||||
participant zd1 as "zd1:ZoneData"
|
||||
create zd1
|
||||
la1 -> zd1: <<construct>> via helpers
|
||||
|
||||
participant ZoneData.2
|
||||
participant zd2 as "zd2:ZoneData"
|
||||
|
||||
LoadAction --> ZoneWriter: ZoneData
|
||||
deactivate LoadAction
|
||||
deactivate ZoneWriter
|
||||
la1 --> w1: zd1
|
||||
deactivate la1
|
||||
deactivate w1
|
||||
|
||||
list -> ZoneWriter: install()
|
||||
activate ZoneWriter
|
||||
list -> w1: install()
|
||||
activate w1
|
||||
|
||||
ZoneWriter -> ZoneTable: addZone(ZoneData)
|
||||
activate ZoneTable
|
||||
ZoneTable --> ZoneWriter: NULL (no old data)
|
||||
deactivate ZoneTable
|
||||
w1 -> zone_table: addZone(zd1)
|
||||
activate zone_table
|
||||
zone_table --> w1: NULL (no old data)
|
||||
deactivate zone_table
|
||||
|
||||
deactivate ZoneWriter
|
||||
deactivate w1
|
||||
|
||||
end
|
||||
|
||||
@@ -82,55 +87,55 @@ deactivate auth
|
||||
[-> auth: reload\n(zonename)
|
||||
activate auth
|
||||
|
||||
auth -> list: getCachedZoneWriter\n(zone_name)
|
||||
auth -> list: getCachedw1\n(zone_name)
|
||||
activate list
|
||||
|
||||
list -> CacheConfig: getLoadAction()
|
||||
activate CacheConfig
|
||||
list -> cache_config: getLoadAction()
|
||||
activate cache_config
|
||||
|
||||
create LoadAction.2
|
||||
CacheConfig -> LoadAction.2: <<construct>>
|
||||
create la2
|
||||
cache_config -> la2: <<construct>>
|
||||
|
||||
CacheConfig --> list : LoadAction.2
|
||||
cache_config --> list : la2
|
||||
|
||||
deactivate CacheConfig
|
||||
deactivate cache_config
|
||||
|
||||
create ZoneWriter.2
|
||||
list -> ZoneWriter.2: <<construct>> (load_action)
|
||||
create w2
|
||||
list -> w2: <<construct>> (la2)
|
||||
|
||||
list --> auth: ZoneWriter.2
|
||||
list --> auth: w2
|
||||
|
||||
deactivate list
|
||||
|
||||
|
||||
auth -> ZoneWriter.2: load()
|
||||
activate ZoneWriter.2
|
||||
ZoneWriter.2 -> LoadAction.2: (funcall)
|
||||
activate LoadAction.2
|
||||
auth -> w2: load()
|
||||
activate w2
|
||||
w2 -> la2: (funcall)
|
||||
activate la2
|
||||
|
||||
create ZoneData.2
|
||||
LoadAction.2 -> ZoneData.2: <<construct>> via helpers
|
||||
create zd2
|
||||
la2 -> zd2: <<construct>> via helpers
|
||||
|
||||
LoadAction.2 --> ZoneWriter.2: ZoneData.2
|
||||
deactivate LoadAction.2
|
||||
deactivate ZoneWriter.2
|
||||
la2 --> w2: zd2
|
||||
deactivate la2
|
||||
deactivate w2
|
||||
|
||||
auth -> ZoneWriter.2: install()
|
||||
activate ZoneWriter.2
|
||||
auth -> w2: install()
|
||||
activate w2
|
||||
|
||||
ZoneWriter.2 -> ZoneTable: addZone(ZoneData.2)
|
||||
activate ZoneTable
|
||||
ZoneTable --> ZoneWriter.2: ZoneData (old data)
|
||||
deactivate ZoneTable
|
||||
w2 -> zone_table: addZone(zd2)
|
||||
activate zone_table
|
||||
zone_table --> w2: zd1 (old data)
|
||||
deactivate zone_table
|
||||
|
||||
deactivate ZoneWriter.2
|
||||
deactivate w2
|
||||
|
||||
auth -> ZoneWriter.2: cleanup()
|
||||
activate ZoneWriter.2
|
||||
auth -> w2: cleanup()
|
||||
activate w2
|
||||
|
||||
ZoneWriter.2 -> ZoneData: <<destroy>>
|
||||
destroy ZoneData
|
||||
deactivate ZoneWriter.2
|
||||
w2 -> zd1: <<destroy>>
|
||||
destroy zd1
|
||||
deactivate w2
|
||||
|
||||
deactivate auth
|
||||
|
||||
|
@@ -1,20 +1,21 @@
|
||||
@startuml
|
||||
|
||||
participant auth as "b10-auth"
|
||||
participant auth as ":b10-auth"
|
||||
[-> auth: new/initial config\n(datasrc cfg)
|
||||
activate auth
|
||||
|
||||
participant list as "Configurable\nClientList"
|
||||
participant list as ":Configurable\nClientList"
|
||||
create list
|
||||
auth -> list: <<construct>>
|
||||
|
||||
auth -> list: configure(cfg)
|
||||
activate list
|
||||
|
||||
participant CacheConfig as ":CacheConfig"
|
||||
create CacheConfig
|
||||
list -> CacheConfig: <<construct>> (cfg)
|
||||
|
||||
participant zt_segment as "ZoneTable\nSegment\n(Mapped)"
|
||||
participant zt_segment as ":ZoneTable\nSegment\n(Mapped)"
|
||||
create zt_segment
|
||||
list -> zt_segment: <<construct>>
|
||||
|
||||
@@ -46,7 +47,7 @@ activate list
|
||||
list -> zt_segment: reset\n(READ_ONLY,\nsegmentparam)
|
||||
activate zt_segment
|
||||
|
||||
participant segment as "Memory\nSegment\n(Mapped)"
|
||||
participant segment as "seg1:Memory\nSegment\n(Mapped)"
|
||||
create segment
|
||||
zt_segment -> segment: <<construct>>
|
||||
|
||||
@@ -68,9 +69,9 @@ activate zt_segment
|
||||
zt_segment -> segment: <<destroy>>
|
||||
destroy segment
|
||||
|
||||
participant segment.2 as "Memory\nSegment\n(Mapped)\n2"
|
||||
create segment.2
|
||||
zt_segment -> segment.2: <<construct>>
|
||||
participant segment2 as "seg2:Memory\nSegment\n(Mapped)"
|
||||
create segment2
|
||||
zt_segment -> segment2: <<construct>>
|
||||
|
||||
deactivate zt_segment
|
||||
deactivate list
|
||||
|
@@ -1,20 +1,21 @@
|
||||
@startuml
|
||||
|
||||
participant memmgr as "memmgr"
|
||||
participant memmgr as ":b10-memmgr"
|
||||
[-> memmgr: new/initial config\n(datasrc cfg)
|
||||
activate memmgr
|
||||
|
||||
participant list as "Configurable\nClientList"
|
||||
participant list as ":Configurable\nClientList"
|
||||
create list
|
||||
memmgr -> list: <<construct>>
|
||||
|
||||
memmgr -> list: configure(cfg)
|
||||
activate list
|
||||
|
||||
participant CacheConfig as ":CacheConfig"
|
||||
create CacheConfig
|
||||
list -> CacheConfig: <<construct>> (cfg)
|
||||
|
||||
participant zt_segment as "ZoneTable\nSegment\n(Mapped)"
|
||||
participant zt_segment as ":ZoneTable\nSegment\n(Mapped)"
|
||||
create zt_segment
|
||||
list -> zt_segment: <<construct>>
|
||||
|
||||
@@ -39,12 +40,13 @@ activate list
|
||||
list -> zt_segment: reset\n(READ_WRITE,\nsegmentparam)
|
||||
activate zt_segment
|
||||
|
||||
participant segment as "Memory\nSegment\n(Mapped)"
|
||||
participant segment as "seg1:Memory\nSegment\n(Mapped)"
|
||||
create segment
|
||||
zt_segment -> segment: <<construct>>
|
||||
|
||||
participant segment.2 as "Memory\nSegment\n(Mapped)\n2"
|
||||
participant segment.2 as "seg2:Memory\nSegment\n(Mapped)"
|
||||
|
||||
participant ZoneTable as ":ZoneTable"
|
||||
create ZoneTable
|
||||
zt_segment -> ZoneTable: <<construct>>
|
||||
|
||||
@@ -65,17 +67,19 @@ activate list
|
||||
list -> CacheConfig: getLoadAction()
|
||||
activate CacheConfig
|
||||
|
||||
participant LoadAction as "la:LoadAction"
|
||||
create LoadAction
|
||||
CacheConfig -> LoadAction: <<construct>>
|
||||
|
||||
CacheConfig --> list : LoadAction
|
||||
CacheConfig --> list : la
|
||||
|
||||
deactivate CacheConfig
|
||||
|
||||
participant ZoneWriter as "zw:ZoneWriter"
|
||||
create ZoneWriter
|
||||
list -> ZoneWriter: <<construct>> (load_action)
|
||||
list -> ZoneWriter: <<construct>> (la)
|
||||
|
||||
list --> memmgr: ZoneWriter
|
||||
list --> memmgr: zw
|
||||
|
||||
deactivate list
|
||||
|
||||
@@ -85,17 +89,18 @@ activate ZoneWriter
|
||||
ZoneWriter -> LoadAction: (funcall)
|
||||
activate LoadAction
|
||||
|
||||
participant ZoneData as "zd:ZoneData"
|
||||
create ZoneData
|
||||
LoadAction -> ZoneData: <<construct>> via helpers
|
||||
|
||||
LoadAction --> ZoneWriter: ZoneData
|
||||
LoadAction --> ZoneWriter: zd
|
||||
deactivate LoadAction
|
||||
deactivate ZoneWriter
|
||||
|
||||
memmgr -> ZoneWriter: install()
|
||||
activate ZoneWriter
|
||||
|
||||
ZoneWriter -> ZoneTable: addZone(ZoneData)
|
||||
ZoneWriter -> ZoneTable: addZone(zd)
|
||||
activate ZoneTable
|
||||
ZoneTable --> ZoneWriter: NULL (no old data)
|
||||
deactivate ZoneTable
|
||||
|
@@ -1,18 +1,18 @@
|
||||
@startuml
|
||||
|
||||
participant memmgr as "memmgr"
|
||||
participant memmgr as ":b10-memmgr"
|
||||
[-> memmgr: reload\n(zonename)
|
||||
activate memmgr
|
||||
|
||||
participant list as "Configurable\nClientList"
|
||||
participant list as ":Configurable\nClientList"
|
||||
memmgr -> list: getCachedZoneWriter\n(zone_name)
|
||||
activate list
|
||||
|
||||
participant CacheConfig
|
||||
participant CacheConfig as ":CacheConfig"
|
||||
|
||||
participant zt_segment as "ZoneTable\nSegment\n(Mapped)"
|
||||
participant segment as "Memory\nSegment\n(Mapped)"
|
||||
participant segment.2 as "Memory\nSegment\n(Mapped)\n2"
|
||||
participant zt_segment as ":ZoneTable\nSegment\n(Mapped)"
|
||||
participant segment as "existing:Memory\nSegment\n(Mapped)"
|
||||
participant segment2 as "new:Memory\nSegment\n(Mapped)"
|
||||
|
||||
list -> zt_segment: isWritable()
|
||||
activate zt_segment
|
||||
@@ -22,17 +22,18 @@ deactivate zt_segment
|
||||
list -> CacheConfig: getLoadAction()
|
||||
activate CacheConfig
|
||||
|
||||
participant ZoneTable
|
||||
participant ZoneWriter
|
||||
participant ZoneTable as ":ZoneTable"
|
||||
participant ZoneWriter as "zw:ZoneWriter"
|
||||
|
||||
participant LoadAction as "la:LoadAction"
|
||||
create LoadAction
|
||||
CacheConfig -> LoadAction: <<construct>>
|
||||
CacheConfig --> list: LoadAction
|
||||
CacheConfig --> list: la
|
||||
deactivate CacheConfig
|
||||
|
||||
create ZoneWriter
|
||||
list -> ZoneWriter: <<construct>> (LoadAction)
|
||||
list --> memmgr: ZoneWriter
|
||||
list -> ZoneWriter: <<construct>> (la)
|
||||
list --> memmgr: zw
|
||||
deactivate list
|
||||
|
||||
memmgr -> ZoneWriter: load()
|
||||
@@ -40,21 +41,22 @@ activate ZoneWriter
|
||||
ZoneWriter -> LoadAction: (funcall)
|
||||
activate LoadAction
|
||||
|
||||
participant ZoneData
|
||||
participant ZoneData as "zd_existing\n:ZoneData"
|
||||
participant ZoneData2 as "zd_new\n:ZoneData"
|
||||
|
||||
create ZoneData.2
|
||||
LoadAction -> ZoneData.2: <<construct>> via helpers
|
||||
create ZoneData2
|
||||
LoadAction -> ZoneData2: <<construct>> via helpers
|
||||
|
||||
LoadAction --> ZoneWriter: ZoneData.2
|
||||
LoadAction --> ZoneWriter: zd_new
|
||||
deactivate LoadAction
|
||||
deactivate ZoneWriter
|
||||
|
||||
memmgr -> ZoneWriter: install()
|
||||
activate ZoneWriter
|
||||
|
||||
ZoneWriter -> ZoneTable: addZone(ZoneData.2)
|
||||
ZoneWriter -> ZoneTable: addZone(zd_new)
|
||||
activate ZoneTable
|
||||
ZoneTable --> ZoneWriter: ZoneData (old data)
|
||||
ZoneTable --> ZoneWriter: zd_existing (old data)
|
||||
deactivate ZoneTable
|
||||
|
||||
deactivate ZoneWriter
|
||||
@@ -77,8 +79,8 @@ activate zt_segment
|
||||
|
||||
zt_segment -> segment: <<destroy>>
|
||||
destroy segment
|
||||
create segment.2
|
||||
zt_segment -> segment.2: <<construct>>
|
||||
create segment2
|
||||
zt_segment -> segment2: <<construct>>
|
||||
|
||||
deactivate zt_segment
|
||||
deactivate list
|
||||
|
@@ -4,65 +4,65 @@ hide members
|
||||
|
||||
note "Automatic placement of classes\ndoesn't look good. This diagram\nhas to be improved." as n1
|
||||
|
||||
Auth "1" *-d-> "*" ConfigurableClientList
|
||||
Auth -d-> DataSourceClient
|
||||
Auth -d-> ZoneWriter
|
||||
Auth -d-> ZoneTableAccessor
|
||||
Auth -d-> DataSourceStatus
|
||||
Auth -d-> ZoneTableIterator
|
||||
Auth "1" *--> "*" ConfigurableClientList
|
||||
Auth --> DataSourceClient
|
||||
Auth --> ZoneWriter
|
||||
Auth --> ZoneTableAccessor
|
||||
Auth --> DataSourceStatus
|
||||
Auth --> ZoneTableIterator
|
||||
|
||||
ConfigurableClientList "1" *-d-> "*" DataSourceInfo
|
||||
ConfigurableClientList "1" *--> "*" DataSourceInfo
|
||||
ConfigurableClientList ..> ZoneTableSegment : <<reset>>
|
||||
ConfigurableClientList ..d-> DataSourceStatus : <<create>>
|
||||
ConfigurableClientList ..> DataSourceStatus : <<create>>
|
||||
ConfigurableClientList ..> ZoneWriter : <<create>>
|
||||
ConfigurableClientList ..> ZoneTableAccessor : <<create>>
|
||||
|
||||
DataSourceInfo "1" *-u-> "*" DataSourceClient
|
||||
DataSourceInfo "1" *-r-> "*" CacheConfig
|
||||
DataSourceInfo "1" *-d-> "*" ZoneTableSegment
|
||||
DataSourceInfo "1" *--> "*" DataSourceClient
|
||||
DataSourceInfo "1" *--> "*" CacheConfig
|
||||
DataSourceInfo "1" *--> "*" ZoneTableSegment
|
||||
|
||||
ZoneTableAccessor ..> ZoneTableIterator : <<create>>
|
||||
|
||||
ZoneTableAccessorCache -> CacheConfig
|
||||
ZoneTableAccessorCache --> CacheConfig
|
||||
ZoneTableAccessorCache ..> ZoneTableIteratorCache : <<create>>
|
||||
ZoneTableAccessorCache -u-o ZoneTableAccessor
|
||||
ZoneTableAccessorCache --o ZoneTableAccessor
|
||||
|
||||
ZoneTableIteratorCache -u-o ZoneTableIterator
|
||||
ZoneTableIteratorCache -u-> CacheConfig
|
||||
ZoneTableIteratorCache --o ZoneTableIterator
|
||||
ZoneTableIteratorCache --> CacheConfig
|
||||
|
||||
ZoneWriter -d-> ZoneTableSegment
|
||||
ZoneWriter --> ZoneTableSegment
|
||||
ZoneWriter ..> ZoneData : add/replace
|
||||
|
||||
ZoneTableSegment "1" *-r-> "1" ZoneTableHeader
|
||||
ZoneTableSegment "1" *-d-> "1" MemorySegment
|
||||
ZoneTableSegment "1" *--> "1" ZoneTableHeader
|
||||
ZoneTableSegment "1" *--> "1" MemorySegment
|
||||
|
||||
CacheConfig ..> LoadAction
|
||||
|
||||
LoadAction ..> ZoneData : create
|
||||
LoadAction *-> ZoneDataLoader
|
||||
LoadAction *--> ZoneDataLoader
|
||||
|
||||
ZoneDataLoader -> ZoneData
|
||||
ZoneDataLoader *-> ZoneDataUpdater
|
||||
ZoneDataLoader -> MemorySegment
|
||||
ZoneDataLoader --> ZoneData
|
||||
ZoneDataLoader *--> ZoneDataUpdater
|
||||
ZoneDataLoader --> MemorySegment
|
||||
|
||||
ZoneDataUpdater -> ZoneData
|
||||
ZoneDataUpdater --> ZoneData
|
||||
ZoneDataUpdater ..> RdataSet : create
|
||||
ZoneDataUpdater ..> RdataSet : add
|
||||
|
||||
ZoneTableHeader "1" *-d-> "1" ZoneTable
|
||||
ZoneTable "1" *-d-> "1" ZoneData
|
||||
ZoneData "1" *-d-> "1" RdataSet
|
||||
ZoneTableHeader "1" *--> "1" ZoneTable
|
||||
ZoneTable "1" *--> "1" ZoneData
|
||||
ZoneData "1" *--> "1" RdataSet
|
||||
|
||||
loadFromFile -d-o LoadAction
|
||||
IteratorLoader -d-o LoadAction
|
||||
LoadFromFile --o LoadAction
|
||||
IteratorLoader --o LoadAction
|
||||
|
||||
MemorySegmentMapped -d-o MemorySegment
|
||||
MemorySegmentLocal -d-o MemorySegment
|
||||
MemorySegmentMapped --o MemorySegment
|
||||
MemorySegmentLocal --o MemorySegment
|
||||
|
||||
ZoneTableSegmentMapped -d-o ZoneTableSegment
|
||||
ZoneTableSegmentLocal -d-o ZoneTableSegment
|
||||
ZoneTableSegmentMapped --o ZoneTableSegment
|
||||
ZoneTableSegmentLocal --o ZoneTableSegment
|
||||
|
||||
ZoneTableSegmentMapped *-d-> MemorySegmentMapped
|
||||
ZoneTableSegmentLocal *-d-> MemorySegmentLocal
|
||||
ZoneTableSegmentMapped *--> MemorySegmentMapped
|
||||
ZoneTableSegmentLocal *--> MemorySegmentLocal
|
||||
|
||||
@enduml
|
||||
|
Reference in New Issue
Block a user