Skip to content

Instantly share code, notes, and snippets.

@boorad
Created August 10, 2009 16:27
Show Gist options
  • Save boorad/165272 to your computer and use it in GitHub Desktop.
Save boorad/165272 to your computer and use it in GitHub Desktop.
all_nodes_parts(AndPartners) ->
{ok, PMap} = partitions(),
all_nodes_parts(PMap, AndPartners).
all_nodes_parts(PMap, AndPartners) ->
NodeParts2 =
case AndPartners of
true ->
{Nodes, _Parts} = lists:unzip(PMap),
lists:flatmap(
fun({Node,Part}) ->
Partners = replication:partners(Node, lists:usort(Nodes)),
lists:map(fun(Partner) -> {Partner, Part} end, [Node|Partners])
end, PMap);
_ ->
PMap
end,
%% sort not necessary 'cept for debugging purty-ness
lists:keysort(2,NodeParts2).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment