netqasm.backend.messages¶
Definitions of messages between the Host and the quantum node controller.
-
class
netqasm.backend.messages.MessageHeader¶ Bases:
_ctypes.Structure-
classmethod
len()¶
-
id¶ Structure/Union member
-
length¶ Structure/Union member
-
classmethod
-
class
netqasm.backend.messages.MessageType(value)¶ Bases:
enum.EnumAn enumeration.
-
INIT_NEW_APP= 0¶
-
OPEN_EPR_SOCKET= 1¶
-
SUBROUTINE= 2¶
-
STOP_APP= 3¶
-
SIGNAL= 4¶
-
-
class
netqasm.backend.messages.Message¶ Bases:
_ctypes.Structure-
classmethod
deserialize_from(raw)¶ - Parameters
raw (
bytes) –
-
type¶ Structure/Union member
-
classmethod
-
class
netqasm.backend.messages.InitNewAppMessage(app_id=0, max_qubits=0)¶ Bases:
netqasm.backend.messages.MessageMessage sent to the quantum node controller to register a new application.
-
TYPE= 0¶
-
app_id¶ Structure/Union member
-
max_qubits¶ Structure/Union member
-
classmethod
deserialize_from(raw)¶ - Parameters
raw (
bytes) –
-
type¶ Structure/Union member
-
-
class
netqasm.backend.messages.OpenEPRSocketMessage(app_id=0, epr_socket_id=0, remote_node_id=0, remote_epr_socket_id=0, min_fidelity=100)¶ Bases:
netqasm.backend.messages.MessageMessage sent to the quantum node controller to open an EPR socket.
-
TYPE= 1¶
-
app_id¶ Structure/Union member
-
epr_socket_id¶ Structure/Union member
-
remote_node_id¶ Structure/Union member
-
remote_epr_socket_id¶ Structure/Union member
-
min_fidelity¶ Structure/Union member
-
classmethod
deserialize_from(raw)¶ - Parameters
raw (
bytes) –
-
type¶ Structure/Union member
-
-
class
netqasm.backend.messages.SubroutineMessage(subroutine)¶ Bases:
objectMessage sent to the quantum node controller to execute a subroutine.
- Parameters
subroutine (
Union[bytes,Subroutine]) –
-
TYPE= 2¶
-
__init__(subroutine)¶ NOTE this message does not subclass from Message since it contains a subroutine which is defined separately and not as a ctype for now. Still this class defines the methods __bytes__ and deserialize_from so that it can be packed and unpacked. The packed form of the message is:
| TYP | SUBROUTINE ... |
- Parameters
subroutine (
Union[bytes,Subroutine]) –
-
classmethod
deserialize_from(raw)¶ - Parameters
raw (
bytes) –
-
class
netqasm.backend.messages.StopAppMessage(app_id=0)¶ Bases:
netqasm.backend.messages.MessageMessage sent to the quantum node controller to stop/finish an application.
-
TYPE= 3¶
-
app_id¶ Structure/Union member
-
classmethod
deserialize_from(raw)¶ - Parameters
raw (
bytes) –
-
type¶ Structure/Union member
-
-
class
netqasm.backend.messages.SignalMessage(signal=<Signal.STOP: 0>)¶ Bases:
netqasm.backend.messages.MessageMessage sent to the quantum node controller with a specific signal.
Currently only used with the SquidASM simulator backend.
- Parameters
signal (
Signal) –
-
TYPE= 4¶
-
signal¶ Structure/Union member
-
classmethod
deserialize_from(raw)¶ - Parameters
raw (
bytes) –
-
type¶ Structure/Union member
-
netqasm.backend.messages.deserialize_host_msg(raw)¶ Convert a serialized message into a Message object
- Parameters
raw (
bytes) – serialized message (string of bytes)- Return type
- Returns
deserialized message object
-
class
netqasm.backend.messages.ReturnMessage¶ Bases:
netqasm.backend.messages.MessageBase class for messages from the quantum node controller to the Host.
-
classmethod
deserialize_from(raw)¶ - Parameters
raw (
bytes) –
-
type¶ Structure/Union member
-
classmethod
-
class
netqasm.backend.messages.ReturnMessageType(value)¶ Bases:
enum.EnumAn enumeration.
-
DONE= 0¶
-
ERR= 1¶
-
RET_ARR= 2¶
-
RET_REG= 3¶
-
-
class
netqasm.backend.messages.MsgDoneMessage(msg_id=0)¶ Bases:
netqasm.backend.messages.ReturnMessageMessage to the Host that a subroutine has finished.
-
TYPE= 0¶
-
msg_id¶ Structure/Union member
-
classmethod
deserialize_from(raw)¶ - Parameters
raw (
bytes) –
-
type¶ Structure/Union member
-
-
class
netqasm.backend.messages.ErrorCode(value)¶ Bases:
enum.EnumAn enumeration.
-
GENERAL= 0¶
-
NO_QUBIT= 1¶
-
UNSUPP= 2¶
-
-
class
netqasm.backend.messages.ErrorMessage(err_code)¶ Bases:
netqasm.backend.messages.ReturnMessageMessage to the Host that an error occurred at the quantum node controller.
-
TYPE= 1¶
-
err_code¶ Structure/Union member
-
classmethod
deserialize_from(raw)¶ - Parameters
raw (
bytes) –
-
type¶ Structure/Union member
-
-
class
netqasm.backend.messages.ReturnArrayMessageHeader¶ Bases:
_ctypes.StructureHeader for a message with a returned array coming from the quantum node controller.
-
classmethod
len()¶
-
address¶ Structure/Union member
-
length¶ Structure/Union member
-
classmethod
-
class
netqasm.backend.messages.ReturnArrayMessage(address, values)¶ Bases:
objectMessage with a returned array coming from the quantum node controller.
-
TYPE= 2¶
-
__init__(address, values)¶ NOTE this message does not subclass from ReturnMessage since the values is of variable length. Still this class defines the methods __bytes__ and deserialize_from so that it can be packed and unpacked.
The packed form of the message is:
| ADDRESS | LENGTH | VALUES ... |
-
classmethod
deserialize_from(raw)¶ - Parameters
raw (
bytes) –
-
-
class
netqasm.backend.messages.ReturnRegMessage(register, value)¶ Bases:
netqasm.backend.messages.ReturnMessageMessage with a returned register coming from the quantum node controller.
-
TYPE= 3¶
-
register¶ Structure/Union member
-
value¶ Structure/Union member
-
classmethod
deserialize_from(raw)¶ - Parameters
raw (
bytes) –
-
type¶ Structure/Union member
-