rogue
Loading...
Searching...
No Matches
Public Member Functions | List of all members
rogue::protocols::xilinx::XvcServer Class Reference

TCP listener for XVC client connections. More...

#include <XvcServer.h>

Public Member Functions

 XvcServer (uint16_t port, int wakeFd, JtagDriver *drv, unsigned maxMsgSize=32768)
 Constructs an XVC TCP server listener.
 
virtual void run (std::atomic< bool > &threadEn, rogue::LoggingPtr log)
 Runs accept loop; blocks in select() until accept-ready or wakeFd readable. Loop continues while threadEn is true.
 
uint32_t getPort () const
 Returns the TCP port the server is bound to (resolved if port==0 was requested).
 
virtual ~XvcServer ()
 Closes the listening socket and destroys server instance.
 

Detailed Description

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.

Definition at line 40 of file XvcServer.h.

Constructor & Destructor Documentation

◆ XvcServer()

rogue::protocols::xilinx::XvcServer::XvcServer ( uint16_t  port,
int  wakeFd,
JtagDriver drv,
unsigned  maxMsgSize = 32768 
)

Constructs an XVC TCP server listener.

Parameters
portLocal TCP port to bind (2542 is the Vivado default; 0 = kernel-assigned).
wakeFdRead end of the Xvc self-pipe used to break out of select() on shutdown.
drvDriver used by accepted connections.
maxMsgSizeMaximum protocol message/vector size in bytes.

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.

Definition at line 37 of file XvcServer.cpp.

◆ ~XvcServer()

rogue::protocols::xilinx::XvcServer::~XvcServer ( )
virtual

Closes the listening socket and destroys server instance.

Definition at line 83 of file XvcServer.cpp.

Member Function Documentation

◆ getPort()

uint32_t rogue::protocols::xilinx::XvcServer::getPort ( ) const

Returns the TCP port the server is bound to (resolved if port==0 was requested).

Definition at line 87 of file XvcServer.cpp.

◆ run()

void rogue::protocols::xilinx::XvcServer::run ( std::atomic< bool > &  threadEn,
rogue::LoggingPtr  log 
)
virtual

Runs accept loop; blocks in select() until accept-ready or wakeFd readable. Loop continues while threadEn is true.

Parameters
threadEnAtomic run-control flag; loop exits when false.
logLogger used for connection-level diagnostics.

Definition at line 91 of file XvcServer.cpp.


The documentation for this class was generated from the following files: