XvcServer

For conceptual guidance, see Xilinx Protocols.

The class description is shown below:

class XvcServer
[header]

TCP listener for XVC client connections.

XvcServer owns the listening socket and accepts one sub-connection at a time. Each accepted client is serviced via XvcConnection, which performs XVC protocol parsing and delegates JTAG operations to JtagDriver.

Public Functions

XvcServer(uint16_t port, JtagDriver *drv, unsigned maxMsgSize = 32768)
[header] [impl]

Constructs an XVC TCP server listener.

Company : SLAC National Accelerator Laboratory

Description:

This file is part of the rogue software platform. It is subject to the license terms in the LICENSE.txt file found in the top-level directory of this distribution and at: https://confluence.slac.stanford.edu/display/ppareg/LICENSE.html. No part of the rogue software platform, including this file, may be copied, modified, propagated, or distributed except according to the terms contained in the LICENSE.txt file.

Parameters:
  • port – Local TCP port to bind and listen on.

  • drv – Driver used by accepted connections.

  • maxMsgSize – Maximum protocol message/vector size in bytes.

virtual void run(bool &threadEn, rogue::LoggingPtr log)
[header] [impl]

Runs accept loop while thread enable flag is true.

Parameters:
  • threadEn – Run-control flag checked by loop.

  • log – Logger used for connection-level diagnostics.

virtual ~XvcServer()
[header] [impl]

Closes the listening socket and destroys server instance.