Contents |
The Peer Data Structures
not to be confused with P2P.
net/storage Profile etc
The Peer Data Structure
- _p Mapping: Subscribers / People & Rooms
- Integers (formerly known as ppl)
- display
- System Channels = Friendship Flags = Offered/In Pending/Out (currently implemented as notify).
- _degree_expose / Friendivity
- _degree_trust
- ( _degree_coolness ... probably redundant: too similar to expose )
- ( _degree_loveliness ... not trust ... more like.. sexiness ... crush factor ;) )
- Flag-Set: Channel Numbers / People Groups
- Nickspace / Aliases / Masquerade
- Presence
- Custom Data - client- or application-specific extra data per user
- Integers (formerly known as ppl)
_p[ uniform ] = ({ pplflags, presence, alias, channelset, custom });
... or is the presence going to get stored in the context slaves of the people? we're going to have context slaves per channel anyway.
The History
- _log Array: History / Lastlog
Access via PSYC
Currently you can obtain a dump of the data structures in either a PSYCish or JSON format, using either a _request_do_list_peers or _request_do_list_peers_JSON method as explained on Command.
The result of a _request_do_list_peers_JSON looks something like this. That means we have the JSON data in the body of the packet. The JSON output lacks the nicknames from your personal nickspace, but maybe your application doesn't need them. This is a very simple structure that doesn't contain trust, expose or other nifty settings.
. :_source psyc://localhost/~symlynx :_target psyc://localhost:-47986/ _list_acquaintance_JSON [ {"_contact":"xmpp:example@jabber.org","_level_notification":8}, {"_contact":"symlynx","_level_display":6}, {"_contact":"k","_level_notification":8}, {"_contact":"fippo","_level_notification":1}, {"_contact":"lynx","_level_notification":8}, {"_contact":"l","_level_notification":8} ] .
Here's how it looks like without JSON. It gets quite verbose as a message is generated for each peer, but this has the advantage of being mostly user readable using the psyctext template in the body.
. :_source psyc://localhost/~symlynx :_target psyc://localhost:-38178/ :_level_display - :_nick Example :_acquaintance xmpp:example@jabber.org :_level_notification 8 :_level_trust - :_level_expose - _list_acquaintance_each [_acquaintance] known as [_nick]: D[_level_display], N[_level_notification], T[_level_trust], E[_level_expose]. .
TODO: All the levels in here should be converted to degrees!