|
From: Jim W. <jam...@ya...> - 2010-06-29 19:48:46
|
Hi,
I'm trying to get a Seagull scenario to work. I'm working with two channels in a single scenario. My message flow looks like
Seagull Gxx channel Seagull Gx channel Device
| | |
|----------Gxx CCR-I --------------------------------->|
| | |
|<---------Gxx CCA-I ----------------------------------|
| | |
| |---- Gx CCR-I ------->|
| | |
| |<--- Gx CCA-I --------|
| | |
< problem occurs here. The device MAY send
up an RAR to the Gxx channel>
| |---- Gx CCR-T ------->|
| | |
| |<--- Gx CCA-T --------|
| | |
|----------Gxx CCR-T --------------------------------->|
| | |
|<---------Gxx CCA-T ----------------------------------|
Depending on the device configuration, the device may send up an RAR right after or right before the Gx CCA-I. According the the documentation, I should be able to handle this with a <default> section in the scenario that consumes the RAR and sends an RAA.
This "almost" works.
When I write the scenario such that the RAR must be received before the Gx CCA-I everything works.
When I write the scenario such that the RAR is handled in a <default> section the following happens
- The RAR is sent and processed by Seagull.
+ I can see this because I can see the RAA returned by Seagull
and I can see my <log> action in the log file
- The CCA is received shortly afterwords and Seagull complains that
it received a message on an unexpected channel
(the RAR was processed on the Gxx channel and the CCA-I was on the Gx channel)
The error messages looks like:
|E| Channel error: expected channel [1] received on [0]
|E| Unexpected message that doesn't match the scenario
I've looked at the section of code that's generating these messages (and there are some ominous comments of "TO_DO" in the code.
What I'm trying to understand is
- Am I doing something wrong with my default section? (hence the request for a simple example) ... I can send my scenario file, but it's large
- Is the ability to handle a "default" on one channel while waiting for a message on a second channel something that's not implemented?
- Has anyone else encountered this and been able to work around it?
Thanks in advance,
Jim
|