##// END OF EJS Templates
Added files from our zmq prototype into main ipython tree....
Added files from our zmq prototype into main ipython tree. Currently added unmodified.

File last commit:

r2597:6b2ea5aa
r2597:6b2ea5aa
Show More
messaging.rst
97 lines | 1.5 KiB | text/x-rst | RstLexer
Fernando Perez
Added files from our zmq prototype into main ipython tree....
r2597 =====================
Message Specification
=====================
Note: not all of these have yet been fully fleshed out, but the key ones are,
see kernel and frontend files for actual implementation details.
General Message Format
=====================
General message format::
{
header : { 'msg_id' : 10, # start with 0
'username' : 'name',
'session' : uuid
},
parent_header : dict,
msg_type : 'string_message_type',
content : blackbox_dict , # Must be a dict
}
Side effect: (PUB/SUB)
======================
# msg_type = 'stream'
content = {
name : 'stdout',
data : 'blob',
}
# msg_type = 'pyin'
content = {
code = 'x=1',
}
# msg_type = 'pyout'
content = {
data = 'repr(obj)',
prompt_number = 10
}
# msg_type = 'pyerr'
content = {
traceback : 'full traceback',
exc_type : 'TypeError',
exc_value : 'msg'
}
# msg_type = 'file'
content = {
path = 'cool.jpg',
data : 'blob'
}
Request/Reply
=============
Execute
-------
Request:
# msg_type = 'execute_request'
content = {
code : 'a = 10',
}
Reply:
# msg_type = 'execute_reply'
content = {
'status' : 'ok' OR 'error' OR 'abort'
# data depends on status value
}
Complete
--------
# msg_type = 'complete_request'
content = {
text : 'a.f', # complete on this
line : 'print a.f' # full line
}
# msg_type = 'complete_reply'
content = {
matches : ['a.foo', 'a.bar']
}
Control
-------
# msg_type = 'heartbeat'
content = {
}