17#ifndef __ROGUE_PROTOCOLS_SRP_SRPV3_H__
18#define __ROGUE_PROTOCOLS_SRP_SRPV3_H__
88 std::shared_ptr<rogue::Logging> log_;
90 static const uint32_t HeadLen = 20;
91 static const uint32_t TailLen = 4;
93 uint8_t timeout_ = 0x0A;
96 bool setupHeader(std::shared_ptr<rogue::interfaces::memory::Transaction> tran,
112 static std::shared_ptr<rogue::protocols::srp::SrpV3>
create();
138 void doTransaction(std::shared_ptr<rogue::interfaces::memory::Transaction> tran);
149 void acceptFrame(std::shared_ptr<rogue::interfaces::stream::Frame> frame);
164typedef std::shared_ptr<rogue::protocols::srp::SrpV3>
SrpV3Ptr;
Stream slave endpoint and default frame pool.
SRP v3 bridge between Rogue memory transactions and stream frames.
void setHardwareTimeout(uint8_t val)
Sets SRP hardware timeout field used in outgoing requests.
void acceptFrame(std::shared_ptr< rogue::interfaces::stream::Frame > frame)
Accepts an incoming SRP v3 response frame.
~SrpV3()
Destroys the SRP v3 interface instance.
static std::shared_ptr< rogue::protocols::srp::SrpV3 > create()
Creates an SRP v3 interface instance.
SrpV3()
Constructs an SRP v3 interface instance.
static void setup_python()
Registers Python bindings for this class.
void doTransaction(std::shared_ptr< rogue::interfaces::memory::Transaction > tran)
Processes a memory transaction and emits SRP v3 request frame(s).
std::shared_ptr< rogue::protocols::srp::SrpV3 > SrpV3Ptr