##// END OF EJS Templates
Change get_source() api as per code review, to source_reset()....
Change get_source() api as per code review, to source_reset(). This now takes no flags, as a non-reset source access can be done simply on the .source attribute.

File last commit:

r2599:aa4014be
r2636:1491a320
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
}