github.com/voedger/voedger@v0.0.0-20240520144910-273e84102129/pkg/istructsmem/internal/plogcache/README.md (about)

     1  # `plogcache` from `istructsmem` internal package
     2  
     3  [![codecov](https://codecov.io/gh/voedger/voedger/branch/main/graph/badge.svg?token=1O1pA6zdYs)](https://codecov.io/gh/voedger/voedger/istructsmem/internal/plogcache)
     4  
     5  PLog events cache.
     6  
     7  ## Motivation
     8  
     9  [performance: istructsmem: PLog Events cache](https://github.com/voedger/voedger/issues/455)
    10  
    11  ## Design
    12  
    13  ```mermaid
    14  flowchart
    15  
    16    processors:::Group
    17    subgraph processors [commandprocessor package]
    18      cp>command processors]
    19    end
    20  
    21    projectors:::Group
    22    subgraph projectors [projectors package]
    23      actualizers>async actualizers]
    24    end
    25  
    26    istructsmem:::Group
    27    subgraph istructsmem [istructsmem package]
    28      IEvents[istructs.IEvents implementation]
    29      eventsCache[(plog events cache)]:::NEW
    30      IEvents -.- eventsCache
    31    end
    32    
    33    istorage:::Group
    34    subgraph istorage [istorage package]
    35      storageCache[(cache)]:::Green
    36      storage[(storage)]:::Green
    37      storageCache -.- storage
    38    end
    39    
    40    processors -->|write events| istructsmem
    41    istructsmem -->|read events| projectors
    42    istructsmem <--->|"read/write (key,value)"| istorage
    43    
    44   
    45    classDef NEW fill:#FFE0E0,stroke:#800000, stroke-width:2px, stroke-dasharray: 5 5
    46    classDef Green fill:#E0FFF0,stroke:#008040
    47    classDef Group fill:#FFFFFF, stroke:#808080, stroke-width:2px, stroke-dasharray: 5 5
    48  ```