##// END OF EJS Templates
Initial checkin of (not yet working) matplotlib payload backend and associated machinery.
Initial checkin of (not yet working) matplotlib payload backend and associated machinery.

File last commit:

r2599:aa4014be
r2756:35f39729
Show More
messaging.txt
106 lines | 1.6 KiB | text/plain | TextLexer
=====================
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 = {
# XXX - unfinished
}