Code review comment for lp:~epics-core/epics-base/link-support-2

Revision history for this message
Andrew Johnson (anj) wrote :

Hi Michael,

I just committed changes so LSETs indicate if they are constants (i.e. they implement LoadScalar and/or LoadArray and don't set any data in Get), or volatile (links can disconnect like CA). I have changed most places where the record and device types look at plink->type to use these flags instead, so they will still work with JSON-links as well. Not done the SoftCallback devices though, the LSET doesn't have a processNotify API yet anyway.

Needless to say I haven't tested most of the changes to the std/dev or std/rec sources. Many of them should be simple enough to accept by inspection, but the calcout changes should probably be checked carefully (now uses the volatile property and the dbLink APIs instead of dbCa; I forgot to remove that header though).

I also started to document what I've been doing in the RELEASE_NOTES, probably several bits missing there still though.

Lots more code on the way, I have implemented the "remaining work" you itemized and created a const JSON link type to help prove my new dbJLink.c code. I don't have the ability to embed links inside other links yet though, I think that will need an API change. This stuff isn't quite ready to commit yet, maybe a day or two more.

I will be asking you to think about locking and if/how it will be possible to implement DB links type through a JSON link. That will probably require adding one or more routines to the LSET or even to the JLink interface for querying lock-sets, but I'll get back to you on that topic after I've committed the JLinks.

Sorry I haven't been too communicative recently, I've been on occasion working until 1:30/2am on this stuff since I don't have time at work.

- Andrew

« Back to merge proposal