Giter VIP home page Giter VIP logo

kids_domaci_2's Introduction

Kids_domaci_2

CAUSALNO SLANJE posalje se poruka (transaction npr) -> uhvati je SimpleServetnListener i posalje CausalBrodcastHandler-u CausalBrodcastHandler stavi poruku na u CausalBrodcastShared pending i onda ih checkuje Checkovanje pending poruka je da se prodju kroz poruke i u odnosu na VectorClock i tip poruke se posalje potrebnom Handleru

CLI-PARSER ucita comandu sa inputa Aktivira komandu -> ona se da DELAYED-MESSAGE-SENDERU da posalje poruku usput on aktivira messageSentEffect (npr transakcija uradi add/take cakebits)

COMMANDS:{ TRANSACTION -> { TransactinBurstCommand: -zapise da je trans poslata u CausalBrodcastShared -izvrsi send effect (take bitcakes) -inceremntuje clock -posalje se susedima } INFO -> { ispise stanje bitcake-ova i stanje vecto clock-a } BITCAKE-INFO -> { -start collecting info od suseda -pokrene snapshot workera i u zavisnosti od AB ili AV pokrene razlicite algoritme

	:AB: (handleri objasnjeni u causalBrodcastShared)
	-posalje svim susedima ASK-MESSAGE 
	-napravi rezultat za sebe i sacuva ga (increment clock)
	-ceka da svi susedi odtovore sa TELL-MESSAGE i da se sacuvaju poruke u mapu
	-kada se sacuvaju sve isprintaj rez
	
	:AV:
}

}

SERVENT-LISTENER uhvati poruku (od delayedMsgSendera) i posalje je CausalBroadcastHandler

CAUSAL-MSG-HANDLER (posto causal) stavi message na pending i pokrene CHECK-PENDING funkciju zatim rebrodcastuje serventovim (koji je upravo primio msg) susedima message

CAUSAL-BRODCAST-SHARED / CHECK-PENDING:{ u zavisnosti koja je posruka radi razlicite stvari -incrementuje vector clock svaki put

TRANSACTION -> {
	-poziva TRANSACTION-HANDLER koji parsira kolicinu i i doda bitcakes na svoj racun
}
AB-ASK-MSG -> {
	-posalje se poruka AbAshHandleru
	-Handler napravi TELL-MESSAGE
	-incrementuje vector clock
	-posalje susedima tellMessage
}
AB-TELL-MSG -> {
	-prosledi se AbTellHandleru
	-on napravi SnapshotResult i sacuva ga u mapu trenutnih snapshot-ova
}

}

AV tok programa

  1. koristi se drugacije znimanje transakcija za give i get

  2. u collector workeru podesi kanale za get i give na 0 svima posalji ask message (token) increment clock

  3. kada svi prime ask msg (token) svim svojim kanalima za get i ask stavi 0 setuj svoj trenutnu bitcake kolicinu svim susedima poslao DONE message increment clock

  4. primi se DONE message prosledi se done handleru, on sacuva poruku u DONE LISTU/MAPU u shared, (clear-ujemo je na kraju printa)

  5. collector worker ceka da se doneList.size bude isti kao cervent count kada jeste salje svima TERMINATE message i sebi stavi na pending msgs i check pending msgs

kids_domaci_2's People

Contributors

theshus avatar

Stargazers

 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.