diff --git a/doc/design/datasrc/auth-local.txt b/doc/design/datasrc/auth-local.txt index 79d7399aaf..afe8ad8621 100644 --- a/doc/design/datasrc/auth-local.txt +++ b/doc/design/datasrc/auth-local.txt @@ -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: <> auth -> list: configure(cfg) activate list -create CacheConfig -list -> CacheConfig: <> (cfg) +participant cache_config as ":CacheConfig" +create cache_config +list -> cache_config: <> (cfg) -participant zt_segment as "ZoneTable\nSegment\n(Local)" +participant zt_segment as ":ZoneTable\nSegment\n(Local)" create zt_segment list -> zt_segment: <> activate zt_segment -create ZoneTable -zt_segment -> ZoneTable: <> +participant zone_table as ":ZoneTable" +create zone_table +zt_segment -> zone_table: <> 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: <> +participant la1 as "la1:LoadAction" +create la1 +cache_config -> la1: <> -participant LoadAction.2 +participant la2 as "la2:LoadAction" -CacheConfig --> list : LoadAction +cache_config --> list : la1 -deactivate CacheConfig +deactivate cache_config -create ZoneWriter -list -> ZoneWriter: <> (load_action) +participant w1 as "w1:ZoneWriter" +create w1 +list -> w1: <> (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: <> via helpers +participant zd1 as "zd1:ZoneData" +create zd1 +la1 -> zd1: <> 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: <> +create la2 +cache_config -> la2: <> -CacheConfig --> list : LoadAction.2 +cache_config --> list : la2 -deactivate CacheConfig +deactivate cache_config -create ZoneWriter.2 -list -> ZoneWriter.2: <> (load_action) +create w2 +list -> w2: <> (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: <> via helpers +create zd2 +la2 -> zd2: <> 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 ZoneData -deactivate ZoneWriter.2 +w2 -> zd1: <> +destroy zd1 +deactivate w2 deactivate auth diff --git a/doc/design/datasrc/auth-mapped.txt b/doc/design/datasrc/auth-mapped.txt index d656220cac..b5b1a395f9 100644 --- a/doc/design/datasrc/auth-mapped.txt +++ b/doc/design/datasrc/auth-mapped.txt @@ -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: <> auth -> list: configure(cfg) activate list +participant CacheConfig as ":CacheConfig" create CacheConfig list -> CacheConfig: <> (cfg) -participant zt_segment as "ZoneTable\nSegment\n(Mapped)" +participant zt_segment as ":ZoneTable\nSegment\n(Mapped)" create zt_segment list -> zt_segment: <> @@ -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: <> @@ -68,9 +69,9 @@ activate zt_segment zt_segment -> segment: <> destroy segment -participant segment.2 as "Memory\nSegment\n(Mapped)\n2" -create segment.2 -zt_segment -> segment.2: <> +participant segment2 as "seg2:Memory\nSegment\n(Mapped)" +create segment2 +zt_segment -> segment2: <> deactivate zt_segment deactivate list diff --git a/doc/design/datasrc/memmgr-mapped-init.txt b/doc/design/datasrc/memmgr-mapped-init.txt index 52ca78360f..9daea13dea 100644 --- a/doc/design/datasrc/memmgr-mapped-init.txt +++ b/doc/design/datasrc/memmgr-mapped-init.txt @@ -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: <> memmgr -> list: configure(cfg) activate list +participant CacheConfig as ":CacheConfig" create CacheConfig list -> CacheConfig: <> (cfg) -participant zt_segment as "ZoneTable\nSegment\n(Mapped)" +participant zt_segment as ":ZoneTable\nSegment\n(Mapped)" create zt_segment list -> zt_segment: <> @@ -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: <> -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: <> @@ -65,17 +67,19 @@ activate list list -> CacheConfig: getLoadAction() activate CacheConfig +participant LoadAction as "la:LoadAction" create LoadAction CacheConfig -> LoadAction: <> -CacheConfig --> list : LoadAction +CacheConfig --> list : la deactivate CacheConfig +participant ZoneWriter as "zw:ZoneWriter" create ZoneWriter -list -> ZoneWriter: <> (load_action) +list -> ZoneWriter: <> (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: <> 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 diff --git a/doc/design/datasrc/memmgr-mapped-reload.txt b/doc/design/datasrc/memmgr-mapped-reload.txt index 83dbf46e0a..676e961c46 100644 --- a/doc/design/datasrc/memmgr-mapped-reload.txt +++ b/doc/design/datasrc/memmgr-mapped-reload.txt @@ -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: <> -CacheConfig --> list: LoadAction +CacheConfig --> list: la deactivate CacheConfig create ZoneWriter -list -> ZoneWriter: <> (LoadAction) -list --> memmgr: ZoneWriter +list -> ZoneWriter: <> (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: <> via helpers +create ZoneData2 +LoadAction -> ZoneData2: <> 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 segment -create segment.2 -zt_segment -> segment.2: <> +create segment2 +zt_segment -> segment2: <> deactivate zt_segment deactivate list diff --git a/doc/design/datasrc/overview.txt b/doc/design/datasrc/overview.txt index 49aae9df35..4ee971c1ae 100644 --- a/doc/design/datasrc/overview.txt +++ b/doc/design/datasrc/overview.txt @@ -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 : <> -ConfigurableClientList ..d-> DataSourceStatus : <> +ConfigurableClientList ..> DataSourceStatus : <> ConfigurableClientList ..> ZoneWriter : <> ConfigurableClientList ..> ZoneTableAccessor : <> -DataSourceInfo "1" *-u-> "*" DataSourceClient -DataSourceInfo "1" *-r-> "*" CacheConfig -DataSourceInfo "1" *-d-> "*" ZoneTableSegment +DataSourceInfo "1" *--> "*" DataSourceClient +DataSourceInfo "1" *--> "*" CacheConfig +DataSourceInfo "1" *--> "*" ZoneTableSegment ZoneTableAccessor ..> ZoneTableIterator : <> -ZoneTableAccessorCache -> CacheConfig +ZoneTableAccessorCache --> CacheConfig ZoneTableAccessorCache ..> ZoneTableIteratorCache : <> -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