Skip to content

Instantly share code, notes, and snippets.

@rightfold
Last active September 2, 2015 08:31
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save rightfold/c5599b957513a9e01d61 to your computer and use it in GitHub Desktop.
Save rightfold/c5599b957513a9e01d61 to your computer and use it in GitHub Desktop.
events = GenEvent.stream(context[:event_manager], timeout: 20)
spawn(fn() ->
:timer.sleep(10)
:ok = :gen_tcp.send(context[:client], "message:hello:wor:ld")
end)
assert(Enum.fetch!(events, 0) == {"hello", "wor:ld"})
defmodule Handler do
use GenEvent
def handle_event(event, pid), do: (send(pid, event); {:ok, pid})
end
GenEvent.add_handler(context[:event_manager], Handler, self)
:ok = :gen_tcp.send(context[:client], "message:hello:wor:ld")
receive(
do: ({"hello", "wor:ld"} -> :ok),
after: (10 -> assert(false, "timeout"))
)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment