Hi Andrey,

as I understand it this is somewhat similar of an old question of mine (for the 
equals method of a Request / Response).
I suggested back then to use UUIDs which chris didn’t like that much because 
they are too heavy (as unique ID / handle), thus we kept it as is.

But another lightweight solution would be to have a simple static final 
AtomicLong which is called in the constructor to enforce uniqueness in one jvm.

This could then be used as correlation id, or?

Julian

Am 08.10.18, 18:25 schrieb "Andrey Skorikov" <andrey.skori...@codecentric.de>:

    Hi Chris,
    
    but this would only make sense for CYCLIC subscriptions. Whenever a 
    CHANGE_OF_STATE or EVENT subscription is used, there is no read request 
    at all, even not a "virtual" one.
    
    If we want to somehow correlate subscription events to what was 
    requested, I think we should not use getRequest() to do it, but use some 
    sort of a handle instead (PlcSubscriptionHandle?) or allow the client to 
    associate a "passback" object with the subscription, which is, well, 
    passed back to the client along with the subscription event data.
    
    Andrey
    
    
    On 10/08/2018 05:33 PM, Christofer Dutz wrote:
    > Hi Andrey,
    >
    > well usually the Response references the Request ... for the 
PlcSubscriptionEvent this is nothing different than repeatedly receiving 
multiple PlcReadResponses for one Request ... sort of like creating a 
PlcReadRequest and calling "execute()" repeatedly on it without re-creating the 
request.
    >
    > I haven't implemented any driver using this interface, but I would assume 
that it should reference the PlcSubscriptionRequest as that is where we can see 
what was requested.
    >
    > But I'm open for other interpretations.
    >
    > Chris
    >
    > Am 08.10.18, 13:03 schrieb "Andrey Skorikov" 
<andrey.skori...@codecentric.de>:
    >
    >      Hello all,
    >      
    >      the interface PlcSubscriptionEvent extends PlcReadResponse, but I am 
not
    >      sure whether that is correct: every response has a corresponding
    >      request, which is obtained by calling getRequest() on the response.
    >      However, what request shall be returned if getRequest() is called on
    >      PlcSubscriptionEvent? In my understanding such request does not 
exist,
    >      since the subscription request has the corresponsing subscription
    >      response and not subscription event.
    >      
    >      Andrey
    >      
    >      
    >
    
    

Reply via email to