41#ifndef __MEM_GEM5_PROTOCOL_TIMING_HH__
42#define __MEM_GEM5_PROTOCOL_TIMING_HH__
49class TimingResponseProtocol;
A Packet is used to encapsulate a transfer between two objects in the memory system (e....
virtual bool recvTimingResp(PacketPtr pkt)=0
Receive a timing response from the peer.
void sendRetryResp(TimingResponseProtocol *peer)
Send a retry to the peer that previously attempted a sendTimingResp to this protocol and failed.
bool trySend(TimingResponseProtocol *peer, PacketPtr pkt) const
Check if the peer can handle a timing request.
bool sendReq(TimingResponseProtocol *peer, PacketPtr pkt)
Attempt to send a timing request to the peer by calling its corresponding receive function.
virtual void recvRetrySnoopResp()=0
Called by the peer if sendTimingSnoopResp was called on this protocol (causing recvTimingSnoopResp to...
virtual void recvReqRetry()=0
Called by the peer if sendTimingReq was called on this peer (causing recvTimingReq to be called on th...
bool sendSnoopResp(TimingResponseProtocol *peer, PacketPtr pkt)
Attempt to send a timing snoop response packet to it's peer by calling its corresponding receive func...
virtual void recvTimingSnoopReq(PacketPtr pkt)=0
Receive a timing snoop request from the peer.
virtual bool recvTimingSnoopResp(PacketPtr pkt)=0
Receive a timing snoop response from the peer.
virtual void recvRespRetry()=0
Called by the peer if sendTimingResp was called on this protocol (causing recvTimingResp to be called...
bool sendResp(TimingRequestProtocol *peer, PacketPtr pkt)
Attempt to send a timing response to the peer by calling its corresponding receive function.
void sendSnoopReq(TimingRequestProtocol *peer, PacketPtr pkt)
Attempt to send a timing snoop request packet to the peer by calling its corresponding receive functi...
void sendRetrySnoopResp(TimingRequestProtocol *peer)
Send a retry to the peer that previously attempted a sendTimingSnoopResp to this peer and failed.
void sendRetryReq(TimingRequestProtocol *peer)
Send a retry to the peer that previously attempted a sendTimingReq to this protocol and failed.
virtual bool tryTiming(PacketPtr pkt)=0
Availability request from the peer.
virtual bool recvTimingReq(PacketPtr pkt)=0
Receive a timing request from the peer.
Copyright (c) 2024 - Pranith Kumar Copyright (c) 2020 Inria All rights reserved.
Declaration of the Packet class.