public
Description: Io programming language
Homepage: http://iolanguage.com
Clone URL: git://github.com/stevedekorte/io.git
commit  84a74e59ca9362a8a84ef4e7d344998563d605da
tree    12ec2af4db12da09e5336e3ef81ea67b5ab30be2
parent  87a4c24be8f17684772ab9958515a8093abe6318
io / addons / Obsidian / docs / protocol.txt
100644 54 lines (41 sloc) 1.18 kb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
-- internal -----------------------------------
 
begin
commit
 
obj.s.key = type pointer, number, sequence
obj.m.key = value
obj.i.key = value
 
get [obj.x.key]
set [obj.x.key] value
append [obj.x.key] value
size [obj.x.key]
 
cursor
setPrefix [obj.x]
first
last
jump [key]
key
value
remove
 
--- messages -----------------------------------
 
id obj x set slot/value pairs -> id
id obj x get slots -> id values
id obj x increment slots -> id values
id obj x remove slots -> id
id obj x removeAllSlots -> id
 
id obj x first count -> id slot/value pairs hasMore
id obj x last count -> id slot/value pairs hasMore
id obj x after slot count -> id slot/value pairs hasMore
id obj x before slot count -> id slot/value pairs hasMore
 
id obj x detect expression -> slot
id obj x reduce expression -> value
id obj x select expression -> slots
id obj x selectInPlace expression -> id
id obj x mapInPlace expression -> id
id obj x send obj.x message args
 
control:
id count obj -> count
id collect
id removeObj obj -> id PRIVATE?
 
-----------------------------------------------
get list of servers
when doing a lookup, map hash(objId) to nearest hash(serverId)