aboutsummaryrefslogtreecommitdiff
path: root/shard/lib/net/group.ex
diff options
context:
space:
mode:
Diffstat (limited to 'shard/lib/net/group.ex')
-rw-r--r--shard/lib/net/group.ex12
1 files changed, 12 insertions, 0 deletions
diff --git a/shard/lib/net/group.ex b/shard/lib/net/group.ex
index a5f0867..f3d5962 100644
--- a/shard/lib/net/group.ex
+++ b/shard/lib/net/group.ex
@@ -25,11 +25,17 @@ defprotocol SNet.Group do
@doc"""
Check if a peer is allowed to participate in this group.
+ The `auth` parameter is `nil` or a `SNet.Auth` struct.
"""
def in_group?(group, conn_pid, auth)
end
defmodule SNet.PubShardGroup do
+ @moduledoc"""
+ A network group defined as all the people interested in a given shard.
+
+ %SNet.PubShardGroup{id: shard_id}
+ """
defstruct [:id]
defimpl SNet.Group do
@@ -85,6 +91,12 @@ defmodule SNet.PubShardGroup do
end
defmodule SNet.PrivGroup do
+ @moduledoc"""
+ A private networking group defined by the list of public keys of people allowed to
+ participate.
+
+ %SNet.PrivGroup{pk_list: [pk1, pk2, ...]}
+ """
defstruct [:pk_list]
defimpl SNet.Group do