38#ifndef __MEM_QPORT_HH__
39#define __MEM_QPORT_HH__
bool trySatisfyFunctional(PacketPtr pkt)
Check the list of buffered packets against the supplied functional request.
void retry()
Retry sending a packet from the queue.
void schedSendTiming(PacketPtr pkt, Tick when)
Add a packet to the transmit list, and schedule a send event.
A Packet is used to encapsulate a transfer between two objects in the memory system (e....
const std::string name() const
Return port name (for DPRINTF).
The QueuedRequestPort combines two queues, a request queue and a snoop response queue,...
QueuedRequestPort(const std::string &name, ReqPacketQueue &req_queue, SnoopRespPacketQueue &snoop_resp_queue, PortID id=InvalidPortID)
Create a QueuedPort with a given name, and a supplied implementation of two packet queues.
void schedTimingReq(PacketPtr pkt, Tick when)
Schedule the sending of a timing request.
virtual ~QueuedRequestPort()
void schedTimingSnoopResp(PacketPtr pkt, Tick when)
Schedule the sending of a timing snoop response.
bool trySatisfyFunctional(PacketPtr pkt)
Check the list of buffered packets against the supplied functional request.
void recvReqRetry()
Called by the peer if sendTimingReq was called on this peer (causing recvTimingReq to be called on th...
void recvRetrySnoopResp()
Called by the peer if sendTimingSnoopResp was called on this protocol (causing recvTimingSnoopResp to...
ReqPacketQueue & reqQueue
Packet queue used to store outgoing requests.
SnoopRespPacketQueue & snoopRespQueue
Packet queue used to store outgoing snoop responses.
A queued port is a port that has an infinite queue for outgoing packets and thus decouples the module...
void recvRespRetry()
Called by the peer if sendTimingResp was called on this protocol (causing recvTimingResp to be called...
RespPacketQueue & respQueue
Packet queue used to store outgoing responses.
bool trySatisfyFunctional(PacketPtr pkt)
Check the list of buffered packets against the supplied functional request.
QueuedResponsePort(const std::string &name, RespPacketQueue &resp_queue, PortID id=InvalidPortID)
Create a QueuedPort with a given name, owner, and a supplied implementation of a packet queue.
virtual ~QueuedResponsePort()
void schedTimingResp(PacketPtr pkt, Tick when)
Schedule the sending of a timing response.
A RequestPort is a specialisation of a Port, which implements the default protocol for the three diff...
A ResponsePort is a specialization of a port.
Copyright (c) 2024 - Pranith Kumar Copyright (c) 2020 Inria All rights reserved.
const PortID InvalidPortID
int16_t PortID
Port index/ID type, and a symbolic name for an invalid port id.
uint64_t Tick
Tick count type.
Declaration of a simple PacketQueue that is associated with a port on which it attempts to send packe...