jupyter_protocol::messaging

Struct JupyterMessage

Source
pub struct JupyterMessage {
    pub zmq_identities: Vec<Bytes>,
    pub header: Header,
    pub parent_header: Option<Header>,
    pub metadata: Value,
    pub content: JupyterMessageContent,
    pub buffers: Vec<Bytes>,
    pub channel: Option<Channel>,
}
Expand description

A message in the Jupyter protocol format.

A Jupyter message consists of several parts:

  • zmq_identities: ZeroMQ identities used for routing (not serialized)
  • header: Metadata about the message
  • parent_header: Header from parent message, if this is a response
  • metadata: Additional metadata as JSON
  • content: The main message content
  • buffers: Binary buffers for messages that need them (not serialized)
  • channel: The communication channel this message belongs to

§Example

use jupyter_protocol::messaging::{JupyterMessage, JupyterMessageContent, ExecuteRequest};

// Create a new execute_request message
let msg = JupyterMessage::new(
    ExecuteRequest {
        code: "print('Hello')".to_string(),
        silent: false,
        store_history: true,
        user_expressions: Default::default(),
        allow_stdin: true,
        stop_on_error: false,
    },
    None,
);

Messages can be created as responses to other messages by passing the parent:

let reply = JupyterMessage::new(
    ExecuteReply {
        status: ReplyStatus::Ok,
        execution_count: jupyter_protocol::ExecutionCount::new(1),
        ..Default::default()
    },
    Some(&parent),
);

Fields§

§zmq_identities: Vec<Bytes>§header: Header§parent_header: Option<Header>§metadata: Value§content: JupyterMessageContent§buffers: Vec<Bytes>§channel: Option<Channel>

Implementations§

Source§

impl JupyterMessage

Source

pub fn new( content: impl Into<JupyterMessageContent>, parent: Option<&JupyterMessage>, ) -> JupyterMessage

Source

pub fn with_metadata(self, metadata: Value) -> Self

Source

pub fn with_buffers(self, buffers: Vec<Bytes>) -> Self

Source

pub fn with_parent(self, parent: &JupyterMessage) -> Self

Source

pub fn with_zmq_identities(self, zmq_identities: Vec<Bytes>) -> Self

Source

pub fn with_session(self, session: &str) -> Self

Source

pub fn message_type(&self) -> &str

Source

pub fn from_value(message: Value) -> Result<JupyterMessage, Error>

Trait Implementations§

Source§

impl Clone for JupyterMessage

Source§

fn clone(&self) -> JupyterMessage

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for JupyterMessage

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<'de> Deserialize<'de> for JupyterMessage

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl From<ClearOutput> for JupyterMessage

1.0.0 · Source§

fn from(value: T) -> Self

Converts to this type from the input type.
Source§

impl From<CommClose> for JupyterMessage

1.0.0 · Source§

fn from(value: T) -> Self

Converts to this type from the input type.
Source§

impl From<CommInfoReply> for JupyterMessage

1.0.0 · Source§

fn from(value: T) -> Self

Converts to this type from the input type.
Source§

impl From<CommInfoRequest> for JupyterMessage

1.0.0 · Source§

fn from(value: T) -> Self

Converts to this type from the input type.
Source§

impl From<CommMsg> for JupyterMessage

1.0.0 · Source§

fn from(value: T) -> Self

Converts to this type from the input type.
Source§

impl From<CommOpen> for JupyterMessage

1.0.0 · Source§

fn from(value: T) -> Self

Converts to this type from the input type.
Source§

impl From<CompleteReply> for JupyterMessage

1.0.0 · Source§

fn from(value: T) -> Self

Converts to this type from the input type.
Source§

impl From<CompleteRequest> for JupyterMessage

1.0.0 · Source§

fn from(value: T) -> Self

Converts to this type from the input type.
Source§

impl From<DebugReply> for JupyterMessage

1.0.0 · Source§

fn from(value: T) -> Self

Converts to this type from the input type.
Source§

impl From<DebugRequest> for JupyterMessage

