Hi,Steve
your example:
role
    - server
...
        steps:
        - lava-wait ipv4_1
        - lava-wait ipv4_2
..
The server will be blocked at lava-wait event till client lava-send  ipv4_1 .. message.
If only one client run  "lava-send ipv4_2 ip=193" then server can't exit block status because it be blocked at "wait ipv4_1" event.

Steve McIntyre <steve.mcintyre@linaro.org> 于2019年5月14日周二 上午12:59写道:
Hi Jack,

On Mon, May 13, 2019 at 11:54:47PM +0800, jack lu wrote:
>if mulitnode api don't privide the "parameter queue mechanism",how can realized
>multi client access simultaneously server resource?
>For example, a test scene that have a server roler and two client roler. how
>dows roler server know message is from which client? Need user write a program
>to implement it(queue mechanism)? 
> roler server:
>   steps:
>    - lava-wait ipv4   
>    - ipdata=$(cat /tmp/lava_multi_node_cache.txt | cut -d = -f 2) 
>    ..
> roler client1:
>   steps:
>      - lava-send ipv4 ip=192
>      .. 
> roler client2:
>   steps:
>      - lava-send ipv4 ip=193 
>      ..
> from roler server , ipdata  can't be sured 192 or 193.

Simple - use different variables ipv4_1 and ipv4_2 for the two
clients? In the test code running on the server you'll need to be
working out what to do with each one anyway.

So, in the test action you'd end up with something like:

- test:
    role
    - server
...
        steps:
        - lava-wait ipv4_1
        - lava-wait ipv4_2
        - ipdata=$(cat /tmp/lava_multi_node_cache.txt | cut -d = -f 2)
        <do server test>
...
    - client1
...
        steps:
        - lava-send ipv4_! ip=192
        <do client test>
...
    - client2
...
        steps:
        - lava-send ipv4_2 ip=193
        <do client test>

Does that help you?

Cheers,
--
Steve McIntyre                                steve.mcintyre@linaro.org
<http://www.linaro.org/> Linaro.org | Open source software for ARM SoCs