Nathaniel Nicandro
f599ea7486
Some re-organization of code
2017-12-15 22:33:56 -06:00
Nathaniel Nicandro
1f3e9fad67
Don't type check in private functions
2017-12-15 22:33:18 -06:00
Nathaniel Nicandro
ac8322cb97
More documentation on variables
2017-12-15 22:29:05 -06:00
Nathaniel Nicandro
ede2dacdd4
Convenience functions for handling messages
2017-12-15 22:28:45 -06:00
Nathaniel Nicandro
72095237f8
Remove callbacks from callback table when status is idle
...
The jupyter v5.0 protocol specifies that for every request that is handled, a status: idle message will be sent when the request is complete. When receiving this idle message is when callbacks are removed from the table.
2017-12-15 22:26:21 -06:00
Nathaniel Nicandro
98875e2ba4
jupyter--process-message
-> jupyter--handle-message
...
Also more documentation for what it means to handle a message.
2017-12-15 22:24:00 -06:00
Nathaniel Nicandro
0e550f8ceb
Code re-organization
2017-12-15 18:21:54 -06:00
Nathaniel Nicandro
903133b7f8
Rename jupyter--ioloop-callback
to jupyter--queue-message
2017-12-15 18:19:45 -06:00
Nathaniel Nicandro
d35029ac35
Generalize waiting for message replies
2017-12-15 18:18:41 -06:00
Nathaniel Nicandro
ad53e098f6
Move jupyter--received-message-types
to jupyter-messages.el
...
Also fix naming issue, previously `recieved` when it should have been `received`.
2017-12-15 18:16:53 -06:00
Nathaniel Nicandro
b4f0c94906
Also start the control channel
2017-12-15 18:14:43 -06:00
Nathaniel Nicandro
70712b9229
More documentation
2017-12-15 18:14:28 -06:00
Nathaniel Nicandro
1146c1b6c4
Don't do type checking for internal functions
2017-12-15 18:12:26 -06:00
Nathaniel Nicandro
d2654de9f6
Use the random state that is already present for generating UUID's
...
`cl-make-random-state` only creates a random state based on time with seconds
resolution.
2017-12-14 16:14:12 -06:00
Nathaniel Nicandro
8f949059b7
Remove debugging code
2017-12-14 14:14:00 -06:00
Nathaniel Nicandro
7eeef3f6c0
Better commentary
2017-12-14 14:11:42 -06:00
Nathaniel Nicandro
973024906c
jupyter-send-*
-> jupyter-request-*
...
I think it makes more sense to prefix with `request` instead of send`. Since
`jupyter-send-execute` seems ambiguous unless you say something like
`jupyter-send-execute-request`. But if you say `jupyter-request-execute` it has
essentially the same meaning as `jupyter-send-execute-request` with the extra
word. It also works better for functions like `jupyter-request-kernel-info` as
opposed to `jupyter-send-kernel-info` which seems to imply that you are sending
the kernel info.
2017-12-14 14:07:21 -06:00
Nathaniel Nicandro
ec43c2666c
Remove debugging statement
2017-12-14 14:05:01 -06:00
Nathaniel Nicandro
5bdd4592dc
Reply message dispatchers are private
2017-12-14 14:03:58 -06:00
Nathaniel Nicandro
3a3e742f8a
Silence byte compiler
2017-12-14 13:58:46 -06:00
Nathaniel Nicandro
fe13c02e42
Default message handlers don't do anything
2017-12-14 13:58:46 -06:00
Nathaniel Nicandro
e59086cad6
Also check control channel
2017-12-14 13:58:45 -06:00
Nathaniel Nicandro
aa6bb20f3a
Update commentary
2017-12-14 13:58:38 -06:00
Nathaniel Nicandro
8e7436962b
Fix function name
2017-12-14 13:58:18 -06:00
Nathaniel Nicandro
4e8cfb8bf6
Use lexical-let
only where its needed
2017-12-14 13:58:18 -06:00
Nathaniel Nicandro
9e422743ec
Add some protection against misspelled received message types when adding callbacks
2017-12-14 13:53:52 -06:00
Nathaniel Nicandro
5093759aa9
Handle all possible message types
...
- All messages sent are prefixed like `jupyter-send-*`. So that an
`execute_request` maps to `jupyter-send-execute`.
- All received message handlers are prefixed with `jupyter-handle-*`. So that
an `execute_reply` message would be mapped to `jupyter-handle-execute`. Also
for IOPub messages, the handlers are also prefixed with
`jupyter-handle-<iopub message type>` so that a `stream` message would map to
`jupyter-handle-stream`.
2017-12-14 13:53:52 -06:00
Nathaniel Nicandro
78fca10b67
Handle control messages
2017-12-14 13:53:52 -06:00
Nathaniel Nicandro
725648e10d
All messages sent use keys
...
Also use a variable `jupyter--false` instead of `:json-false` for possibly
supporting other encodings in the future.
2017-12-14 13:53:52 -06:00
Nathaniel Nicandro
bab7305cc8
Mark functions as private
2017-12-14 13:53:48 -06:00
Nathaniel Nicandro
05f3fd0032
Don't query when killing kernels created in jupyter-kernel-client-using-kernel
2017-12-14 13:23:40 -06:00
Nathaniel Nicandro
c3ce229961
Correctly append to callback list
2017-12-14 13:23:04 -06:00
Nathaniel Nicandro
731e5387b4
Add tests for message callbacks
2017-12-14 13:21:55 -06:00
Nathaniel Nicandro
76cf1c5eb7
Semi working prototype
2017-12-13 11:27:13 -06:00