<eigenform>
this seems intelligible to me, but it tells me there are multiple drivers on req.ready (presumably because it's actually flipped to an input?)
<eigenform>
(or maybe I'm just misusing Signature here?)
Degi_ has joined #amaranth-lang
Degi has quit [Ping timeout: 268 seconds]
Degi_ is now known as Degi
d_olex has quit [Ping timeout: 252 seconds]
notgull has joined #amaranth-lang
notgull has quit [Ping timeout: 245 seconds]
cr1901_ has joined #amaranth-lang
cr1901 has quit [Ping timeout: 260 seconds]
zyp[m] has joined #amaranth-lang
<zyp[m]>
<eigenform> "(or maybe I'm just misusing..." <- yes, the idea of a signature is that it's always seen from the perspective of an initiator/producer
<zyp[m]>
in other words, Out in a signature indicates data flow from initiator to responder or producer to consumer and an Out member with that signature in a component would indicate it is an initiator/producer for that interface, while a component with an In member of the same component would be a responder/consumer
<zyp[m]>
so for that reason you shouldn't have RequestConsumer and ResponseProducer signatures, just Request and Response, and your request handler module should have In(Request()) and Out(Response()) members
<zyp[m]>
while a module issuing requests and awaiting responses would have Out(Request()) and In(Response())
<zyp[m]>
and the data member in both of the two signatures should be Out
d_olex has joined #amaranth-lang
<eigenform>
ah, perfect - thank you! .. i guess i should've read the docs harder, it *does* literally say that :|
Lunaphied[m] has quit [Quit: Idle timeout reached: 172800s]
d_olex has quit [Ping timeout: 272 seconds]
catlosgay[m] has quit [Quit: Idle timeout reached: 172800s]
d_olex has joined #amaranth-lang
Wanda[cis] has quit [Quit: Idle timeout reached: 172800s]
d_olex has quit [Ping timeout: 245 seconds]
d_olex has joined #amaranth-lang
frgo has quit [Ping timeout: 268 seconds]
frgo has joined #amaranth-lang
FFY00 has quit [Read error: Connection reset by peer]