XvcServer
For conceptual guidance, see Xilinx Protocols.
The class description is shown below:
-
class XvcServer
[header] TCP listener for XVC client connections.
XvcServerowns the listening socket and accepts one sub-connection at a time. Each accepted client is serviced viaXvcConnection, which performs XVC protocol parsing and delegates JTAG operations toJtagDriver.Public Functions
-
XvcServer(uint16_t port, int wakeFd, 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 (2542 is the Vivado default; 0 = kernel-assigned).
wakeFd – Read end of the Xvc self-pipe used to break out of select() on shutdown.
drv – Driver used by accepted connections.
maxMsgSize – Maximum protocol message/vector size in bytes.
-
virtual void run(std::atomic<bool> &threadEn, rogue::LoggingPtr log)
[header] [impl] Runs accept loop; blocks in select() until accept-ready or wakeFd readable. Loop continues while threadEn is true.
- Parameters:
threadEn – Atomic run-control flag; loop exits when false.
log – Logger used for connection-level diagnostics.
-
XvcServer(uint16_t port, int wakeFd, JtagDriver *drv, unsigned maxMsgSize = 32768)