1"use strict";(self.webpackChunkarkhai_website=self.webpackChunkarkhai_website||[]).push([[615],{28453:(e,n,r)=>{r.d(n,{R:()=>o,x:()=>a});var i=r(96540);const t={},s=i.createContext(t);function o(e){const n=i.useContext(s);return i.useMemo(function(){return"function"==typeof e?e(n):{...n,...e}},[n,e])}function a(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:o(e.components),i.createElement(s.Provider,{value:n},e.children)}},71443:(e,n,r)=>{r.r(n),r.d(n,{assets:()=>l,contentTitle:()=>a,default:()=>c,frontMatter:()=>o,metadata:()=>i,toc:()=>d});const i=JSON.parse('{"id":"networking/mesh_gossip_pattern","title":"Mesh Gossip Pattern","description":"Overview","source":"@site/vendor/cgt-docusaurus/docs/networking/05_mesh_gossip_pattern.md","sourceDirName":"networking","slug":"/networking/mesh_gossip_pattern","permalink":"/docs/modular-markets/networking/mesh_gossip_pattern","draft":false,"unlisted":false,"editUrl":"https://github.com/arkhai-io/cgt/edit/main/cgt-docusaurus/docs/networking/05_mesh_gossip_pattern.md","tags":[],"version":"current","sidebarPosition":54,"frontMatter":{"title":"Mesh Gossip Pattern","sidebar_position":54},"sidebar":"docs","previous":{"title":"Push Pull Pattern","permalink":"/docs/modular-markets/networking/push_pull_pattern"},"next":{"title":"Orchestrator Pattern","permalink":"/docs/modular-markets/networking/orchestrator_pattern"}}');var t=r(74848),s=r(28453);const o={title:"Mesh Gossip Pattern",sidebar_position:54},a="Mesh Gossip Pattern",l={},d=[{value:"Overview",id:"overview",level:2},{value:"Diagram",id:"diagram",level:2},{value:"Key Concepts",id:"key-concepts",level:2},{value:"Related Topics",id:"related-topics",level:2}];function p(e){const n={a:"a",em:"em",h1:"h1",h2:"h2",header:"header",li:"li",mermaid:"mermaid",p:"p",ul:"ul",...(0,s.R)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.header,{children:(0,t.jsx)(n.h1,{id:"mesh-gossip-pattern",children:"Mesh Gossip Pattern"})}),"\n",(0,t.jsx)(n.h2,{id:"overview",children:"Overview"}),"\n",(0,t.jsx)(n.p,{children:"This section visualizes the mesh gossip pattern using compositional game theory."}),"\n",(0,t.jsx)(n.h2,{id:"diagram",children:"Diagram"}),"\n",(0,t.jsx)(n.mermaid,{value:'graph TB\n %% Mesh/Gossip Pattern - Peer-to-Peer Network\n\n %% Peer Nodes (All Blue - No hierarchy)\n P1((Peer 1)):::peer\n P2((Peer 2)):::peer\n P3((Peer 3)):::peer\n P4((Peer 4)):::peer\n P5((Peer 5)):::peer\n P6((Peer 6)):::peer\n\n %% Full Mesh Connections (solid lines)\n P1 <--\x3e P2\n P1 <--\x3e P3\n P1 <--\x3e P4\n P2 <--\x3e P3\n P2 <--\x3e P5\n P3 <--\x3e P4\n P3 <--\x3e P6\n P4 <--\x3e P5\n P4 <--\x3e P6\n P5 <--\x3e P6\n\n %% Gossip Propagation Example\n subgraph GossipRound["Gossip Protocol - Message Spreading"]\n direction LR\n subgraph Round1["Round 1"]\n G1((Origin)):::origin\n G2((Peer A)):::peer\n G3((Peer B)):::peer\n G4((Peer C)):::inactive\n G5((Peer D)):::inactive\n G6((Peer E)):::inactive\n\n G1 -.->|"gossip"| G2\n G1 -.->|"gossip"| G3\n end\n\n subgraph Round2["Round 2"]\n H1((Origin)):::origin\n H2((Peer A)):::origin\n H3((Peer B)):::origin\n H4((Peer C)):::peer\n H5((Peer D)):::peer\n H6((Peer E)):::inactive\n\n H2 -.->|"gossip"| H4\n H3 -.->|"gossip"| H5\n end\n\n subgraph Round3["Round 3"]\n I1((Origin)):::origin\n I2((Peer A)):::origin\n I3((Peer B)):::origin\n I4((Peer C)):::origin\n I5((Peer D)):::origin\n I6((Peer E)):::peer\n\n I4 -.->|"gossip"| I6\n end\n end\n\n %% Partial Mesh vs Full Mesh\n subgraph PartialMesh["Partial Mesh (Selective Connections)"]\n direction LR\n PM1((Peer 1)):::peer\n PM2((Peer 2)):::peer\n PM3((Peer 3)):::peer\n PM4((Peer 4)):::peer\n PM5((Peer 5)):::peer\n\n PM1 <--\x3e PM2\n PM1 <--\x3e PM3\n PM2 <--\x3e PM4\n PM3 <--\x3e PM5\n PM4 <--\x3e PM5\n end\n\n %% Fault Tolerance Example\n subgraph FaultTolerance["Fault Tolerance"]\n direction LR\n F1((Peer 1)):::peer\n F2((Peer 2)):::failed\n F3((Peer 3)):::peer\n F4((Peer 4)):::peer\n F5((Peer 5)):::peer\n\n F1 <--\x3e F3\n F1 <--\x3e F4\n F3 <--\x3e F4\n F3 <--\x3e F5\n F4 <--\x3e F5\n\n %% Show failed node\n F2 -.- F1\n F2 -.- F3\n end\n\n %% Styling\n classDef peer fill:none,stroke:#4A90FF,stroke-width:2px,color:white\n classDef origin fill:none,stroke:#4A90FF,stroke-width:3px,color:white\n classDef inactive fill:none,stroke:#4A90FF,stroke-width:2px,color:#FFFFFF\n classDef failed fill:none,stroke:#4A90FF,stroke-width:2px,color:white\n\n %% Legend\n subgraph Legend[" "]\n direction TB\n LP((Peer Node)):::peer\n LO((Message Origin)):::origin\n LF((Failed Node)):::failed\n\n LP -.->|"1. Epidemic spreading"| LP\n LP -.->|"2. No central authority"| LP\n LP -.->|"3. Fault tolerant"| LF\n end\n'}),"\n",(0,t.jsx)(n.h2,{id:"key-concepts",children:"Key Concepts"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsxs)(n.em,{children:["Documentation to be added - see ",(0,t.jsx)(n.a,{href:"/docs/modular-markets/fundamentals/",children:"CGT Fundamentals"})," for theoretical background."]})}),"\n",(0,t.jsx)(n.h2,{id:"related-topics",children:"Related Topics"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"/docs/modular-markets/fundamentals/",children:"CGT Fundamentals"})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"/docs/modular-markets/patterns/",children:"Game Patterns"})}),"\n"]})]})}function c(e={}){const{wrapper:n}={...(0,s.R)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(p,{...e})}):p(e)}}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.