netqasm.backend.messages
Definitions of messages between the Host and the quantum node controller.
- class netqasm.backend.messages.MessageHeader
Bases:
Structure- classmethod len()
- id
Structure/Union member
- length
Structure/Union member
- class netqasm.backend.messages.MessageType(value)
Bases:
EnumAn enumeration.
- INIT_NEW_APP = 0
- OPEN_EPR_SOCKET = 1
- SUBROUTINE = 2
- STOP_APP = 3
- SIGNAL = 4
- class netqasm.backend.messages.Message
Bases:
Structure- classmethod deserialize_from(raw)
- Parameters:
raw (
bytes)
- type
Structure/Union member
- class netqasm.backend.messages.InitNewAppMessage(app_id=0, max_qubits=0)
Bases:
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:
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:
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)
Bases:
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:
MessageBase class for messages from the quantum node controller to the Host.
- classmethod deserialize_from(raw)
- Parameters:
raw (
bytes)
- type
Structure/Union member
- class netqasm.backend.messages.ReturnMessageType(value)
Bases:
EnumAn enumeration.
- DONE = 0
- ERR = 1
- RET_ARR = 2
- RET_REG = 3
- class netqasm.backend.messages.MsgDoneMessage(msg_id=0)
Bases:
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:
EnumAn enumeration.
- GENERAL = 0
- NO_QUBIT = 1
- UNSUPP = 2
- class netqasm.backend.messages.ErrorMessage(err_code)
Bases:
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:
StructureHeader for a message with a returned array coming from the quantum node controller.
- classmethod len()
- address
Structure/Union member
- length
Structure/Union member
- 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:
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