malcolm.modules.pva.controllers

class malcolm.modules.pva.controllers.PvaClientComms(mri: Anno(name='AMri', typ=<class 'str'>, description='The Malcolm Resource Identifier for the Block produced'), description: Anno(name='ADescription', typ=<class 'str'>, description='Description of the Block produced by the controller') = '')[source]

A class for a client to communicate with the server

Parameters
  • mri (str) – The Malcolm Resource Identifier for the Block produced

  • description (str) – Description of the Block produced by the controller

sync_proxy(mri, block)[source]

Abstract method telling the ClientComms to sync this proxy Block with its remote counterpart. Should wait until it is connected

Parameters
  • mri (str) – The mri for the remote block

  • block (BlockModel) – The local proxy Block to keep in sync

send_put(mri, attribute_name, value)[source]

Abstract method to dispatch a Put to the server

Parameters
  • mri (str) – The mri of the Block

  • attribute_name (str) – The name of the Attribute within the Block

  • value – The value to put

send_post(mri, method_name, **params)[source]

Abstract method to dispatch a Post to the server

Parameters
  • mri (str) – The mri of the Block

  • method_name (str) – The name of the Method within the Block

  • params – The parameters to send

Returns

The return results from the server

class malcolm.modules.pva.controllers.PvaServerComms(mri: Anno(name='AMri', typ=<class 'str'>, description='The Malcolm Resource Identifier for the Block produced'))[source]

A class for communication between pva client and server

Parameters

mri (str) – The Malcolm Resource Identifier for the Block produced

publish(published: Anno(name='APublished', typ=<class 'str'>, description='The list of currently published Controller mris')) None[source]
Parameters

published (str) – The list of currently published Controller mris

disconnect_pv_clients(mris: List[str]) None[source]

Disconnect anyone listening to any of the given mris