Skip to content

Instantly share code, notes, and snippets.

@vasily-kirichenko
Last active July 28, 2017 19:27
Show Gist options
  • Save vasily-kirichenko/70e33d907d7bcccd3a8f51c95fb04fb7 to your computer and use it in GitHub Desktop.
Save vasily-kirichenko/70e33d907d7bcccd3a8f51c95fb04fb7 to your computer and use it in GitHub Desktop.
actor Ping
var _passes: U32
var _main: Main
new create(passes: U32, main: Main) =>
_passes = passes
_main = main
be ping(partner: Pong) =>
if (_passes > 0) then
partner.pong(this)
_passes = _passes - 1
else
_main.done()
end
actor Pong
be pong(partner: Ping) =>
partner.ping(this)
actor Main
var _env: Env
var _pass: U32 = 0
new create(env: Env) =>
_env = env
try
_pass = _env.args(1).u32()
else
_env.out.print("provide message count to pass")
end
let ping = Ping(_pass, this)
let pong' = Pong
ping.ping(pong')
be done() =>
_env.out.print("done.")
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment