Age | Commit message (Collapse) | Author | Files | Lines |
|
Sequence numbers are now used to match requests with replies.
Mock adapter thus has to be able to tell how many messages
from the head of the queue with mock replies belong to the currently
processed request. Then they can be given the right context and
the rest of the queued replies are postponed to be delivered later
(when context of their request is known).
All replies for one request are now therefore queued together.
This affects just multipart requests for which replies have to
be pushed all at once. The trailling control ping reply is still
queued separately, however, because that is actualy another request,
e.g.:
mockVpp.MockReply( // push multipart messages all at once
&interfaces.SwInterfaceDetails{SwIfIndex:1},
&interfaces.SwInterfaceDetails{SwIfIndex:2},
&interfaces.SwInterfaceDetails{SwIfIndex:3},
)
mockVpp.MockReply(&vpe.ControlPingReply{})
Even if the multipart request has no replies, MockReply has to be
called exactly twice:
mockVpp.MockReply() // zero multipart messages
mockVpp.MockReply(&vpe.ControlPingReply{})
Change-Id: I28c15d2f52d14dca0b7fb06033d7270a7da2bde6
Signed-off-by: Milan Lenco <milan.lenco@pantheon.tech>
|
|
Requests are given sequence numbers (cycling over a finite set of 2^16
integers) that are stored into the lower 16bits of the context.
1bit is also allocated for isMultipart boolean flag and the remaining
15bits are used to store the channel ID. The sequence numbers allow
to reliably pair replies with requests, even in scenarious with timeouted
requests or ignored (unread) replies.
Sequencing is not used with asynchronous messaging as it is implemented
by methods of the Channel structure, i.e. above ReqChan and ReplyChan
channels.
Change-Id: I7ca0e8489c7ffcc388c3cfef6d05c02f9500931c
Signed-off-by: Milan Lenco <milan.lenco@pantheon.tech>
|
|
Change-Id: If94059586d4be739d6c8ae7843cfaf3bc90a5323
Signed-off-by: Ondrej Fabry <ofabry@cisco.com>
|
|
Change-Id: I699052d179c98ad3a29218fa33fafef0affb97a6
Signed-off-by: Ondrej Fabry <ofabry@cisco.com>
|
|
Change-Id: I89d465ec9395eeb298a6ca209a8a0fff9107674e
Signed-off-by: Ondrej Fabry <ofabry@cisco.com>
|
|
Change-Id: I693e8084b7e3f036dec5e557dc772857bb7d5f3d
Signed-off-by: Ondrej Fabry <ofabry@cisco.com>
|
|
Change-Id: I3610fe1e0c04f4487f6b7139fc62ef4515fad640
Signed-off-by: Ondrej Fabry <ofabry@cisco.com>
|
|
Change-Id: Idd651a29d9fc3903f52d6fe8945add3052a28b52
Signed-off-by: Ondrej Fabry <ofabry@cisco.com>
|
|
Change-Id: I738d501cbbb6673010a32847df3f1c87050b8d36
Signed-off-by: Milan Lenco <milan.lenco@pantheon.tech>
|
|
|
|
Change-Id: Iee5fa6282e845ed2aef76c9246a9068f3765139c
Signed-off-by: Ondrej Fabry <ofabry@cisco.com>
|
|
Change-Id: I34889c8c79fa8ef7a196f8d067edca7f1cb5ad33
Signed-off-by: Ondrej Fabry <ofabry@cisco.com>
|
|
- this fixes issue with mocked adapter during AsyncConnect
Change-Id: I952025fec865422f9e83cec9383d96f79a639c90
Signed-off-by: Ondrej Fabry <ofabry@cisco.com>
|
|
Change-Id: I84f2e45e5ff188a2a7a80cf69f607b44486c1754
Signed-off-by: Ondrej Fabry <ofabry@cisco.com>
|
|
Change-Id: I5e2b312e086d18eb7fa3f349750caea20005f530
Signed-off-by: Rastislav Szabo <raszabo@cisco.com>
|
|
Change-Id: Idfb6945e13522867ced96a1ed7db85e725f42d1e
Signed-off-by: Lukas Macko <lmacko@cisco.com>
|
|
Change-Id: I2f8870c52f64eb56deb44e4a807867b3ef0a0b76
Signed-off-by: Lukas Macko <lmacko@cisco.com>
|
|
Change-Id: I555587fc9ecc074ea1a42f0dc77c11716a1b06cb
Signed-off-by: Lukas Macko <lmacko@cisco.com>
|
|
Change-Id: I7c42d44d60f84fd21e55f9e4928d776f5466cc83
Signed-off-by: Lukas Macko <lmacko@cisco.com>
|
|
|
|
Change-Id: Ia0fea0569be3da7fadac9ef32d5f12c0b6de0089
Signed-off-by: Rastislav Szabo <raszabo@cisco.com>
|
|
Change-Id: I732d478b71895f4d3889752c683dbb6a84c6e17c
Signed-off-by: Milan Lenco <milan.lenco@pantheon.tech>
|
|
Change-Id: Iab9bce174596c30998981e02b7030c248c423384
Signed-off-by: Rastislav Szabo <raszabo@cisco.com>
|
|
Change-Id: I7d3b53fa238e822b36a6a82c61ffb792da3898bf
Signed-off-by: Rastislav Szabo <raszabo@cisco.com>
|
|
Change-Id: I9e822ce7e9b9f44f7d074b0294d6eda37c2a0f12
Signed-off-by: Rastislav Szabo <raszabo@cisco.com>
|
|
Signed-off-by: Rastislav Szabo <raszabo@cisco.com>
|
|
Signed-off-by: Rastislav Szabo <raszabo@cisco.com>
|
|
Signed-off-by: Rastislav Szabo <raszabo@cisco.com>
|
|
Signed-off-by: Rastislav Szabo <raszabo@cisco.com>
|