Group: GNU Social P2P/Design/End2End
End to End Examples
Values in curly braces are JSON encoded and encrypted.
Send Message
put("/mail/message/$id", { sender: $sender, recipients: $recipients, headers: $headers, body: $body, signature: $signature } )
put("/mail/sent/$seq", { id: $id })
for each recipient:
set_control_key("/mail/message/$id", "/friend/$friend_id") send($friend, "/mail/message/$id")
Receive Message
The following fires when a send is received on the remote side:
on_receive("/mounts/mail/$friend_id/mail/message/$id"):
stick a pointer in the local inbox:
$value = get($key)
put("/mail/inbox/$seq", { key: $key})
and notify user.
Add Blog Post
put("/blog/body/$id", { content: $content } )
put("/blog/blog/$blog_id/post/$seq", { author: $author, meta: $meta, body_id: $id, blog_id: $blog_id, } )
set_control_key(..., "/tag/work")
for each friend that is able to read /tag/work:
send($friend, "/blog/$blog_id/post/$seq")