The rpcq Reference Manual

Table of Contents

Next: , Previous: , Up: (dir)   [Contents][Index]

The rpcq Reference Manual

This is the rpcq Reference Manual, version 3.8.0, generated automatically by Declt version 3.0 "Montgomery Scott" on Mon Apr 19 17:39:39 2021 GMT+0.


Next: , Previous: , Up: Top   [Contents][Index]

1 Introduction

rpcq

pypi version conda-forge version docker pulls

The asynchronous RPC client-server framework and message specification for Rigetti Quantum Cloud Services (QCS).

Implements an efficient transport protocol by using ZeroMQ (ZMQ) sockets and MessagePack (msgpack) serialization.

Not intended to be a full-featured replacement for other frameworks like gRPC or Apache Thrift.

Python Installation

To install directly from the source, run pip install -e . from within the top-level directory of the rpcq repository. To additionally install the requirements for testing, make sure to run pip install -r requirements.txt.

To instead install the latest released verson of rpcq from the Python package manager PyPi, run pip install rpcq.

NOTE: We strongly encourage users of rpcq to install the software within a (Python) virtual environment (read up on virtualenv, pyenv, or conda for more info).

Lisp Installation

Installation is easier with QuickLisp. After placing the source for RPCQ within your local Lisp projects directory (cf. ql:*local-project-directories*), run (ql:quickload :rpcq) and QuickLisp will download the necessary Lisp dependencies.

In addition to the Lisp dependencies, RPCQ depends on ZeroMQ. Be sure to install both the library and its development headers (which are necessary for the Lisp foreign-function interface to get its bearings).

Using the Client-Server Framework

The following two code samples (first in Python, then in Lisp) demonstrate how to create a server, add a test handler, and spin it up.

from rpcq import Server

server = Server()

@server.rpc_handler
def test():
    return 'test'

server.run('tcp://*:5555')
(defun test ()
  "test")

