package ĠShared Data Ċ Ċ import ĠBridge Node Ċ import ĠMessage Dispatcher Ċ import ĠMeta Data Ċ import ĠRaw Message Ċ import ĠShared DataNode Ċ Ċ /** Ċ Ġ* Ġ@ author ĠD ream - Lab Ġsoftware Ġtechnologies Ġmu ht ar jan Ġm ah mood ( Ùħ Û ĩ Ø® Øª Û ķ Ø± Ø¬ Ø§ÙĨ ĠÙħ Û ķ Ø® Ùħ Û ĩ Øª ) Ċ Ġ* Ġ@ email Ġug - project @ outlook . com Ċ Ġ* Ġ@ create Ġdate Ġ 2 0 2 1 - 1 0 - 1 0 Ġ 0 0 : 0 2 : 0 1 Ċ Ġ* Ġ@ modify Ġdate Ġ 2 0 2 1 - 1 0 - 1 0 Ġ 0 0 : 0 2 : 0 1 Ċ Ġ* Ġ@ desc Ġ[ description ] Ċ Ġ*/ ĊĊ Ċ class ĠData Node A Ġ: ĠShared DataNode (" AppData ", ĠMeta Data ( uuid Ġ= Ġ" 4 2 4 f 6 4 a 4 - 2 9 2 b - 1 1 ec - ba ac - 4 3 b 4 c 3 8 8 7 f 3 5 ", Ġname Ġ= Ġ" Data Ġnode ĠA ", Ġauthor = Ġ" D ream Ġlab Ġsoftware Ġtechnologies ")) Ġ{ ĊĠ Ġoverride Ġfun Ġon Sync Completed () Ġ{ ĊĠĠĠ Ġ// Ġprint (" Sync Ġcompleted Ġin ĠA "); ĊĠ Ġ} Ċ } Ċ class ĠData Node B Ġ: ĠShared DataNode (" AppData ", ĠMeta Data ( uuid Ġ= Ġ" 6 4 7 8 add 8 - 2 9 2 b - 1 1 ec - 8 6 9 1 - 2 3 b 0 5 4 4 7 8 4 3 5 ", Ġname Ġ= Ġ" Data Ġnode ĠB ", Ġauthor = Ġ" D ream Ġlab Ġsoftware Ġtechnologies ")) Ġ{ ĊĠ Ġoverride Ġfun Ġon Sync Completed () Ġ{ ĊĠĠĠ Ġ// Ġprint (" Sync Ġcompleted Ġin ĠB "); ĊĠ Ġ} Ċ } Ċ class ĠData Node C Ġ: ĠShared DataNode (" AppData ", ĠMeta Data ( uuid Ġ= Ġ" 6 4 be ba 0 8 - 2 9 2 b - 1 1 ec - 8 baf - 4 7 4 e 0 2 7 2 e 1 dc ", Ġname Ġ= Ġ" Data Ġnode ĠC ", Ġauthor = Ġ" D ream Ġlab Ġsoftware Ġtechnologies ")) Ġ{ ĊĠ Ġoverride Ġfun Ġon Sync Completed () Ġ{ ĊĠĠĠ Ġ// Ġprint (" Sync Ġcompleted Ġin ĠC "); ĊĠ Ġ} Ċ } Ċ Ċ class ĠData Node D Ġ: ĠShared DataNode (" AppData ", ĠMeta Data ( uuid Ġ= Ġ" a 7 1 2 7 7 3 e - 2 9 2 e - 1 1 ec - 8 8 d 4 - d 7 8 9 ed cc 9 2 6 6 ", Ġname Ġ= Ġ" Data Ġnode ĠD ", Ġauthor = Ġ" D ream Ġlab Ġsoftware Ġtechnologies ")) Ġ{ ĊĠ Ġoverride Ġfun Ġon Sync Completed () Ġ{ ĊĠĠĠ Ġ// Ġprint (" Sync Ġcompleted Ġin ĠD "); ĊĠ Ġ} Ċ } Ċ Ċ class Ġ_ Test Message Dispatcher A Ġ: ĠMessage Dispatcher ( MetaData ( uuid Ġ= Ġ" ef 7 b 4 6 a 4 - 2 a 9 6 - 1 1 ec - a 8 7 8 - 7 b 0 bb 0 c 8 fa aa ", Ġname Ġ= Ġ" Message Ġdispatcher ĠA ", Ġauthor = Ġ" D ream Ġlab Ġsoftware Ġtechnologies ")) Ċ class Ġ_ Test Message Dispatcher B Ġ: ĠMessage Dispatcher ( MetaData ( uuid Ġ= Ġ" f 5 1 ef 3 f 8 - 2 a 9 6 - 1 1 ec - 8 1 d 0 - 5 7 3 4 c 7 a 6 3 8 ed ", Ġname Ġ= Ġ" Message Ġdispatcher ĠB ", Ġauthor = Ġ" D ream Ġlab Ġsoftware Ġtechnologies ")) Ċ class Ġ_ Test Message Dispatcher C Ġ: ĠMessage Dispatcher ( MetaData ( uuid Ġ= Ġ" 0 0 5 d 8 c 5 2 - 2 b 3 2 - 1 1 ec - b 4 1 5 - 1 7 2 4 1 0 7 5 7 2 ce ", Ġname Ġ= Ġ" Message Ġdispatcher ĠC ", Ġauthor = Ġ" D ream Ġlab Ġsoftware Ġtechnologies ")) Ċ class Ġ_ Bridge A Ġ: ĠBridge Node ( MetaData ( uuid Ġ= Ġ" 0 2 3 7 fed 6 - 2 a 9 7 - 1 1 ec - 9 8 ca - 5 f 1 8 f 9 2 6 8 3 7 3 ", Ġname Ġ= Ġ" Bridge ĠA ", Ġauthor Ġ= Ġ" D ream - Lab Ġsoftware Ġtechnologies ")) Ġ{ ĊĠ Ġvar Ġb : Ġ_ Bridge B ? Ġ= Ġnull ; ĊĠ Ġoverride Ġfun Ġhandle ( message : ĠRaw Message ) Ġ{ ĊĠĠĠ Ġif Ġ( message . sender !!. uuid Ġ== Ġthis . metaData . uuid ) Ġreturn ; ĊĠĠĠ Ġb ?. dispatch ( message Ġ= Ġmessage ) ĊĠ Ġ} Ċ } Ċ class Ġ_ Bridge B Ġ: ĠBridge Node ( MetaData ( uuid Ġ= Ġ" 3 0 4 6 6 6 9 6 - 2 a 9 2 - 1 1 ec - a 5 cf - 0 b 9 3 2 ee 2 9 b 7 7 ", Ġname Ġ= Ġ" Bridge ĠB ", Ġauthor Ġ= Ġ" D ream - Lab Ġsoftware Ġtechnologies ")) Ġ{ ĊĠ Ġvar Ġa : Ġ_ Bridge A ? Ġ= Ġnull ; ĊĠ Ġoverride Ġfun Ġhandle ( message : ĠRaw Message ) Ġ{ ĊĠĠĠ Ġif Ġ( message . sender !!. uuid Ġ== Ġthis . metaData . uuid ) Ġreturn ; ĊĠĠĠ Ġa ?. dispatch ( message Ġ= Ġmessage ) ĊĠ Ġ} Ċ } Ċ class Ġ_ Bridge C Ġ: ĠBridge Node ( MetaData ( uuid Ġ= Ġ" fc 1 6 7 a 7 a - 2 b 2 5 - 1 1 ec - b 3 0 e - a 7 0 3 3 bf 5 3 0 9 5 ", Ġname Ġ= Ġ" Bridge ĠC ", Ġauthor Ġ= Ġ" D ream - Lab Ġsoftware Ġtechnologies ")) Ġ{ ĊĠ Ġvar Ġd : Ġ_ Bridge D ? Ġ= Ġnull ; ĊĠ Ġoverride Ġfun Ġhandle ( message : ĠRaw Message ) Ġ{ ĊĠĠĠ Ġif Ġ( message . sender !!. uuid Ġ== Ġthis . metaData . uuid ) Ġreturn ; ĊĠĠĠ Ġd ?. dispatch ( message Ġ= Ġmessage ) ĊĠ Ġ} Ċ } Ċ class Ġ_ Bridge D Ġ: ĠBridge Node ( MetaData ( uuid Ġ= Ġ" a 7 3 a 2 d 0 a - 2 b 3 2 - 1 1 ec - b 7 ae - cbe 3 6 6 c 6 0 3 d 6 ", Ġname Ġ= Ġ" Bridge ĠD ", Ġauthor Ġ= Ġ" D ream - Lab Ġsoftware Ġtechnologies ")) Ġ{ ĊĠ Ġvar Ġc : Ġ_ Bridge C ? Ġ= Ġnull ; ĊĊĠ Ġoverride Ġfun Ġhandle ( message : ĠRaw Message ) Ġ{ ĊĠĠĠ Ġif Ġ( message . sender !!. uuid Ġ== Ġthis . metaData . uuid ) Ġreturn ; ĊĠĠĠ Ġc ?. dispatch ( message Ġ= Ġmessage ) ĊĠ Ġ} Ċ } ĊĊ