Skip to contents

An object of this class handles the low-level communication with the Jupyter frontend or kernel manager. There should only be one object of this class in existence.

Public fields

session

See RKernelSession.

repl

An RSessionAdapter for handling input and output

runner

An RSessionRunner

DAPServer

The current DAP server

Methods


Method new()

Initialize the kernel

Usage

Kernel$new(conn_info)

Arguments

conn_info

A list with the connection info from the front-end


Method start()

Usage

Kernel$start()


Method run_code()

Run some code (for testing purposes)

Usage

Kernel$run_code(code, debug = FALSE)

Arguments

code

Some code


Method run()

Run the kernel.

Usage

Kernel$run()


Method poll_and_respond()

A single iteration of the kernel loop

Usage

Kernel$poll_and_respond(
  poll_timeout = getOption("rkernel_poll_timeout", 10L),
  drop = NULL
)


Method clear_output()

Clear the current output cell in the frontend.

Usage

Kernel$clear_output(wait)

Arguments

wait

Logical value, whether to wait until output is cleared.


Method stream()

Stream text to the frontend.

Usage

Kernel$stream(text, stream)

Arguments

text

Text to be sent to the frontend

stream

A string to select the stream – either "stout" or "stderr"


Method stdout()

Stream text to the frontend via 'stdout' stream.

Usage

Kernel$stdout(text)

Arguments

text

Text to be sent to the frontend


Method stderr()

Stream text to the frontend via 'stderr' stream.

Usage

Kernel$stderr(text)

Arguments

text

Text to be sent to the frontend


Method readline()

Usage

Kernel$readline(prompt = "")


Method execute_result()

Send execution results to the frontend

Usage

Kernel$execute_result(data, metadata = emptyNamedList)

Arguments

data

Execution result in rich format

metadata

A list with metadata


Method display_send()

Send rich format data to the frontend

Usage

Kernel$display_send(msg)

Arguments

msg

A list with the appropriate structure. [TODO]


Method send_error()

Send an error message and traceback to the frontend.

Usage

Kernel$send_error(name, value, traceback)

Arguments

name

A string, the error name.

value

A string, the value of the error message.

traceback

A character vector with the traceback.


Method send_comm()

Send a message via a comm.

Usage

Kernel$send_comm(msg)

Arguments

msg

A list containing a comm message.


Method get_parent()

The parent of the message currently sent.

Usage

Kernel$get_parent(channel = "shell")

Arguments

channel

A string, the relevant input channel.


Method get_conn_info()

Return the current connection info.

Usage

Kernel$get_conn_info()


Method is_child()

Check if the current process is a fork from the original kernel process

Usage

Kernel$is_child()


Method input_request()

Send an input request to the frontend

Usage

Kernel$input_request(prompt = "", password = FALSE)

Arguments

prompt

A prompt string

password

Logical value; whether the input should be hidden like in a password dialog


Method read_stdin()

Read a line from the frontend

Usage

Kernel$read_stdin()


Method send_debug_event()

Send a debug event to the frontend

Usage

Kernel$send_debug_event(content)

Arguments

content

A list, content provided by the debug adapter


Method save_shell_parent()

Usage

Kernel$save_shell_parent()


Method restore_shell_parent()

Usage

Kernel$restore_shell_parent(saved_parent)


Method shutdown()

Usage

Kernel$shutdown()


Method restart()

Usage

Kernel$restart()


Method restore_execute_parent()

Usage

Kernel$restore_execute_parent()


Method handle_yield()

Usage

Kernel$handle_yield(timeout)


Method add_service()

Usage

Kernel$add_service(FUN)


Method clone()

The objects of this class are cloneable with this method.

Usage

Kernel$clone(deep = FALSE)

Arguments

deep

Whether to make a deep clone.