Commit graph

1834 commits

Author SHA1 Message Date
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