(let ((dt (rpcq:make-dispatch-table)))
  (rpcq:dispatch-table-add-handler dt 'test)
  (rpcq:start-server :dispatch-table dt
                     :listen-addresses '("tcp://*:5555")))

In another window, we can (again first in Python, then in Lisp) create a client that points to the same socket, and call the test method.

from rpcq import Client

client = Client('tcp://localhost:5555')

client.call('test')
(rpcq:with-rpc-client (client "tcp://localhost:5555")
  (rpcq:rpc-call client "test"))

In all cases (including interoperating a client/server pair written in different languages), this will return the string 'test'.

Using the Message Spec

The message spec as defined in src/messages.lisp (which in turn produces rpcq/messages.py) is meant to be used with the Rigetti QCS platform. Therefore, these messages are used in pyquil, in order to allow users to communicate with the Rigetti Quil compiler and quantum processing units (QPUs). PyQuil provides utilities for users to interact with the QCS API and write programs in Quil, the quantum instruction language developed at Rigetti.

Thus, most users will not interact with rpcq.messages directly. However, for those interested in building their own implementation of the QCS API utilities in pyQuil, becoming acquainted with the client-server framework, the available messages in the message spec, and how they are used in the pyquil.api module would be a good place to start!

Updating the Python Message Bindings

Currently only Python bindings are available for the message spec, but more language bindings are in the works. To update the Python message bindings after editing src/messages.lisp, open rlwrap sbcl and run:

(ql:quickload :rpcq)
(with-open-file (f "rpcq/messages.py" :direction :output :if-exists :supersede)
  (rpcq:python-message-spec f))

NOTE: Requires pre-installed sbcl, quicklisp, and (optionally) rlwrap.

We can also use the rpcq docker container to update the message spec without to install the requirements.

./docker_update_python_spec.sh

Running the Unit Tests

The rpcq repository is configured with GitLab CI to automatically run the unit tests. The tests run within a container based off of the rigetti/lisp Docker image, which is pinned to a specific tag. If you need a more recent version of the image, update the tag in the .gitlab-ci.yml.

The Python unit tests can be executed locally by running pytest from the top-level directory of the repository (assuming you have installed the test requirements).

The Lisp unit tests can be run locally by doing the following from within rlwrap sbcl:

(ql:quickload :rpcq)
(asdf:test-system :rpcq)

There may be some instances of STYLE-WARNING, but if the test run successfully, there should be something near the bottom of the output that looks like:

RPCQ-TESTS (Suite)
  TEST-DEFMESSAGE                                                         [ OK ]

Automated Packaging with Docker

The CI pipeline for rpcq produces a Docker image, available at rigetti/rpcq. To get the latest stable version of rpcq, run docker pull rigetti/rpcq. The image is built from the rigetti/lisp Docker image, which is pinned to a specific tag. If you need a more recent version of the image, update the tag in the Dockerfile.

To learn more about the rigetti/lisp Docker image, check out the docker-lisp repository.

Release Process

  1. Update VERSION.txt and dependency versions (if applicable) and push the commit to master.
  2. Push a git tag vX.Y.Z that contains the same version number as in VERSION.txt.
  3. Verify that the resulting build (triggered by pushing the tag) completes successfully.
  4. Push the tagged commit to pypi and verify it appears here.
  5. Publish a release using the tag as the name.
  6. Close the milestone associated with this release, and migrate incomplete issues to the next one.

Authors

Developed at Rigetti Computing by Nikolas Tezak, Steven Heidel, Eric Peterson, Colm Ryan, Peter Karalekas, Guen Prawiroatmodjo, Erik Davis, and Robert Smith.


Next: , Previous: , Up: Top   [Contents][Index]

2 Systems

The main system appears first, followed by any subsystem dependency.


Previous: , Up: Systems   [Contents][Index]

2.1 rpcq

Author

Rigetti Computing <info@rigetti.com>

Description

Message and RPC specifications for Rigetti Quantum Cloud Services.

Version

3.8.0

Dependencies
Source

rpcq.asd (file)

Components

Next: , Previous: , Up: Top   [Contents][Index]

3 Files

Files are sorted by type and then listed depth-first from the systems components trees.


Previous: , Up: Files   [Contents][Index]

3.1 Lisp


Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.1 rpcq.asd

Location

/home/quickref/quicklisp/dists/quicklisp/software/rpcq-v3.8.0/rpcq.asd

Systems

rpcq (system)


Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.2 rpcq/package.lisp

Parent

rpcq (system)

Location

package.lisp

Packages

rpcq


Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.3 rpcq/utilities.lisp

Dependency

package.lisp (file)

Parent

rpcq (system)

Location

utilities.lisp

Exported Definitions

with-unique-rpc-address (macro)

Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.4 rpcq/rpcq.lisp

Dependency

utilities.lisp (file)

Parent

rpcq (system)

Location

rpcq.lisp

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.5 rpcq/rpcq-python.lisp

Dependency

rpcq.lisp (file)

Parent

rpcq (system)

Location

rpcq-python.lisp

Exported Definitions

python-message-spec (function)

Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.6 rpcq/core-messages.lisp

Dependency

rpcq-python.lisp (file)

Parent

rpcq (system)

Location

core-messages.lisp

Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.7 rpcq/messages.lisp

Dependency

core-messages.lisp (file)

Parent

rpcq (system)

Location

messages.lisp

Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.8 rpcq/server.lisp

Dependency

messages.lisp (file)

Parent

rpcq (system)

Location

server.lisp

Exported Definitions
Internal Definitions

Previous: , Up: Lisp files   [Contents][Index]

3.1.9 rpcq/client.lisp

Dependency

server.lisp (file)

Parent

rpcq (system)

Location

client.lisp

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Top   [Contents][Index]

4 Packages

Packages are listed by definition order.


Previous: , Up: Packages   [Contents][Index]

4.1 rpcq

Source

package.lisp (file)

Use List
Exported Definitions
Internal Definitions

Next: , Previous: , Up: Top   [Contents][Index]

5 Definitions

Definitions are sorted by export status, category, package, and then by lexicographic order.


Next: , Previous: , Up: Definitions   [Contents][Index]

5.1 Exported definitions


Next: , Previous: , Up: Exported definitions   [Contents][Index]

5.1.1 Macros

Macro: defmessage CLASS-NAME PARENT-NAME FIELD-SPECS &key DOCUMENTATION

Create a (de-)serializable message definition.

PARAMETERS:
* CLASS-NAME: The name of the message type.
* PARENT-NAME: A list of length at most 1 of "parent message types". Child message types inherit their parents slot specifications.
* FIELD-SPECS: A list of slot specifications for the message type. An entry in FIELD-SPECS is a plist with the following possible keys:
:TYPE - Either an atomic type, a list type, a map type, or another RPCQ message name.
:REQUIRED - A boolean indicating whether the field is required. If it is required, there must be a default value, either supplied through :DEFAULT or implicitly. :DOCUMENTATION - A documentation string.
:DEFAULT - A default value for the slot.
:DEPRECATES - The slot name that this slot replaces.
:DEPRECATED-BY - The slot name that this slot is replaced by.
:DEPRECATED - Indicates that this slot is being phased out without a replacement.

LIMITATIONS:
* DEPRECATES / DEPRECATED-BY must come in balanced pairs.
* DEPRECATES / DEPRECATED-BY are mutually exclusive. (Nested deprecation is not currently supported.)
* DEPRECATES / DEPRECATED-BY must reference slots on the same message, and not on parent messages.

Package

rpcq

Source

rpcq.lisp (file)

Macro: with-rpc-client (CLIENT ENDPOINT &rest OPTIONS) &body BODY

Opens an RPCQ client connection, referenced by CLIENT, at ENDPOINT. The connection is automatically closed as this form is exited or unwound. Hence, CLIENT is only valid during the execution of BODY, and it should not be stored or closed over.

OPTIONS is a p-list with the following possible keys:

:AUTH-CONFIG is a CLIENT-AUTH-CONFIG specifying keys for socket encryption and authentication.
:TIMEOUT is a timeout duration in seconds.

Package

rpcq

Source

client.lisp (file)

Macro: with-unique-rpc-address (ADDR) &body BODY

Bind ADDR in the context of BODY to a unique address acceptable to RPCQ:START-SERVER.

Package

rpcq

Source

utilities.lisp (file)


Next: , Previous: , Up: Exported definitions   [Contents][Index]

5.1.2 Functions

Function: clear-messages ()

Clear the stored message definitions.

Package

rpcq

Source

rpcq.lisp (file)

Function: client-auth-config-client-public-key INSTANCE
Package

rpcq

Source

client.lisp (file)

Function: client-auth-config-client-secret-key INSTANCE
Package

rpcq

Source

client.lisp (file)

Function: client-auth-config-server-public-key INSTANCE
Package

rpcq

Source

client.lisp (file)

Function: deserialize PAYLOAD

Deserialize the object(s) encoded in PAYLOAD (string or stream).

Package

rpcq

Source

rpcq.lisp (file)

Function: dispatch-table-add-handler DISPATCH-TABLE F &key NAME

Add a function F to DISPATCH-TABLE, for use by an RPCQ server. The function F is expected to take only keyword arguments.

By default, a symbol passed in for F will be automatically converted into the name of F used in the dispatch table. To manually specify a name (or to provide a name for a non-symbol value of F), use the keyword argument :NAME.

Package

rpcq

Source

server.lisp (file)

Function: from-json STRING-OR-STREAM

Deserialize an RPCQ message object from the JSON object in STRING-OR-STREAM.

Package

rpcq

Source

rpcq.lisp (file)

Function: make-client-auth-config &key (CLIENT-SECRET-KEY CLIENT-SECRET-KEY) (CLIENT-PUBLIC-KEY CLIENT-PUBLIC-KEY) (SERVER-PUBLIC-KEY SERVER-PUBLIC-KEY)
Package

rpcq

Source

client.lisp (file)

Function: make-dispatch-table ()

Make an empty DISPATCH-TABLE, suitable for use with DISPATCH-TABLE-ADD-HANDLER and START-SERVER.

Package

rpcq

Source

server.lisp (file)

Function: make-server-auth-config &key (SERVER-SECRET-KEY SERVER-SECRET-KEY)
Package

rpcq

Source

server.lisp (file)

Function: python-message-spec STREAM MESSAGES &optional PARENT-MODULES

Print an importable python file with the message definitions.

Package

rpcq

Source

rpcq-python.lisp (file)

Function: rpc-call CLIENT CALL &rest ARGS

Makes a synchronous RPC call, designated by the string method name CALL, over the connection CLIENT. ARGS is a plist of arguments. Returns the result of the call directly.

Package

rpcq

Source

client.lisp (file)

Function: serialize OBJ &optional STREAM

Serialize OBJ, either written to a stream or returned as a vector of (INTEGER 0 255).

Package

rpcq

Source

rpcq.lisp (file)

Function: server-auth-config-server-secret-key INSTANCE
Package

rpcq

Source

server.lisp (file)

Function: start-server &key DISPATCH-TABLE AUTH-CONFIG LISTEN-ADDRESSES THREAD-COUNT LOGGER TIMEOUT DEBUG

Main loop of an RPCQ server.

Argument descriptions:
* DISPATCH-TABLE, of type DISPATCH-TABLE, registers the valid methods to which the server will respond.
* AUTH-CONFIG is the SERVER-AUTH-CONFIG specifying keys for socket encryption.
* LISTEN-ADDRESSES is a list of strings, each of which is a valid ZMQ interface address that the server will listen on.
* THREAD-COUNT is a positive integer of the number of worker threads that the server will spawn to service requests.
* LOGGER is the stream to which the worker threads will write debug information. This stream is also forwarded to the RPC functions as *DEBUG-IO*.
* TIMEOUT, of type (OR NULL (REAL 0)), sets the maximum duration that a thread will be allowed to work for before it is forcefully terminated. A TIMEOUT value of NIL signals that no thread will ever be terminated for taking too long. This timeout can be overridden by a shorter client-side timeout, provided by the RPCRequest object (see |RPCRequest-client_timeout|).

Package

rpcq

Source

server.lisp (file)

Function: to-json OBJ &optional STREAM

Serialize OBJ to JSON on STREAM.

Package

rpcq

Source

rpcq.lisp (file)

Function: to-json-string OBJ

Serialize OBJ to a JSON STRING.

Package

rpcq

Source

rpcq.lisp (file)


Next: , Previous: , Up: Exported definitions   [Contents][Index]

5.1.3 Generic functions

Generic Function: not-an-rpcrequest-object CONDITION
Package

rpcq

Methods
Method: not-an-rpcrequest-object (CONDITION not-an-rpcrequest)
Source

server.lisp (file)

Generic Function: rpc-error-request-id CONDITION
Package

rpcq

Methods
Method: rpc-error-request-id (CONDITION rpc-error)
Source

client.lisp (file)

Generic Function: rpc-error-string CONDITION
Package

rpcq

Methods
Method: rpc-error-string (CONDITION rpc-error)
Source

client.lisp (file)

Generic Function: rpc-protocol-error-id CONDITION
Package

rpcq

Methods
Method: rpc-protocol-error-id (CONDITION rpc-protocol-error)
Source

client.lisp (file)

Generic Function: rpc-protocol-error-object CONDITION
Package

rpcq

Methods
Method: rpc-protocol-error-object (CONDITION rpc-protocol-error)
Source

client.lisp (file)

Generic Function: unknown-rpc-method-name CONDITION
Package

rpcq

Methods
Method: unknown-rpc-method-name (CONDITION unknown-rpc-method)
Source

server.lisp (file)


Next: , Previous: , Up: Exported definitions   [Contents][Index]

5.1.4 Conditions

Condition: not-an-rpcrequest ()

While listening for an RPC call, the server received malformed information.

Package

rpcq

Source

server.lisp (file)

Direct superclasses

simple-error (condition)

Direct methods

not-an-rpcrequest-object (method)

Direct slots
Slot: object
Initargs

:object

Readers

not-an-rpcrequest-object (generic function)

Condition: rpc-error ()

An RPC call signaled an error on the remote host.

Package

rpcq

Source

client.lisp (file)

Direct superclasses

simple-error (condition)

Direct methods
Direct slots
Slot: error-string
Initargs

:string

Readers

rpc-error-string (generic function)

Slot: request-id
Initargs

:id

Readers

rpc-error-request-id (generic function)

Condition: rpc-protocol-error ()

While listening for an RPC call reply, the client received malformed information.

Package

rpcq

Source

client.lisp (file)

Direct superclasses

simple-error (condition)

Direct methods
Direct slots
Slot: object
Initargs

:object

Readers

rpc-protocol-error-object (generic function)

Slot: id
Initargs

:id

Readers

rpc-protocol-error-id (generic function)

Condition: unknown-rpc-method ()

The server received an RPC request for a method it does not recognize.

Package

rpcq

Source

server.lisp (file)

Direct superclasses

simple-error (condition)

Direct methods

unknown-rpc-method-name (method)

Direct slots
Slot: method-name
Initargs

:method-name

Readers

unknown-rpc-method-name (generic function)


Next: , Previous: , Up: Exported definitions   [Contents][Index]

5.1.5 Structures

Structure: client-auth-config ()

Holds the ZeroMQ Curve configuration for a client socket.

Package

rpcq

Source

client.lisp (file)

Direct superclasses

structure-object (structure)

Direct slots
Slot: client-secret-key
Type

string

Initform

(error "must provide client-secret-key")

Readers

client-auth-config-client-secret-key (function)

Writers

(setf client-auth-config-client-secret-key) (function)

Slot: client-public-key
Type

string

Initform

(error "must provide client-public-key")

Readers

client-auth-config-client-public-key (function)

Writers

(setf client-auth-config-client-public-key) (function)

Slot: server-public-key
Type

string

Initform

(error "must provide server-public-key")

Readers

client-auth-config-server-public-key (function)

Writers

(setf client-auth-config-server-public-key) (function)

Structure: server-auth-config ()

Holds the ZeroMQ Curve configuration for a server socket.

Package

rpcq

Source

server.lisp (file)

Direct superclasses

structure-object (structure)

Direct slots
Slot: server-secret-key
Type

string

Initform

(error "must provide server-secret-key")

Readers

server-auth-config-server-secret-key (function)

Writers

(setf server-auth-config-server-secret-key) (function)


Previous: , Up: Exported definitions   [Contents][Index]

5.1.6 Types

Type: optional-bool ()

An optional boolean value includes the extra None value, specific to Python.

Package

rpcq

Source

rpcq.lisp (file)


Previous: , Up: Definitions   [Contents][Index]

5.2 Internal definitions


Next: , Previous: , Up: Internal definitions   [Contents][Index]

5.2.1 Special variables

Special Variable: *messages*
Package

rpcq

Source

rpcq.lisp (file)

Special Variable: *mocked-namespace*

*MOCKED-NAMESPACE* can be bound to a STRING to override the namespace returned by CURRENT-NAMESPACE.

Potentially useful in testing situations to override the default namespace. Should remain unbound in the global environment.

Package

rpcq

Source

rpcq.lisp (file)

Special Variable: *python-instance-check-types*
Package

rpcq

Source

rpcq-python.lisp (file)

Special Variable: *python-types*
Package

rpcq

Source

rpcq-python.lisp (file)

Special Variable: *use-false*

Discriminate between a false value and a nil value. If set to NIL both :FALSE and NIL with serialize and deserialize into NIL.

Package

rpcq

Source

rpcq.lisp (file)

Special Variable: *warnings*

An adjustable array of |RPCWarning|s that correspond to WARNINGs signaled during the dynamic extent of %PROCESS-RAW-REQUEST.

These warnings are included in the RPC response that is returned to the caller.

*WARNINGS* is unbound in the global environment.

Package

rpcq

Source

server.lisp (file)


Next: , Previous: , Up: Internal definitions   [Contents][Index]

5.2.2 Functions

Function: %plist-to-string-hash-table PLIST

Generate a hash-table from a PLIST while simultaneously converting the keys to strings.

Package

rpcq

Source

rpcq.lisp (file)

Function: %process-raw-request RECEIVER DISPATCH-TABLE LOGGER TIMEOUT DEBUG

Read a raw request from RECEIVER, then handle it and write the result.

Package

rpcq

Source

server.lisp (file)

Function: %process-request REQUEST DISPATCH-TABLE TIMEOUT DEBUG

Process the given |RPCRequest| REQUEST and return either an |RPCReply| or an |RPCError|.

Package

rpcq

Source

server.lisp (file)

Function: %pull-raw-request RECEIVER

Pulls a ZMQ request over the RECEIVER socket. Returns a VALUES triple:

* IDENTITY-FRAME: array of (UNSIGNED-BYTE 8) that describes the intended recipient of a reply to this request.
* NULL-FRAME?: boolean indicating whether the recipient expects an additional null frame after the identity frame. (This is the case for REQ-type clients.) * PAYLOAD: array of (UNSIGNED-BYTE 8) that houses the raw request.

Package

rpcq

Source

server.lisp (file)

Function: %push-raw-request SOCKET IDENTITY NULL-FRAME? PAYLOAD

Pushes a ZMQ reply onto SOCKET. Takes the following values:

* IDENTITY: array of (UNSIGNED-BYTE 8) that describes the inteded recipient of the reply. Copy this from the matching %PULL-RAW-REQUEST.
* NULL-FRAME?: boolean indicating whether the recipient expects an additional null frame after the identity frame. Copy this from the matching %PULL-RAW-REQUEST. * PAYLOAD: array of (UNSIGNED-BYTE 8) that houses the raw reply.

Package

rpcq

Source

server.lisp (file)

Function: %rpc-call-raw-request CLIENT UUID PAYLOAD

An unsafe version of RPC-CALL that does not verify that PAYLOAD is valid RPCRequest payload.

Useful for testing behavior when sending an invalid RPC request.

* CLIENT: an RPC-CLIENT.
* CALL: a STRING indicating the RPC method to call.
* UUID: the v4 UUID of the request.
* PAYLOAD: an array of (UNSIGNED-BYTE 8) that houses the raw request.

Returns the result of the RPC method call.

Package

rpcq

Source

client.lisp (file)

Function: %rpc-server-thread-worker &key DISPATCH-TABLE LOGGER TIMEOUT DEBUG POOL-ADDRESS

The thread body for an RPCQ server. Responds to RPCQ requests which match entries in DISPATCH-TABLE and writes log entries to LOGGER.

DISPATCH-TABLE and LOGGER are both required arguments. TIMEOUT is of type (OR NULL (REAL 0)), with NIL signaling no timeout. This timeout can be overridden by a shorter client-side timeout, provided by the RPCRequest object (see |RPCRequest-client_timeout|).

Package

rpcq

Source

server.lisp (file)

Function: camel-to-kebab STR

Convert STR from CamelCase to KEBAB-CASE. Yum!

Package

rpcq

Source

utilities.lisp (file)

Function: client-auth-config-p OBJECT
Package

rpcq

Source

client.lisp (file)

Function: copy-client-auth-config INSTANCE
Package

rpcq

Source

client.lisp (file)

Function: copy-rpc-client INSTANCE
Package

rpcq

Source

client.lisp (file)

Function: copy-server-auth-config INSTANCE
Package

rpcq

Source

server.lisp (file)

Function: current-namespace ()
Package

rpcq

Source

rpcq.lisp (file)

Function: format-documentation-string STRING

Format a documentation string STRING into its final stored representation.

The input strings are assumed to be FORMAT-compatible, so sequences like ~<newline> are allowed.

Package

rpcq

Source

rpcq.lisp (file)

Function: format-log S FMT-STRING &rest ARGS

Writes a format string to the stream S in debug output format.

Package

rpcq

Source

utilities.lisp (file)

Function: global-function-p SYMBOL

Return true if SYMBOL is a symbol naming a global function. Return false otherwise.

Package

rpcq

Source

utilities.lisp (file)

Function: log-completion-message LOGGER REQUEST REPLY START-TIME
Package

rpcq

Source

server.lisp (file)

Function: make-rpc-client &key (SOCKET SOCKET) (TIMEOUT TIMEOUT)
Package

rpcq

Source

client.lisp (file)

Function: map-plist F PLIST

Iterate over a PLIST and call F with key and value as parameters.

Package

rpcq

Source

rpcq.lisp (file)

Function: prepare-rpc-call-args ARGS
Package

rpcq

Source

client.lisp (file)

Function: python-argspec-default FIELD-TYPE DEFAULT &optional DEFAULTP

Translate DEFAULT values for immutable objects of a given FIELD-TYPE to python.

DEFAULTP indicates whether DEFAULT has a value of NIL because NIL was provided in the DEFMESSAGE (T), or because it was missing in the DEFMESSAGE (NIL).

Package

rpcq

Source

rpcq-python.lisp (file)

Function: python-collections-initform FIELD-TYPE DEFAULT

Translate a DEFAULT value of type FIELD-TYPE to a python initform.

Package

rpcq

Source

rpcq-python.lisp (file)

Function: python-instance-check-type FIELD-TYPE
Package

rpcq

Source

rpcq-python.lisp (file)

Function: python-maybe-optional-typing-type FIELD-TYPE REQUIRED

Rerturn the python type string for FIELD-TYPE while accounting for whether the field is REQUIRED.

Package

rpcq

Source

rpcq-python.lisp (file)

Function: python-type FIELD-TYPE

Always return a basic python type not List[...] or Dict[...] for instance checks.

Package

rpcq

Source

rpcq-python.lisp (file)

Function: python-typing-type FIELD-TYPE

Return the python typing-module compliant field type

Package

rpcq

Source

rpcq-python.lisp (file)

Function: register-message NAMESPACE ENTRY

Add ENTRY to *MESSAGES* under NAMESPACE.

PARAMETERS:
* NAMESPACE - a STRING
* ENTRY - a list of the form (CLASS-NAME PARENT-CLASS-NAME FIELD-SPECS DOCUMENTATION)

Package

rpcq

Source

rpcq.lisp (file)

Function: rpc-client-p OBJECT
Package

rpcq

Source

client.lisp (file)

Function: rpc-client-socket INSTANCE
Function: (setf rpc-client-socket) VALUE INSTANCE
Package

rpcq

Source

client.lisp (file)

Function: rpc-client-timeout INSTANCE
Function: (setf rpc-client-timeout) VALUE INSTANCE
Package

rpcq

Source

client.lisp (file)

Function: sanitize-name STRING-DESIGNATOR

Convert a stringifiable STRING-DESIGNATOR into a snake-case string.

Package

rpcq

Source

utilities.lisp (file)

Function: server-auth-config-p OBJECT
Package

rpcq

Source

server.lisp (file)

Function: slot-type-and-initform FIELD-TYPE REQUIRED DEFAULT

Translate a FIELD-TYPE to a Lisp type and initform taking into account
whether the field is REQUIRED and a specified DEFAULT value.

The primitive field types must be specified as one of

:string :bytes :integer :float :bool

Message field types are specified by their class name, e.g. for
a Calibration message the field type is

|Calibration|

List and mapping field types are specified as

(:list x) (:map :string -> x)

where x is one of
{:string, :bytes, :any, :integer, :float, :bool, :list, :mapping} or a
message field type. We currently only support :string keys for
mappings as JSON does not support other kinds of keys but we
nonetheless explicitly include the key type for better readability

If a field is non-required, it may be None on the python side or NIL
in Lisp.

We distinguish between the following options for any field type:
1. Required with no default
- invalid not to provide a value for this field
- invalid to pass None/null/NIL for this field
2. Required with a default
- if a value is not provided, then a fallback value will be used
- invalid to pass None/null/NIL for this field
3. Optional with no default (equivalent to optional with a default of None in python, null in JSON, NIL in Lisp)
- valid to either not provide a value or to pass None for this field
4. Optional with a default
- if a value is not provided, then a fallback value is used
- you can explicitly pass None/null/NIL for this field

Package

rpcq

Source

rpcq.lisp (file)

Function: snake-to-kebab STR

Convert STR from snake_case to KEBAB-CASE. Yum!

Package

rpcq

Source

utilities.lisp (file)

Function: str->lisp-keyword STR

Convert a snake-case string into a hyphenated Lisp keyword.

Package

rpcq

Source

utilities.lisp (file)

Function: to-octets STRING

Convert a string S to a vector of 8-bit unsigned bytes

Package

rpcq

Source

rpcq.lisp (file)

Function: to-string OCTETS

Convert a vector of octets to a string

Package

rpcq

Source

rpcq.lisp (file)

Function: unpack-foreign-msg-to-bytes MSG

Converts a foreign array of unsigned characters to a Lisp vector of such.

Package

rpcq

Source

utilities.lisp (file)


Next: , Previous: , Up: Internal definitions   [Contents][Index]

5.2.3 Generic functions

Generic Function: %%deserialize-struct TYPE PAYLOAD
Package

rpcq

Methods
Method: %%deserialize-struct (TYPE (eql quiltcalibrationsresponse)) (PAYLOAD hash-table)
Source

messages.lisp (file)

Method: %%deserialize-struct (TYPE (eql quiltcalibrationsrequest)) (PAYLOAD hash-table)
Source

messages.lisp (file)

Method: %%deserialize-struct (TYPE (eql qpurequest)) (PAYLOAD hash-table)
Source

messages.lisp (file)

Method: %%deserialize-struct (TYPE (eql pyquilexecutableresponse)) (PAYLOAD hash-table)
Source

messages.lisp (file)

Method: %%deserialize-struct (TYPE (eql quiltbinaryexecutableresponse)) (PAYLOAD hash-table)
Source

messages.lisp (file)

Method: %%deserialize-struct (TYPE (eql quiltbinaryexecutablerequest)) (PAYLOAD hash-table)
Source

messages.lisp (file)

Method: %%deserialize-struct (TYPE (eql binaryexecutableresponse)) (PAYLOAD hash-table)
Source

messages.lisp (file)

Method: %%deserialize-struct (TYPE (eql binaryexecutablerequest)) (PAYLOAD hash-table)
Source

messages.lisp (file)

Method: %%deserialize-struct (TYPE (eql rewritearithmeticresponse)) (PAYLOAD hash-table)
Source

messages.lisp (file)

Method: %%deserialize-struct (TYPE (eql rewritearithmeticrequest)) (PAYLOAD hash-table)
Source

messages.lisp (file)

Method: %%deserialize-struct (TYPE (eql nativequilresponse)) (PAYLOAD hash-table)
Source

messages.lisp (file)

Method: %%deserialize-struct (TYPE (eql nativequilmetadata)) (PAYLOAD hash-table)
Source

messages.lisp (file)

Method: %%deserialize-struct (TYPE (eql nativequilrequest)) (PAYLOAD hash-table)
Source

messages.lisp (file)

Method: %%deserialize-struct (TYPE (eql conjugatebycliffordresponse)) (PAYLOAD hash-table)
Source

messages.lisp (file)

Method: %%deserialize-struct (TYPE (eql conjugatebycliffordrequest)) (PAYLOAD hash-table)
Source

messages.lisp (file)

Method: %%deserialize-struct (TYPE (eql pauliterm)) (PAYLOAD hash-table)
Source

messages.lisp (file)

Method: %%deserialize-struct (TYPE (eql randomizedbenchmarkingresponse)) (PAYLOAD hash-table)
Source

messages.lisp (file)

Method: %%deserialize-struct (TYPE (eql randomizedbenchmarkingrequest)) (PAYLOAD hash-table)
Source

messages.lisp (file)

Method: %%deserialize-struct (TYPE (eql targetdevice)) (PAYLOAD hash-table)
Source

messages.lisp (file)

Method: %%deserialize-struct (TYPE (eql rpcerror)) (PAYLOAD hash-table)
Source

messages.lisp (file)

Method: %%deserialize-struct (TYPE (eql rpcreply)) (PAYLOAD hash-table)
Source

messages.lisp (file)

Method: %%deserialize-struct (TYPE (eql rpcwarning)) (PAYLOAD hash-table)
Source

messages.lisp (file)

Method: %%deserialize-struct (TYPE (eql rpcrequest)) (PAYLOAD hash-table)
Source

messages.lisp (file)

Method: %%deserialize-struct (TYPE (eql patchtarget)) (PAYLOAD hash-table)
Source

messages.lisp (file)

Method: %%deserialize-struct (TYPE (eql parameteraref)) (PAYLOAD hash-table)
Source

messages.lisp (file)

Method: %%deserialize-struct (TYPE (eql parameterspec)) (PAYLOAD hash-table)
Source

messages.lisp (file)

Method: %%deserialize-struct (TYPE (eql activereset)) (PAYLOAD hash-table)
Source

core-messages.lisp (file)

Method: %%deserialize-struct (TYPE (eql patchablebinary)) (PAYLOAD hash-table)
Source

core-messages.lisp (file)

Method: %%deserialize-struct (TYPE (eql executorjob)) (PAYLOAD hash-table)
Source

core-messages.lisp (file)

Method: %%deserialize-struct (TYPE (eql microwavesourcesettings)) (PAYLOAD hash-table)
Source

core-messages.lisp (file)

Method: %%deserialize-struct (TYPE (eql timebomb)) (PAYLOAD hash-table)
Source

core-messages.lisp (file)

Method: %%deserialize-struct (TYPE (eql vnasettings)) (PAYLOAD hash-table)
Source

core-messages.lisp (file)

Method: %%deserialize-struct (TYPE (eql cwfrequencysweep)) (PAYLOAD hash-table)
Source

core-messages.lisp (file)

Method: %%deserialize-struct (TYPE (eql usitargetsequencer)) (PAYLOAD hash-table)
Source

core-messages.lisp (file)

Method: %%deserialize-struct (TYPE (eql usicardsequencer)) (PAYLOAD hash-table)
Source

core-messages.lisp (file)

Method: %%deserialize-struct (TYPE (eql qrrsequencer)) (PAYLOAD hash-table)
Source

core-messages.lisp (file)

Method: %%deserialize-struct (TYPE (eql qrtx2sequencer)) (PAYLOAD hash-table)
Source

core-messages.lisp (file)

Method: %%deserialize-struct (TYPE (eql qrtsequencer)) (PAYLOAD hash-table)
Source

core-messages.lisp (file)

Method: %%deserialize-struct (TYPE (eql qgsx2sequencer)) (PAYLOAD hash-table)
Source

core-messages.lisp (file)

Method: %%deserialize-struct (TYPE (eql qgssequencer)) (PAYLOAD hash-table)
Source

core-messages.lisp (file)

Method: %%deserialize-struct (TYPE (eql qfdx2sequencer)) (PAYLOAD hash-table)
Source

core-messages.lisp (file)

Method: %%deserialize-struct (TYPE (eql qdosequencer)) (PAYLOAD hash-table)
Source

core-messages.lisp (file)

Method: %%deserialize-struct (TYPE (eql qfdsequencer)) (PAYLOAD hash-table)
Source

core-messages.lisp (file)

Method: %%deserialize-struct (TYPE (eql legacyusrpsequencer)) (PAYLOAD hash-table)
Source

core-messages.lisp (file)

Method: %%deserialize-struct (TYPE (eql yokogawags200channel)) (PAYLOAD hash-table)
Source

core-messages.lisp (file)

Method: %%deserialize-struct (TYPE (eql qdofastfluxchannel)) (PAYLOAD hash-table)
Source

core-messages.lisp (file)

Method: %%deserialize-struct (TYPE (eql qdoslowfluxchannel)) (PAYLOAD hash-table)
Source

core-messages.lisp (file)

Method: %%deserialize-struct (TYPE (eql cwchannel)) (PAYLOAD hash-table)
Source

core-messages.lisp (file)

Method: %%deserialize-struct (TYPE (eql qrrchannel)) (PAYLOAD hash-table)
Source

core-messages.lisp (file)

Method: %%deserialize-struct (TYPE (eql qrtchannel)) (PAYLOAD hash-table)
Source

core-messages.lisp (file)

Method: %%deserialize-struct (TYPE (eql qgschannel)) (PAYLOAD hash-table)
Source

core-messages.lisp (file)

Method: %%deserialize-struct (TYPE (eql qfdchannel)) (PAYLOAD hash-table)
Source

core-messages.lisp (file)

Method: %%deserialize-struct (TYPE (eql awgchannel)) (PAYLOAD hash-table)
Source

core-messages.lisp (file)

Method: %%deserialize-struct (TYPE (eql deployedrack)) (PAYLOAD hash-table)
Source

core-messages.lisp (file)

Method: %%deserialize-struct (TYPE (eql instrument)) (PAYLOAD hash-table)
Source

core-messages.lisp (file)

Method: %%deserialize-struct (TYPE (eql qpu)) (PAYLOAD hash-table)
Source

core-messages.lisp (file)

Method: %%deserialize-struct (TYPE (eql rackmeta)) (PAYLOAD hash-table)
Source

core-messages.lisp (file)

Method: %%deserialize-struct (TYPE (eql scheduleirjob)) (PAYLOAD hash-table)
Source

core-messages.lisp (file)

Method: %%deserialize-struct (TYPE (eql program)) (PAYLOAD hash-table)
Source

core-messages.lisp (file)

Method: %%deserialize-struct (TYPE (eql mnioconnection)) (PAYLOAD hash-table)
Source

core-messages.lisp (file)

Method: %%deserialize-struct (TYPE (eql capture)) (PAYLOAD hash-table)
Source

core-messages.lisp (file)

Method: %%deserialize-struct (TYPE (eql setscale)) (PAYLOAD hash-table)
Source

core-messages.lisp (file)

Method: %%deserialize-struct (TYPE (eql shiftfrequency)) (PAYLOAD hash-table)
Source

core-messages.lisp (file)

Method: %%deserialize-struct (TYPE (eql setfrequency)) (PAYLOAD hash-table)
Source

core-messages.lisp (file)

Method: %%deserialize-struct (TYPE (eql swapphases)) (PAYLOAD hash-table)
Source

core-messages.lisp (file)

Method: %%deserialize-struct (TYPE (eql shiftphase)) (PAYLOAD hash-table)
Source

core-messages.lisp (file)

Method: %%deserialize-struct (TYPE (eql setphase)) (PAYLOAD hash-table)
Source

core-messages.lisp (file)

Method: %%deserialize-struct (TYPE (eql flatpulse)) (PAYLOAD hash-table)
Source

core-messages.lisp (file)

Method: %%deserialize-struct (TYPE (eql pulse)) (PAYLOAD hash-table)
Source

core-messages.lisp (file)

Method: %%deserialize-struct (TYPE (eql debugmessage)) (PAYLOAD hash-table)
Source

core-messages.lisp (file)

Method: %%deserialize-struct (TYPE (eql instruction)) (PAYLOAD hash-table)
Source

core-messages.lisp (file)

Method: %%deserialize-struct (TYPE (eql parameterexpression)) (PAYLOAD hash-table)
Source

core-messages.lisp (file)

Method: %%deserialize-struct (TYPE (eql receiver)) (PAYLOAD hash-table)
Source

core-messages.lisp (file)

Method: %%deserialize-struct (TYPE (eql dataaxis)) (PAYLOAD hash-table)
Source

core-messages.lisp (file)

Method: %%deserialize-struct (TYPE (eql filternode)) (PAYLOAD hash-table)
Source

core-messages.lisp (file)

Method: %%deserialize-struct (TYPE (eql boxcaraveragerkernel)) (PAYLOAD hash-table)
Source

core-messages.lisp (file)

Method: %%deserialize-struct (TYPE (eql flatkernel)) (PAYLOAD hash-table)
Source

core-messages.lisp (file)

Method: %%deserialize-struct (TYPE (eql templatekernel)) (PAYLOAD hash-table)
Source

core-messages.lisp (file)

Method: %%deserialize-struct (TYPE (eql filterkernel)) (PAYLOAD hash-table)
Source

core-messages.lisp (file)

Method: %%deserialize-struct (TYPE (eql abstractkernel)) (PAYLOAD hash-table)
Source

core-messages.lisp (file)

Method: %%deserialize-struct (TYPE (eql flatwaveform)) (PAYLOAD hash-table)
Source

core-messages.lisp (file)

Method: %%deserialize-struct (TYPE (eql erfsquarewaveform)) (PAYLOAD hash-table)
Source

core-messages.lisp (file)

Method: %%deserialize-struct (TYPE (eql hermitegaussianwaveform)) (PAYLOAD hash-table)
Source

core-messages.lisp (file)

Method: %%deserialize-struct (TYPE (eql draggaussianwaveform)) (PAYLOAD hash-table)
Source

core-messages.lisp (file)

Method: %%deserialize-struct (TYPE (eql gaussianwaveform)) (PAYLOAD hash-table)
Source

core-messages.lisp (file)

Method: %%deserialize-struct (TYPE (eql templatewaveform)) (PAYLOAD hash-table)
Source

core-messages.lisp (file)

Method: %%deserialize-struct (TYPE (eql waveform)) (PAYLOAD hash-table)
Source

core-messages.lisp (file)

Method: %%deserialize-struct (TYPE (eql abstractwaveform)) (PAYLOAD hash-table)
Source

core-messages.lisp (file)

Method: %%deserialize-struct (TYPE (eql resources)) (PAYLOAD hash-table)
Source

core-messages.lisp (file)

Method: %%deserialize-struct (TYPE (eql frame)) (PAYLOAD hash-table)
Source

core-messages.lisp (file)

Method: %%deserialize-struct TYPE PAYLOAD
Source

rpcq.lisp (file)

Generic Function: %%serialize OBJ HASH-TABLE
Package

rpcq

Methods
Method: %%serialize (OBJ0 quiltcalibrationsresponse) (HASH-TABLE hash-table)
Source

messages.lisp (file)

Method: %%serialize (OBJ0 quiltcalibrationsrequest) (HASH-TABLE hash-table)
Source

messages.lisp (file)

Method: %%serialize (OBJ0 qpurequest) (HASH-TABLE hash-table)
Source

messages.lisp (file)

Method: %%serialize (OBJ0 pyquilexecutableresponse) (HASH-TABLE hash-table)
Source

messages.lisp (file)

Method: %%serialize (OBJ0 quiltbinaryexecutableresponse) (HASH-TABLE hash-table)
Source

messages.lisp (file)

Method: %%serialize (OBJ0 quiltbinaryexecutablerequest) (HASH-TABLE hash-table)
Source

messages.lisp (file)

Method: %%serialize (OBJ0 binaryexecutableresponse) (HASH-TABLE hash-table)
Source

messages.lisp (file)

Method: %%serialize (OBJ0 binaryexecutablerequest) (HASH-TABLE hash-table)
Source

messages.lisp (file)

Method: %%serialize (OBJ0 rewritearithmeticresponse) (HASH-TABLE hash-table)
Source

messages.lisp (file)

Method: %%serialize (OBJ0 rewritearithmeticrequest) (HASH-TABLE hash-table)
Source

messages.lisp (file)

Method: %%serialize (OBJ0 nativequilresponse) (HASH-TABLE hash-table)
Source

messages.lisp (file)

Method: %%serialize (OBJ0 nativequilmetadata) (HASH-TABLE hash-table)
Source

messages.lisp (file)

Method: %%serialize (OBJ0 nativequilrequest) (HASH-TABLE hash-table)
Source

messages.lisp (file)

Method: %%serialize (OBJ0 conjugatebycliffordresponse) (HASH-TABLE hash-table)
Source

messages.lisp (file)

Method: %%serialize (OBJ0 conjugatebycliffordrequest) (HASH-TABLE hash-table)
Source

messages.lisp (file)

Method: %%serialize (OBJ0 pauliterm) (HASH-TABLE hash-table)
Source

messages.lisp (file)

Method: %%serialize (OBJ0 randomizedbenchmarkingresponse) (HASH-TABLE hash-table)
Source

messages.lisp (file)

Method: %%serialize (OBJ0 randomizedbenchmarkingrequest) (HASH-TABLE hash-table)
Source

messages.lisp (file)

Method: %%serialize (OBJ0 targetdevice) (HASH-TABLE hash-table)
Source

messages.lisp (file)

Method: %%serialize (OBJ0 rpcerror) (HASH-TABLE hash-table)
Source

messages.lisp (file)

Method: %%serialize (OBJ0 rpcreply) (HASH-TABLE hash-table)
Source

messages.lisp (file)

Method: %%serialize (OBJ0 rpcwarning) (HASH-TABLE hash-table)
Source

messages.lisp (file)

Method: %%serialize (OBJ0 rpcrequest) (HASH-TABLE hash-table)
Source

messages.lisp (file)

Method: %%serialize (OBJ0 patchtarget) (HASH-TABLE hash-table)
Source

messages.lisp (file)

Method: %%serialize (OBJ0 parameteraref) (HASH-TABLE hash-table)
Source

messages.lisp (file)

Method: %%serialize (OBJ0 parameterspec) (HASH-TABLE hash-table)
Source

messages.lisp (file)

Method: %%serialize (OBJ0 activereset) (HASH-TABLE hash-table)
Source

core-messages.lisp (file)

Method: %%serialize (OBJ0 patchablebinary) (HASH-TABLE hash-table)
Source

core-messages.lisp (file)

Method: %%serialize (OBJ0 executorjob) (HASH-TABLE hash-table)
Source

core-messages.lisp (file)

Method: %%serialize (OBJ0 microwavesourcesettings) (HASH-TABLE hash-table)
Source

core-messages.lisp (file)

Method: %%serialize (OBJ0 timebomb) (HASH-TABLE hash-table)
Source

core-messages.lisp (file)

Method: %%serialize (OBJ0 vnasettings) (HASH-TABLE hash-table)
Source

core-messages.lisp (file)

Method: %%serialize (OBJ0 cwfrequencysweep) (HASH-TABLE hash-table)
Source

core-messages.lisp (file)

Method: %%serialize (OBJ0 usitargetsequencer) (HASH-TABLE hash-table)
Source

core-messages.lisp (file)

Method: %%serialize (OBJ0 usicardsequencer) (HASH-TABLE hash-table)
Source

core-messages.lisp (file)

Method: %%serialize (OBJ0 qrrsequencer) (HASH-TABLE hash-table)
Source

core-messages.lisp (file)

Method: %%serialize (OBJ0 qrtx2sequencer) (HASH-TABLE hash-table)
Source

core-messages.lisp (file)

Method: %%serialize (OBJ0 qrtsequencer) (HASH-TABLE hash-table)
Source

core-messages.lisp (file)

Method: %%serialize (OBJ0 qgsx2sequencer) (HASH-TABLE hash-table)
Source

core-messages.lisp (file)

Method: %%serialize (OBJ0 qgssequencer) (HASH-TABLE hash-table)
Source

core-messages.lisp (file)

Method: %%serialize (OBJ0 qfdx2sequencer) (HASH-TABLE hash-table)
Source

core-messages.lisp (file)

Method: %%serialize (OBJ0 qdosequencer) (HASH-TABLE hash-table)
Source

core-messages.lisp (file)

Method: %%serialize (OBJ0 qfdsequencer) (HASH-TABLE hash-table)
Source

core-messages.lisp (file)

Method: %%serialize (OBJ0 legacyusrpsequencer) (HASH-TABLE hash-table)
Source

core-messages.lisp (file)

Method: %%serialize (OBJ0 yokogawags200channel) (HASH-TABLE hash-table)
Source

core-messages.lisp (file)

Method: %%serialize (OBJ0 qdofastfluxchannel) (HASH-TABLE hash-table)
Source

core-messages.lisp (file)

Method: %%serialize (OBJ0 qdoslowfluxchannel) (HASH-TABLE hash-table)
Source

core-messages.lisp (file)

Method: %%serialize (OBJ0 cwchannel) (HASH-TABLE hash-table)
Source

core-messages.lisp (file)

Method: %%serialize (OBJ0 qrrchannel) (HASH-TABLE hash-table)
Source

core-messages.lisp (file)

Method: %%serialize (OBJ0 qrtchannel) (HASH-TABLE hash-table)
Source

core-messages.lisp (file)

Method: %%serialize (OBJ0 qgschannel) (HASH-TABLE hash-table)
Source

core-messages.lisp (file)

Method: %%serialize (OBJ0 qfdchannel) (HASH-TABLE hash-table)
Source

core-messages.lisp (file)

Method: %%serialize (OBJ0 awgchannel) (HASH-TABLE hash-table)
Source

core-messages.lisp (file)

Method: %%serialize (OBJ0 deployedrack) (HASH-TABLE hash-table)
Source

core-messages.lisp (file)

Method: %%serialize (OBJ0 instrument) (HASH-TABLE hash-table)
Source

core-messages.lisp (file)

Method: %%serialize (OBJ0 qpu) (HASH-TABLE hash-table)
Source

core-messages.lisp (file)

Method: %%serialize (OBJ0 rackmeta) (HASH-TABLE hash-table)
Source

core-messages.lisp (file)

Method: %%serialize (OBJ0 scheduleirjob) (HASH-TABLE hash-table)
Source

core-messages.lisp (file)

Method: %%serialize (OBJ0 program) (HASH-TABLE hash-table)
Source

core-messages.lisp (file)

Method: %%serialize (OBJ0 mnioconnection) (HASH-TABLE hash-table)
Source

core-messages.lisp (file)

Method: %%serialize (OBJ0 capture) (HASH-TABLE hash-table)
Source

core-messages.lisp (file)

Method: %%serialize (OBJ0 setscale) (HASH-TABLE hash-table)
Source

core-messages.lisp (file)

Method: %%serialize (OBJ0 shiftfrequency) (HASH-TABLE hash-table)
Source

core-messages.lisp (file)

Method: %%serialize (OBJ0 setfrequency) (HASH-TABLE hash-table)
Source

core-messages.lisp (file)

Method: %%serialize (OBJ0 swapphases) (HASH-TABLE hash-table)
Source

core-messages.lisp (file)

Method: %%serialize (OBJ0 shiftphase) (HASH-TABLE hash-table)
Source

core-messages.lisp (file)

Method: %%serialize (OBJ0 setphase) (HASH-TABLE hash-table)
Source

core-messages.lisp (file)

Method: %%serialize (OBJ0 flatpulse) (HASH-TABLE hash-table)
Source

core-messages.lisp (file)

Method: %%serialize (OBJ0 pulse) (HASH-TABLE hash-table)
Source

core-messages.lisp (file)

Method: %%serialize (OBJ0 debugmessage) (HASH-TABLE hash-table)
Source

core-messages.lisp (file)

Method: %%serialize (OBJ0 instruction) (HASH-TABLE hash-table)
Source

core-messages.lisp (file)

Method: %%serialize (OBJ0 parameterexpression) (HASH-TABLE hash-table)
Source

core-messages.lisp (file)

Method: %%serialize (OBJ0 receiver) (HASH-TABLE hash-table)
Source

core-messages.lisp (file)

Method: %%serialize (OBJ0 dataaxis) (HASH-TABLE hash-table)
Source

core-messages.lisp (file)

Method: %%serialize (OBJ0 filternode) (HASH-TABLE hash-table)
Source

core-messages.lisp (file)

Method: %%serialize (OBJ0 boxcaraveragerkernel) (HASH-TABLE hash-table)
Source

core-messages.lisp (file)

Method: %%serialize (OBJ0 flatkernel) (HASH-TABLE hash-table)
Source

core-messages.lisp (file)

Method: %%serialize (OBJ0 templatekernel) (HASH-TABLE hash-table)
Source

core-messages.lisp (file)

Method: %%serialize (OBJ0 filterkernel) (HASH-TABLE hash-table)
Source

core-messages.lisp (file)

Method: %%serialize (OBJ0 abstractkernel) (HASH-TABLE hash-table)
Source

core-messages.lisp (file)

Method: %%serialize (OBJ0 flatwaveform) (HASH-TABLE hash-table)
Source

core-messages.lisp (file)

Method: %%serialize (OBJ0 erfsquarewaveform) (HASH-TABLE hash-table)
Source

core-messages.lisp (file)

Method: %%serialize (OBJ0 hermitegaussianwaveform) (HASH-TABLE hash-table)
Source

core-messages.lisp (file)

Method: %%serialize (OBJ0 draggaussianwaveform) (HASH-TABLE hash-table)
Source

core-messages.lisp (file)

Method: %%serialize (OBJ0 gaussianwaveform) (HASH-TABLE hash-table)
Source

core-messages.lisp (file)

Method: %%serialize (OBJ0 templatewaveform) (HASH-TABLE hash-table)
Source

core-messages.lisp (file)

Method: %%serialize (OBJ0 waveform) (HASH-TABLE hash-table)
Source

core-messages.lisp (file)

Method: %%serialize (OBJ0 abstractwaveform) (HASH-TABLE hash-table)
Source

core-messages.lisp (file)

Method: %%serialize (OBJ0 resources) (HASH-TABLE hash-table)
Source

core-messages.lisp (file)

Method: %%serialize (OBJ0 frame) (HASH-TABLE hash-table)
Source

core-messages.lisp (file)

Method: %%serialize OBJ HASH-TABLE
Source

rpcq.lisp (file)

Generic Function: %deserialize PAYLOAD

Reconstruct objects that have already been converted to Lisp objects.

Package

rpcq

Source

rpcq.lisp (file)

Methods
Method: %deserialize PAYLOAD
Method: %deserialize (PAYLOAD hash-table)
Method: %deserialize (PAYLOAD string)
Method: %deserialize (PAYLOAD cons)
Method: %deserialize (PAYLOAD vector)
Generic Function: %deserialize-struct TYPE PAYLOAD
Package

rpcq

Source

rpcq.lisp (file)

Methods
Method: %deserialize-struct (TYPE (eql quiltcalibrationsresponse)) (PAYLOAD hash-table)
Source

messages.lisp (file)

Method: %deserialize-struct (TYPE (eql quiltcalibrationsrequest)) (PAYLOAD hash-table)
Source

messages.lisp (file)

Method: %deserialize-struct (TYPE (eql qpurequest)) (PAYLOAD hash-table)
Source

messages.lisp (file)

Method: %deserialize-struct (TYPE (eql pyquilexecutableresponse)) (PAYLOAD hash-table)
Source

messages.lisp (file)

Method: %deserialize-struct (TYPE (eql quiltbinaryexecutableresponse)) (PAYLOAD hash-table)
Source

messages.lisp (file)

Method: %deserialize-struct (TYPE (eql quiltbinaryexecutablerequest)) (PAYLOAD hash-table)
Source

messages.lisp (file)

Method: %deserialize-struct (TYPE (eql binaryexecutableresponse)) (PAYLOAD hash-table)
Source

messages.lisp (file)

Method: %deserialize-struct (TYPE (eql binaryexecutablerequest)) (PAYLOAD hash-table)
Source

messages.lisp (file)

Method: %deserialize-struct (TYPE (eql rewritearithmeticresponse)) (PAYLOAD hash-table)
Source

messages.lisp (file)

Method: %deserialize-struct (TYPE (eql rewritearithmeticrequest)) (PAYLOAD hash-table)
Source

messages.lisp (file)

Method: %deserialize-struct (TYPE (eql nativequilresponse)) (PAYLOAD hash-table)
Source

messages.lisp (file)

Method: %deserialize-struct (TYPE (eql nativequilmetadata)) (PAYLOAD hash-table)
Source

messages.lisp (file)

Method: %deserialize-struct (TYPE (eql nativequilrequest)) (PAYLOAD hash-table)
Source

messages.lisp (file)

Method: %deserialize-struct (TYPE (eql conjugatebycliffordresponse)) (PAYLOAD hash-table)
Source

messages.lisp (file)

Method: %deserialize-struct (TYPE (eql conjugatebycliffordrequest)) (PAYLOAD hash-table)
Source

messages.lisp (file)

Method: %deserialize-struct (TYPE (eql pauliterm)) (PAYLOAD hash-table)
Source

messages.lisp (file)

Method: %deserialize-struct (TYPE (eql randomizedbenchmarkingresponse)) (PAYLOAD hash-table)
Source

messages.lisp (file)

Method: %deserialize-struct (TYPE (eql randomizedbenchmarkingrequest)) (PAYLOAD hash-table)
Source

messages.lisp (file)

Method: %deserialize-struct (TYPE (eql targetdevice)) (PAYLOAD hash-table)
Source

messages.lisp (file)

Method: %deserialize-struct (TYPE (eql rpcerror)) (PAYLOAD hash-table)
Source

messages.lisp (file)

Method: %deserialize-struct (TYPE (eql rpcreply)) (PAYLOAD hash-table)
Source

messages.lisp (file)

Method: %deserialize-struct (TYPE (eql rpcwarning)) (PAYLOAD hash-table)
Source

messages.lisp (file)

Method: %deserialize-struct (TYPE (eql rpcrequest)) (PAYLOAD hash-table)
Source

messages.lisp (file)

Method: %deserialize-struct (TYPE (eql patchtarget)) (PAYLOAD hash-table)
Source

messages.lisp (file)

Method: %deserialize-struct (TYPE (eql parameteraref)) (PAYLOAD hash-table)
Source

messages.lisp (file)

Method: %deserialize-struct (TYPE (eql parameterspec)) (PAYLOAD hash-table)
Source

messages.lisp (file)

Method: %deserialize-struct (TYPE (eql activereset)) (PAYLOAD hash-table)
Source

core-messages.lisp (file)

Method: %deserialize-struct (TYPE (eql patchablebinary)) (PAYLOAD hash-table)
Source

core-messages.lisp (file)

Method: %deserialize-struct (TYPE (eql executorjob)) (PAYLOAD hash-table)
Source

core-messages.lisp (file)

Method: %deserialize-struct (TYPE (eql microwavesourcesettings)) (PAYLOAD hash-table)
Source

core-messages.lisp (file)

Method: %deserialize-struct (TYPE (eql timebomb)) (PAYLOAD hash-table)
Source

core-messages.lisp (file)

Method: %deserialize-struct (TYPE (eql vnasettings)) (PAYLOAD hash-table)
Source

core-messages.lisp (file)

Method: %deserialize-struct (TYPE (eql cwfrequencysweep)) (PAYLOAD hash-table)
Source

core-messages.lisp (file)

Method: %deserialize-struct (TYPE (eql usitargetsequencer)) (PAYLOAD hash-table)
Source

core-messages.lisp (file)

Method: %deserialize-struct (TYPE (eql usicardsequencer)) (PAYLOAD hash-table)
Source

core-messages.lisp (file)

Method: %deserialize-struct (TYPE (eql qrrsequencer)) (PAYLOAD hash-table)
Source

core-messages.lisp (file)

Method: %deserialize-struct (TYPE (eql qrtx2sequencer)) (PAYLOAD hash-table)
Source

core-messages.lisp (file)

Method: %deserialize-struct (TYPE (eql qrtsequencer)) (PAYLOAD hash-table)
Source

core-messages.lisp (file)

Method: %deserialize-struct (TYPE (eql qgsx2sequencer)) (PAYLOAD hash-table)
Source

core-messages.lisp (file)

Method: %deserialize-struct (TYPE (eql qgssequencer)) (PAYLOAD hash-table)
Source

core-messages.lisp (file)

Method: %deserialize-struct (TYPE (eql qfdx2sequencer)) (PAYLOAD hash-table)
Source

core-messages.lisp (file)

Method: %deserialize-struct (TYPE (eql qdosequencer)) (PAYLOAD hash-table)
Source

core-messages.lisp (file)

Method: %deserialize-struct (TYPE (eql qfdsequencer)) (PAYLOAD hash-table)
Source

core-messages.lisp (file)

Method: %deserialize-struct (TYPE (eql legacyusrpsequencer)) (PAYLOAD hash-table)
Source

core-messages.lisp (file)

Method: %deserialize-struct (TYPE (eql yokogawags200channel)) (PAYLOAD hash-table)
Source

core-messages.lisp (file)

Method: %deserialize-struct (TYPE (eql qdofastfluxchannel)) (PAYLOAD hash-table)
Source

core-messages.lisp (file)

Method: %deserialize-struct (TYPE (eql qdoslowfluxchannel)) (PAYLOAD hash-table)
Source

core-messages.lisp (file)

Method: %deserialize-struct (TYPE (eql cwchannel)) (PAYLOAD hash-table)
Source

core-messages.lisp (file)

Method: %deserialize-struct (TYPE (eql qrrchannel)) (PAYLOAD hash-table)
Source

core-messages.lisp (file)

Method: %deserialize-struct (TYPE (eql qrtchannel)) (PAYLOAD hash-table)
Source

core-messages.lisp (file)

Method: %deserialize-struct (TYPE (eql qgschannel)) (PAYLOAD hash-table)
Source

core-messages.lisp (file)

Method: %deserialize-struct (TYPE (eql qfdchannel)) (PAYLOAD hash-table)
Source

core-messages.lisp (file)

Method: %deserialize-struct (TYPE (eql awgchannel)) (PAYLOAD hash-table)
Source

core-messages.lisp (file)

Method: %deserialize-struct (TYPE (eql deployedrack)) (PAYLOAD hash-table)
Source

core-messages.lisp (file)

Method: %deserialize-struct (TYPE (eql instrument)) (PAYLOAD hash-table)
Source

core-messages.lisp (file)

Method: %deserialize-struct (TYPE (eql qpu)) (PAYLOAD hash-table)
Source

core-messages.lisp (file)

Method: %deserialize-struct (TYPE (eql rackmeta)) (PAYLOAD hash-table)
Source

core-messages.lisp (file)

Method: %deserialize-struct (TYPE (eql scheduleirjob)) (PAYLOAD hash-table)
Source

core-messages.lisp (file)

Method: %deserialize-struct (TYPE (eql program)) (PAYLOAD hash-table)
Source

core-messages.lisp (file)

Method: %deserialize-struct (TYPE (eql mnioconnection)) (PAYLOAD hash-table)
Source

core-messages.lisp (file)

Method: %deserialize-struct (TYPE (eql capture)) (PAYLOAD hash-table)
Source

core-messages.lisp (file)

Method: %deserialize-struct (TYPE (eql setscale)) (PAYLOAD hash-table)
Source

core-messages.lisp (file)

Method: %deserialize-struct (TYPE (eql shiftfrequency)) (PAYLOAD hash-table)
Source

core-messages.lisp (file)

Method: %deserialize-struct (TYPE (eql setfrequency)) (PAYLOAD hash-table)
Source

core-messages.lisp (file)

Method: %deserialize-struct (TYPE (eql swapphases)) (PAYLOAD hash-table)
Source

core-messages.lisp (file)

Method: %deserialize-struct (TYPE (eql shiftphase)) (PAYLOAD hash-table)
Source

core-messages.lisp (file)

Method: %deserialize-struct (TYPE (eql setphase)) (PAYLOAD hash-table)
Source

core-messages.lisp (file)

Method: %deserialize-struct (TYPE (eql flatpulse)) (PAYLOAD hash-table)
Source

core-messages.lisp (file)

Method: %deserialize-struct (TYPE (eql pulse)) (PAYLOAD hash-table)
Source

core-messages.lisp (file)

Method: %deserialize-struct (TYPE (eql debugmessage)) (PAYLOAD hash-table)
Source

core-messages.lisp (file)

Method: %deserialize-struct (TYPE (eql instruction)) (PAYLOAD hash-table)
Source

core-messages.lisp (file)

Method: %deserialize-struct (TYPE (eql parameterexpression)) (PAYLOAD hash-table)
Source

core-messages.lisp (file)

Method: %deserialize-struct (TYPE (eql receiver)) (PAYLOAD hash-table)
Source

core-messages.lisp (file)

Method: %deserialize-struct (TYPE (eql dataaxis)) (PAYLOAD hash-table)
Source

core-messages.lisp (file)

Method: %deserialize-struct (TYPE (eql filternode)) (PAYLOAD hash-table)
Source

core-messages.lisp (file)

Method: %deserialize-struct (TYPE (eql boxcaraveragerkernel)) (PAYLOAD hash-table)
Source

core-messages.lisp (file)

Method: %deserialize-struct (TYPE (eql flatkernel)) (PAYLOAD hash-table)
Source

core-messages.lisp (file)

Method: %deserialize-struct (TYPE (eql templatekernel)) (PAYLOAD hash-table)
Source

core-messages.lisp (file)

Method: %deserialize-struct (TYPE (eql filterkernel)) (PAYLOAD hash-table)
Source

core-messages.lisp (file)

Method: %deserialize-struct (TYPE (eql abstractkernel)) (PAYLOAD hash-table)
Source

core-messages.lisp (file)

Method: %deserialize-struct (TYPE (eql flatwaveform)) (PAYLOAD hash-table)
Source

core-messages.lisp (file)

Method: %deserialize-struct (TYPE (eql erfsquarewaveform)) (PAYLOAD hash-table)
Source

core-messages.lisp (file)

Method: %deserialize-struct (TYPE (eql hermitegaussianwaveform)) (PAYLOAD hash-table)
Source

core-messages.lisp (file)

Method: %deserialize-struct (TYPE (eql draggaussianwaveform)) (PAYLOAD hash-table)
Source

core-messages.lisp (file)

Method: %deserialize-struct (TYPE (eql gaussianwaveform)) (PAYLOAD hash-table)
Source

core-messages.lisp (file)

Method: %deserialize-struct (TYPE (eql templatewaveform)) (PAYLOAD hash-table)
Source

core-messages.lisp (file)

Method: %deserialize-struct (TYPE (eql waveform)) (PAYLOAD hash-table)
Source

core-messages.lisp (file)

Method: %deserialize-struct (TYPE (eql abstractwaveform)) (PAYLOAD hash-table)
Source

core-messages.lisp (file)

Method: %deserialize-struct (TYPE (eql resources)) (PAYLOAD hash-table)
Source

core-messages.lisp (file)