1.0.0 · Source§

fn from(value: T) -> Self

Converts to this type from the input type.
Source§

impl From<DisplayData> for JupyterMessage

1.0.0 · Source§

fn from(value: T) -> Self

Converts to this type from the input type.
Source§

impl From<ErrorOutput> for JupyterMessage

1.0.0 · Source§

fn from(value: T) -> Self

Converts to this type from the input type.
Source§

impl From<ExecuteInput> for JupyterMessage

1.0.0 · Source§

fn from(value: T) -> Self

Converts to this type from the input type.
Source§

impl From<ExecuteReply> for JupyterMessage

1.0.0 · Source§

fn from(value: T) -> Self

Converts to this type from the input type.
Source§

impl From<ExecuteRequest> for JupyterMessage

1.0.0 · Source§

fn from(value: T) -> Self

Converts to this type from the input type.
Source§

impl From<ExecuteResult> for JupyterMessage

1.0.0 · Source§

fn from(value: T) -> Self

Converts to this type from the input type.
Source§

impl From<HistoryReply> for JupyterMessage

1.0.0 · Source§

fn from(value: T) -> Self

Converts to this type from the input type.
Source§

impl From<HistoryRequest> for JupyterMessage

1.0.0 · Source§

fn from(value: T) -> Self

Converts to this type from the input type.
Source§

impl From<InputReply> for JupyterMessage

1.0.0 · Source§

fn from(value: T) -> Self

Converts to this type from the input type.
Source§

impl From<InputRequest> for JupyterMessage

1.0.0 · Source§

fn from(value: T) -> Self

Converts to this type from the input type.
Source§

impl From<InspectReply> for JupyterMessage

1.0.0 · Source§

fn from(value: T) -> Self

Converts to this type from the input type.
Source§

impl From<InspectRequest> for JupyterMessage

1.0.0 · Source§

fn from(value: T) -> Self

Converts to this type from the input type.
Source§

impl From<InterruptReply> for JupyterMessage

1.0.0 · Source§

fn from(value: T) -> Self

Converts to this type from the input type.
Source§

impl From<InterruptRequest> for JupyterMessage

1.0.0 · Source§

fn from(value: T) -> Self

Converts to this type from the input type.
Source§

impl From<IsCompleteReply> for JupyterMessage

1.0.0 · Source§

fn from(value: T) -> Self

Converts to this type from the input type.
Source§

impl From<IsCompleteRequest> for JupyterMessage

1.0.0 · Source§

fn from(value: T) -> Self

Converts to this type from the input type.
Source§

impl From<JupyterMessageContent> for JupyterMessage

Source§

fn from(content: JupyterMessageContent) -> Self

Converts to this type from the input type.
Source§

impl From<KernelInfoReply> for JupyterMessage

Source§

fn from(content: KernelInfoReply) -> Self

Converts to this type from the input type.
Source§

impl From<KernelInfoRequest> for JupyterMessage

1.0.0 · Source§

fn from(value: T) -> Self

Converts to this type from the input type.
Source§

impl From<ShutdownReply> for JupyterMessage

1.0.0 · Source§

fn from(value: T) -> Self

Converts to this type from the input type.
Source§

impl From<ShutdownRequest> for JupyterMessage

1.0.0 · Source§

fn from(value: T) -> Self

Converts to this type from the input type.
Source§

impl From<Status> for JupyterMessage

1.0.0 · Source§

fn from(value: T) -> Self

Converts to this type from the input type.
Source§

impl From<StreamContent> for JupyterMessage

1.0.0 · Source§

fn from(value: T) -> Self

Converts to this type from the input type.
Source§

impl From<UnknownMessage> for JupyterMessage

1.0.0 · Source§

fn from(value: T) -> Self

Converts to this type from the input type.
Source§

impl From<UpdateDisplayData> for JupyterMessage

1.0.0 · Source§

fn from(value: T) -> Self

Converts to this type from the input type.
Source§

impl Serialize for JupyterMessage

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dst: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,