2
0
mirror of https://gitlab.isc.org/isc-projects/kea synced 2025-09-01 22:45:18 +00:00

Merge branch 'trac3040'

This commit is contained in:
Mukund Sivaraman
2013-07-10 11:42:46 +05:30
5 changed files with 149 additions and 136 deletions

View File

@@ -1,26 +1,28 @@
@startuml @startuml
participant auth as "b10-auth" participant auth as ":b10-auth"
[-> auth: new/initial config\n(datasrc cfg) [-> auth: new/initial config\n(datasrc cfg)
activate auth activate auth
participant list as "Configurable\nClientList" participant list as ":Configurable\nClientList"
create list create list
auth -> list: <<construct>> auth -> list: <<construct>>
auth -> list: configure(cfg) auth -> list: configure(cfg)
activate list activate list
create CacheConfig participant cache_config as ":CacheConfig"
list -> CacheConfig: <<construct>> (cfg) 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 create zt_segment
list -> zt_segment: <<construct>> list -> zt_segment: <<construct>>
activate zt_segment activate zt_segment
create ZoneTable participant zone_table as ":ZoneTable"
zt_segment -> ZoneTable: <<construct>> create zone_table
zt_segment -> zone_table: <<construct>>
deactivate zt_segment deactivate zt_segment
@@ -30,47 +32,50 @@ note over zt_segment: Local segments are\nalways writable
zt_segment --> list: true zt_segment --> list: true
deactivate zt_segment deactivate zt_segment
loop for each zone in CacheConfig loop for each zone in cache_config
list -> CacheConfig: getLoadAction() list -> cache_config: getLoadAction()
activate CacheConfig activate cache_config
create LoadAction participant la1 as "la1:LoadAction"
CacheConfig -> LoadAction: <<construct>> 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 participant w1 as "w1:ZoneWriter"
list -> ZoneWriter: <<construct>> (load_action) create w1
list -> w1: <<construct>> (la1)
participant ZoneWriter.2 participant w2 as "w2:ZoneWriter"
list -> ZoneWriter: load() list -> w1: load()
activate ZoneWriter activate w1
ZoneWriter -> LoadAction: (funcall) w1 -> la1: (funcall)
activate LoadAction activate la1
create ZoneData participant zd1 as "zd1:ZoneData"
LoadAction -> ZoneData: <<construct>> via helpers create zd1
la1 -> zd1: <<construct>> via helpers
participant ZoneData.2 participant zd2 as "zd2:ZoneData"
LoadAction --> ZoneWriter: ZoneData la1 --> w1: zd1
deactivate LoadAction deactivate la1
deactivate ZoneWriter deactivate w1
list -> ZoneWriter: install() list -> w1: install()
activate ZoneWriter activate w1
ZoneWriter -> ZoneTable: addZone(ZoneData) w1 -> zone_table: addZone(zd1)
activate ZoneTable activate zone_table
ZoneTable --> ZoneWriter: NULL (no old data) zone_table --> w1: NULL (no old data)
deactivate ZoneTable deactivate zone_table
deactivate ZoneWriter deactivate w1
end end
@@ -82,55 +87,55 @@ deactivate auth
[-> auth: reload\n(zonename) [-> auth: reload\n(zonename)
activate auth activate auth
auth -> list: getCachedZoneWriter\n(zone_name) auth -> list: getCachedw1\n(zone_name)
activate list activate list
list -> CacheConfig: getLoadAction() list -> cache_config: getLoadAction()
activate CacheConfig activate cache_config
create LoadAction.2 create la2
CacheConfig -> LoadAction.2: <<construct>> cache_config -> la2: <<construct>>
CacheConfig --> list : LoadAction.2 cache_config --> list : la2
deactivate CacheConfig deactivate cache_config
create ZoneWriter.2 create w2
list -> ZoneWriter.2: <<construct>> (load_action) list -> w2: <<construct>> (la2)
list --> auth: ZoneWriter.2 list --> auth: w2
deactivate list deactivate list
auth -> ZoneWriter.2: load() auth -> w2: load()
activate ZoneWriter.2 activate w2
ZoneWriter.2 -> LoadAction.2: (funcall) w2 -> la2: (funcall)
activate LoadAction.2 activate la2
create ZoneData.2 create zd2
LoadAction.2 -> ZoneData.2: <<construct>> via helpers la2 -> zd2: <<construct>> via helpers
LoadAction.2 --> ZoneWriter.2: ZoneData.2 la2 --> w2: zd2
deactivate LoadAction.2 deactivate la2
deactivate ZoneWriter.2 deactivate w2
auth -> ZoneWriter.2: install() auth -> w2: install()
activate ZoneWriter.2 activate w2
ZoneWriter.2 -> ZoneTable: addZone(ZoneData.2) w2 -> zone_table: addZone(zd2)
activate ZoneTable activate zone_table
ZoneTable --> ZoneWriter.2: ZoneData (old data) zone_table --> w2: zd1 (old data)
deactivate ZoneTable deactivate zone_table
deactivate ZoneWriter.2 deactivate w2
auth -> ZoneWriter.2: cleanup() auth -> w2: cleanup()
activate ZoneWriter.2 activate w2
ZoneWriter.2 -> ZoneData: <<destroy>> w2 -> zd1: <<destroy>>
destroy ZoneData destroy zd1
deactivate ZoneWriter.2 deactivate w2
deactivate auth deactivate auth

View File

@@ -1,20 +1,21 @@
@startuml @startuml
participant auth as "b10-auth" participant auth as ":b10-auth"
[-> auth: new/initial config\n(datasrc cfg) [-> auth: new/initial config\n(datasrc cfg)
activate auth activate auth
participant list as "Configurable\nClientList" participant list as ":Configurable\nClientList"
create list create list
auth -> list: <<construct>> auth -> list: <<construct>>
auth -> list: configure(cfg) auth -> list: configure(cfg)
activate list activate list
participant CacheConfig as ":CacheConfig"
create CacheConfig create CacheConfig
list -> CacheConfig: <<construct>> (cfg) list -> CacheConfig: <<construct>> (cfg)
participant zt_segment as "ZoneTable\nSegment\n(Mapped)" participant zt_segment as ":ZoneTable\nSegment\n(Mapped)"
create zt_segment create zt_segment
list -> zt_segment: <<construct>> list -> zt_segment: <<construct>>
@@ -46,7 +47,7 @@ activate list
list -> zt_segment: reset\n(READ_ONLY,\nsegmentparam) list -> zt_segment: reset\n(READ_ONLY,\nsegmentparam)
activate zt_segment activate zt_segment
participant segment as "Memory\nSegment\n(Mapped)" participant segment as "seg1:Memory\nSegment\n(Mapped)"
create segment create segment
zt_segment -> segment: <<construct>> zt_segment -> segment: <<construct>>
@@ -68,9 +69,9 @@ activate zt_segment
zt_segment -> segment: <<destroy>> zt_segment -> segment: <<destroy>>
destroy segment destroy segment
participant segment.2 as "Memory\nSegment\n(Mapped)\n2" participant segment2 as "seg2:Memory\nSegment\n(Mapped)"
create segment.2 create segment2
zt_segment -> segment.2: <<construct>> zt_segment -> segment2: <<construct>>
deactivate zt_segment deactivate zt_segment
deactivate list deactivate list

View File

@@ -1,20 +1,21 @@
@startuml @startuml
participant memmgr as "memmgr" participant memmgr as ":b10-memmgr"
[-> memmgr: new/initial config\n(datasrc cfg) [-> memmgr: new/initial config\n(datasrc cfg)
activate memmgr activate memmgr
participant list as "Configurable\nClientList" participant list as ":Configurable\nClientList"
create list create list
memmgr -> list: <<construct>> memmgr -> list: <<construct>>
memmgr -> list: configure(cfg) memmgr -> list: configure(cfg)
activate list activate list
participant CacheConfig as ":CacheConfig"
create CacheConfig create CacheConfig
list -> CacheConfig: <<construct>> (cfg) list -> CacheConfig: <<construct>> (cfg)
participant zt_segment as "ZoneTable\nSegment\n(Mapped)" participant zt_segment as ":ZoneTable\nSegment\n(Mapped)"
create zt_segment create zt_segment
list -> zt_segment: <<construct>> list -> zt_segment: <<construct>>
@@ -39,12 +40,13 @@ activate list
list -> zt_segment: reset\n(READ_WRITE,\nsegmentparam) list -> zt_segment: reset\n(READ_WRITE,\nsegmentparam)
activate zt_segment activate zt_segment
participant segment as "Memory\nSegment\n(Mapped)" participant segment as "seg1:Memory\nSegment\n(Mapped)"
create segment create segment
zt_segment -> segment: <<construct>> 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 create ZoneTable
zt_segment -> ZoneTable: <<construct>> zt_segment -> ZoneTable: <<construct>>
@@ -65,17 +67,19 @@ activate list
list -> CacheConfig: getLoadAction() list -> CacheConfig: getLoadAction()
activate CacheConfig activate CacheConfig
participant LoadAction as "la:LoadAction"
create LoadAction create LoadAction
CacheConfig -> LoadAction: <<construct>> CacheConfig -> LoadAction: <<construct>>
CacheConfig --> list : LoadAction CacheConfig --> list : la
deactivate CacheConfig deactivate CacheConfig
participant ZoneWriter as "zw:ZoneWriter"
create ZoneWriter create ZoneWriter
list -> ZoneWriter: <<construct>> (load_action) list -> ZoneWriter: <<construct>> (la)
list --> memmgr: ZoneWriter list --> memmgr: zw
deactivate list deactivate list
@@ -85,17 +89,18 @@ activate ZoneWriter
ZoneWriter -> LoadAction: (funcall) ZoneWriter -> LoadAction: (funcall)
activate LoadAction activate LoadAction
participant ZoneData as "zd:ZoneData"
create ZoneData create ZoneData
LoadAction -> ZoneData: <<construct>> via helpers LoadAction -> ZoneData: <<construct>> via helpers
LoadAction --> ZoneWriter: ZoneData LoadAction --> ZoneWriter: zd
deactivate LoadAction deactivate LoadAction
deactivate ZoneWriter deactivate ZoneWriter
memmgr -> ZoneWriter: install() memmgr -> ZoneWriter: install()
activate ZoneWriter activate ZoneWriter
ZoneWriter -> ZoneTable: addZone(ZoneData) ZoneWriter -> ZoneTable: addZone(zd)
activate ZoneTable activate ZoneTable
ZoneTable --> ZoneWriter: NULL (no old data) ZoneTable --> ZoneWriter: NULL (no old data)
deactivate ZoneTable deactivate ZoneTable

View File

@@ -1,18 +1,18 @@
@startuml @startuml
participant memmgr as "memmgr" participant memmgr as ":b10-memmgr"
[-> memmgr: reload\n(zonename) [-> memmgr: reload\n(zonename)
activate memmgr activate memmgr
participant list as "Configurable\nClientList" participant list as ":Configurable\nClientList"
memmgr -> list: getCachedZoneWriter\n(zone_name) memmgr -> list: getCachedZoneWriter\n(zone_name)
activate list activate list
participant CacheConfig participant CacheConfig as ":CacheConfig"
participant zt_segment as "ZoneTable\nSegment\n(Mapped)" participant zt_segment as ":ZoneTable\nSegment\n(Mapped)"
participant segment as "Memory\nSegment\n(Mapped)" participant segment as "existing:Memory\nSegment\n(Mapped)"
participant segment.2 as "Memory\nSegment\n(Mapped)\n2" participant segment2 as "new:Memory\nSegment\n(Mapped)"
list -> zt_segment: isWritable() list -> zt_segment: isWritable()
activate zt_segment activate zt_segment
@@ -22,17 +22,18 @@ deactivate zt_segment
list -> CacheConfig: getLoadAction() list -> CacheConfig: getLoadAction()
activate CacheConfig activate CacheConfig
participant ZoneTable participant ZoneTable as ":ZoneTable"
participant ZoneWriter participant ZoneWriter as "zw:ZoneWriter"
participant LoadAction as "la:LoadAction"
create LoadAction create LoadAction
CacheConfig -> LoadAction: <<construct>> CacheConfig -> LoadAction: <<construct>>
CacheConfig --> list: LoadAction CacheConfig --> list: la
deactivate CacheConfig deactivate CacheConfig
create ZoneWriter create ZoneWriter
list -> ZoneWriter: <<construct>> (LoadAction) list -> ZoneWriter: <<construct>> (la)
list --> memmgr: ZoneWriter list --> memmgr: zw
deactivate list deactivate list
memmgr -> ZoneWriter: load() memmgr -> ZoneWriter: load()
@@ -40,21 +41,22 @@ activate ZoneWriter
ZoneWriter -> LoadAction: (funcall) ZoneWriter -> LoadAction: (funcall)
activate LoadAction activate LoadAction
participant ZoneData participant ZoneData as "zd_existing\n:ZoneData"
participant ZoneData2 as "zd_new\n:ZoneData"
create ZoneData.2 create ZoneData2
LoadAction -> ZoneData.2: <<construct>> via helpers LoadAction -> ZoneData2: <<construct>> via helpers
LoadAction --> ZoneWriter: ZoneData.2 LoadAction --> ZoneWriter: zd_new
deactivate LoadAction deactivate LoadAction
deactivate ZoneWriter deactivate ZoneWriter
memmgr -> ZoneWriter: install() memmgr -> ZoneWriter: install()
activate ZoneWriter activate ZoneWriter
ZoneWriter -> ZoneTable: addZone(ZoneData.2) ZoneWriter -> ZoneTable: addZone(zd_new)
activate ZoneTable activate ZoneTable
ZoneTable --> ZoneWriter: ZoneData (old data) ZoneTable --> ZoneWriter: zd_existing (old data)
deactivate ZoneTable deactivate ZoneTable
deactivate ZoneWriter deactivate ZoneWriter
@@ -77,8 +79,8 @@ activate zt_segment
zt_segment -> segment: <<destroy>> zt_segment -> segment: <<destroy>>
destroy segment destroy segment
create segment.2 create segment2
zt_segment -> segment.2: <<construct>> zt_segment -> segment2: <<construct>>
deactivate zt_segment deactivate zt_segment
deactivate list deactivate list

View File

@@ -4,65 +4,65 @@ hide members
note "Automatic placement of classes\ndoesn't look good. This diagram\nhas to be improved." as n1 note "Automatic placement of classes\ndoesn't look good. This diagram\nhas to be improved." as n1
Auth "1" *-d-> "*" ConfigurableClientList Auth "1" *--> "*" ConfigurableClientList
Auth -d-> DataSourceClient Auth --> DataSourceClient
Auth -d-> ZoneWriter Auth --> ZoneWriter
Auth -d-> ZoneTableAccessor Auth --> ZoneTableAccessor
Auth -d-> DataSourceStatus Auth --> DataSourceStatus
Auth -d-> ZoneTableIterator Auth --> ZoneTableIterator
ConfigurableClientList "1" *-d-> "*" DataSourceInfo ConfigurableClientList "1" *--> "*" DataSourceInfo
ConfigurableClientList ..> ZoneTableSegment : <<reset>> ConfigurableClientList ..> ZoneTableSegment : <<reset>>
ConfigurableClientList ..d-> DataSourceStatus : <<create>> ConfigurableClientList ..> DataSourceStatus : <<create>>
ConfigurableClientList ..> ZoneWriter : <<create>> ConfigurableClientList ..> ZoneWriter : <<create>>
ConfigurableClientList ..> ZoneTableAccessor : <<create>> ConfigurableClientList ..> ZoneTableAccessor : <<create>>
DataSourceInfo "1" *-u-> "*" DataSourceClient DataSourceInfo "1" *--> "*" DataSourceClient
DataSourceInfo "1" *-r-> "*" CacheConfig DataSourceInfo "1" *--> "*" CacheConfig
DataSourceInfo "1" *-d-> "*" ZoneTableSegment DataSourceInfo "1" *--> "*" ZoneTableSegment
ZoneTableAccessor ..> ZoneTableIterator : <<create>> ZoneTableAccessor ..> ZoneTableIterator : <<create>>
ZoneTableAccessorCache -> CacheConfig ZoneTableAccessorCache --> CacheConfig
ZoneTableAccessorCache ..> ZoneTableIteratorCache : <<create>> ZoneTableAccessorCache ..> ZoneTableIteratorCache : <<create>>
ZoneTableAccessorCache -u-o ZoneTableAccessor ZoneTableAccessorCache --o ZoneTableAccessor
ZoneTableIteratorCache -u-o ZoneTableIterator ZoneTableIteratorCache --o ZoneTableIterator
ZoneTableIteratorCache -u-> CacheConfig ZoneTableIteratorCache --> CacheConfig
ZoneWriter -d-> ZoneTableSegment ZoneWriter --> ZoneTableSegment
ZoneWriter ..> ZoneData : add/replace ZoneWriter ..> ZoneData : add/replace
ZoneTableSegment "1" *-r-> "1" ZoneTableHeader ZoneTableSegment "1" *--> "1" ZoneTableHeader
ZoneTableSegment "1" *-d-> "1" MemorySegment ZoneTableSegment "1" *--> "1" MemorySegment
CacheConfig ..> LoadAction CacheConfig ..> LoadAction
LoadAction ..> ZoneData : create LoadAction ..> ZoneData : create
LoadAction *-> ZoneDataLoader LoadAction *--> ZoneDataLoader
ZoneDataLoader -> ZoneData ZoneDataLoader --> ZoneData
ZoneDataLoader *-> ZoneDataUpdater ZoneDataLoader *--> ZoneDataUpdater
ZoneDataLoader -> MemorySegment ZoneDataLoader --> MemorySegment
ZoneDataUpdater -> ZoneData ZoneDataUpdater --> ZoneData
ZoneDataUpdater ..> RdataSet : create ZoneDataUpdater ..> RdataSet : create
ZoneDataUpdater ..> RdataSet : add ZoneDataUpdater ..> RdataSet : add
ZoneTableHeader "1" *-d-> "1" ZoneTable ZoneTableHeader "1" *--> "1" ZoneTable
ZoneTable "1" *-d-> "1" ZoneData ZoneTable "1" *--> "1" ZoneData
ZoneData "1" *-d-> "1" RdataSet ZoneData "1" *--> "1" RdataSet
loadFromFile -d-o LoadAction LoadFromFile --o LoadAction
IteratorLoader -d-o LoadAction IteratorLoader --o LoadAction
MemorySegmentMapped -d-o MemorySegment MemorySegmentMapped --o MemorySegment
MemorySegmentLocal -d-o MemorySegment MemorySegmentLocal --o MemorySegment
ZoneTableSegmentMapped -d-o ZoneTableSegment ZoneTableSegmentMapped --o ZoneTableSegment
ZoneTableSegmentLocal -d-o ZoneTableSegment ZoneTableSegmentLocal --o ZoneTableSegment
ZoneTableSegmentMapped *-d-> MemorySegmentMapped ZoneTableSegmentMapped *--> MemorySegmentMapped
ZoneTableSegmentLocal *-d-> MemorySegmentLocal ZoneTableSegmentLocal *--> MemorySegmentLocal
@enduml @enduml