Show More
@@ -450,71 +450,6 b" When status is 'error', the following extra fields are present::" | |||
|
450 | 450 | When status is 'abort', there are for now no additional data fields. This |
|
451 | 451 | happens when the kernel was interrupted by a signal. |
|
452 | 452 | |
|
453 | Kernel attribute access | |
|
454 | ----------------------- | |
|
455 | ||
|
456 | .. warning:: | |
|
457 | ||
|
458 | This part of the messaging spec is not actually implemented in the kernel | |
|
459 | yet. | |
|
460 | ||
|
461 | While this protocol does not specify full RPC access to arbitrary methods of | |
|
462 | the kernel object, the kernel does allow read (and in some cases write) access | |
|
463 | to certain attributes. | |
|
464 | ||
|
465 | The policy for which attributes can be read is: any attribute of the kernel, or | |
|
466 | its sub-objects, that belongs to a :class:`Configurable` object and has been | |
|
467 | declared at the class-level with Traits validation, is in principle accessible | |
|
468 | as long as its name does not begin with a leading underscore. The attribute | |
|
469 | itself will have metadata indicating whether it allows remote read and/or write | |
|
470 | access. The message spec follows for attribute read and write requests. | |
|
471 | ||
|
472 | Message type: ``getattr_request``:: | |
|
473 | ||
|
474 | content = { | |
|
475 | # The (possibly dotted) name of the attribute | |
|
476 | 'name' : str, | |
|
477 | } | |
|
478 | ||
|
479 | When a ``getattr_request`` fails, there are two possible error types: | |
|
480 | ||
|
481 | - AttributeError: this type of error was raised when trying to access the | |
|
482 | given name by the kernel itself. This means that the attribute likely | |
|
483 | doesn't exist. | |
|
484 | ||
|
485 | - AccessError: the attribute exists but its value is not readable remotely. | |
|
486 | ||
|
487 | ||
|
488 | Message type: ``getattr_reply``:: | |
|
489 | ||
|
490 | content = { | |
|
491 | # One of ['ok', 'AttributeError', 'AccessError']. | |
|
492 | 'status' : str, | |
|
493 | # If status is 'ok', a JSON object. | |
|
494 | 'value' : object, | |
|
495 | } | |
|
496 | ||
|
497 | Message type: ``setattr_request``:: | |
|
498 | ||
|
499 | content = { | |
|
500 | # The (possibly dotted) name of the attribute | |
|
501 | 'name' : str, | |
|
502 | ||
|
503 | # A JSON-encoded object, that will be validated by the Traits | |
|
504 | # information in the kernel | |
|
505 | 'value' : object, | |
|
506 | } | |
|
507 | ||
|
508 | When a ``setattr_request`` fails, there are also two possible error types with | |
|
509 | similar meanings as those of the ``getattr_request`` case, but for writing. | |
|
510 | ||
|
511 | Message type: ``setattr_reply``:: | |
|
512 | ||
|
513 | content = { | |
|
514 | # One of ['ok', 'AttributeError', 'AccessError']. | |
|
515 | 'status' : str, | |
|
516 | } | |
|
517 | ||
|
518 | 453 | |
|
519 | 454 |
|
|
520 | 455 | Object information |
@@ -1018,39 +953,6 b' Message type: ``status``::' | |||
|
1018 | 953 | execution_state : ('busy', 'idle', 'starting') |
|
1019 | 954 | } |
|
1020 | 955 | |
|
1021 | Kernel crashes | |
|
1022 | -------------- | |
|
1023 | ||
|
1024 | When the kernel has an unexpected exception, caught by the last-resort | |
|
1025 | sys.excepthook, we should broadcast the crash handler's output before exiting. | |
|
1026 | This will allow clients to notice that a kernel died, inform the user and | |
|
1027 | propose further actions. | |
|
1028 | ||
|
1029 | Message type: ``crash``:: | |
|
1030 | ||
|
1031 | content = { | |
|
1032 | # Similarly to the 'error' case for execute_reply messages, this will | |
|
1033 | # contain ename, evalue and traceback fields. | |
|
1034 | ||
|
1035 | # An additional field with supplementary information such as where to | |
|
1036 | # send the crash message | |
|
1037 | 'info' : str, | |
|
1038 | } | |
|
1039 | ||
|
1040 | ||
|
1041 | Future ideas | |
|
1042 | ------------ | |
|
1043 | ||
|
1044 | Other potential message types, currently unimplemented, listed below as ideas. | |
|
1045 | ||
|
1046 | Message type: ``file``:: | |
|
1047 | ||
|
1048 | content = { | |
|
1049 | 'path' : 'cool.jpg', | |
|
1050 | 'mimetype' : str, | |
|
1051 | 'data' : str, | |
|
1052 | } | |
|
1053 | ||
|
1054 | 956 | |
|
1055 | 957 | Messages on the stdin ROUTER/DEALER sockets |
|
1056 | 958 | =========================================== |
General Comments 0
You need to be logged in to leave comments.
Login now