IVWZQHTNMCHF2LRPX3OT22XSTTDYGS2KLFCF4CZ37K2WNFLFLK6AC MO6R5CZ6GQ5V3NXXQSPBQ43KWRI3PZ67AFZXCUQVYUG6H4C5NWBQC ZHCP555BZTS3QK7H7KDXVTNOUGNCYCGEWCBE52QDSBPSVV53VGNQC FT4FTAPPRH5HVI3EO6T6BQC2EWHM3NWDT7P4XXT5KNUWHAYWEQKAC CEUY65RGF7W2FNSUILOMZPX7UPLUYF46WTV2KF44UR54A6JXOSJAC 2R3WFEOT3WWS6NFBBABSVRUNUPTXHFFMGPZZQOCPLTD2WB3U55HQC JMYRP5MUPSBHABHBPIO45F6RC7QSQSNO2EJDUDUIQXX3MEEFDOAQC QTLCENKPK4QOQJTHEAWAJYTJWVH7ZI5KQ2CQTMJRMA4TOMCHTVBAC J32TNYTRQJ3YTGFSI5FXW63R5ACT5SZQ6C4YSHLAZ4HXYAHAN7YQC C7DQVKR64FXYO37D72SNDMCJOM5PCZ3QW23MBFYNLRXFRNV2R4IAC JR3F3TQ3A7I2K5AWRK7SKAOZI5XE3ZGAS3VK4O7FKODUONQSY35QC NBMKIBO6UJKXCOXXVPPENLEBYI4YOU2VCHH5KIOUGH7WJG47N4PQC JVURIEXR72OUGZ2EHP5HB6OMXUNPHMAV66YUUP2444TPOG5XGASQC EDLKGFB5NWTZTHEO6IAR5M4W4533KJI4O6673MKJNTW3JPHQZP5AC 7KJ7NRWGHHFCJEZRRGEQ47CZDJ5YEZWTIIDNSLFGHKXITKBKUCRAC RD27IBBLP4BLBGJJ3GJHYQB2EDXTV33N7WODCYU2C2N6CUX2HAPAC 55WLMLEEVBRSTAFRZ5RGF7TOGUF5OPVCPA2TMHAQK45OUO7PA3YQC IHBNW3GI2XB6KAWUYRLL6KDOBUNUOU3N7RRLS6BFNW6SE7ZDHLWQC {ok, []} = peer:channels_joined(P),{ok, []} = peer:channels_known(P),peer:join(P, "default"),{ok, ["default"]} = peer:channels_joined(P),
{ok, []} = cabal:channels_joined(P),{ok, []} = cabal:channels_known(P),cabal:join(P, "default"),{ok, ["default"]} = cabal:channels_joined(P),
{ok, ["default"]} = peer:channels_known(P),ok = peer:leave(P, "default"),{ok, []} = peer:channels_joined(P),
{ok, ["default"]} = cabal:channels_known(P),ok = cabal:leave(P, "default"),{ok, []} = cabal:channels_joined(P),
peer:join(Alice, "announcements"),peer:join(Alice, "watercooler"),ok = peer:write(Alice, "announcements", "Important news!"),ok = peer:write(Alice, "watercooler", "How's everyone doing?"),
cabal:join(Alice, "announcements"),cabal:join(Alice, "watercooler"),ok = cabal:write(Alice, "announcements", "Important news!"),ok = cabal:write(Alice, "watercooler", "How's everyone doing?"),
%%{ok, PeerAddr} = peer:node_addr(Alfi),%%ok = peer:dial(Bert, PeerAddr),{ok, PeerAddr} = peer:node_addr(Bert),ok = peer:dial(Alfi, PeerAddr),
%%{ok, PeerAddr} = cabal:node_addr(Alfi),%%ok = cabal:dial(Bert, PeerAddr),{ok, PeerAddr} = cabal:node_addr(Bert),ok = cabal:dial(Alfi, PeerAddr),
peer:join(From, Chan),{ok, Addr} = peer:node_addr(To),{ok, synced} = peer:dial(From, Addr, #{await_sync => true, timeout => ?SYNC_TIMEOUT}).
cabal:join(From, Chan),{ok, Addr} = cabal:node_addr(To),{ok, synced} = cabal:dial(From, Addr, #{await_sync => true, timeout => ?SYNC_TIMEOUT}).
lists:foreach(fun(C) -> peer:join(Bob, C) end, Channels),{ok, Addr} = peer:node_addr(Alice),{ok, synced} = peer:dial(Bob, Addr, #{await_sync => true, timeout => 10000}),
lists:foreach(fun(C) -> cabal:join(Bob, C) end, Channels),{ok, Addr} = cabal:node_addr(Alice),{ok, synced} = cabal:dial(Bob, Addr, #{await_sync => true, timeout => 10000}),