g+
g+ Communities
Argonne National Laboratory

Experimental Physics and
Industrial Control System

1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  <2013 Index 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  <2013
<== Date ==> <== Thread ==>

Subject: RE: rsrv and cas
From: "Hu, Yong" <yhu@bnl.gov>
To: "'Andrew Johnson'" <anj@aps.anl.gov>, "tech-talk@aps.anl.gov" <tech-talk@aps.anl.gov>
Date: Mon, 7 Jan 2013 23:00:47 +0000
cas is also named Portable Channel Access Server (PCAS) or Channel Access Portable Server, see http://www.aps.anl.gov/epics/extensions/cas/index.php . CAS is on the list of EPICS Extensions, but it's actually part of the Base.   

Yong


-----Original Message-----
From: tech-talk-bounces@aps.anl.gov [mailto:tech-talk-bounces@aps.anl.gov] On Behalf Of Andrew Johnson
Sent: Monday, January 07, 2013 3:05 PM
To: tech-talk@aps.anl.gov
Subject: Re: rsrv and cas

Hi Jack,

On 2013-01-07 Jack Smith wrote:
> As Ralph said below, rsrv is the old C Channel Access server. I 
> suppose cas is the new C++ Channel Access server. Here are my
> questions:
> 
> 1. Why do we need both rsrv and cas? What functionalities are provided 
> in each module?

RSRV is still used by the IOC database.  The APIs to the two servers are different.  RSRV is written in C and knows how to talk to the database, CAS is written in C++ and has a more general interface, but its data interface turned out to *not* be appropriate to use in the IOC, which is why it has never replaced RSRV in that role.  There has been a 10+ year long project to write a better data interface and modify CAS to make use of it, but it's looking like it may be hard to merge that at this point.

> 2. When I use makeBaseApp to create an example IOC application, there 
> is one line "example_LIBS += $(EPICS_BASE_IOC_LIBS)" in the app's 
> src/Makefile and there is an output message "-lrecIoc -lsoftDevIoc 
> -lmiscIoc -lrsrvIoc -ldbtoolsIoc -lasIoc -ldbIoc -lregistryIoc 
> -ldbStaticIoc -lca -lCom"  during the app building. I see "rsrvIoc"
> and "ca" are included in the IOC. I suppose the "ca" is the Channel 
> Access Client library because an IOC could be Channel Access Server as 
> well as Channel Access Client. But I don't see something like 'cas' in 
> the linked EPICS base libraries. Where is 'cas' included, dbIoc or 
> dbStaticIoc or some else?

CAS is not used by IOCs.  If you use makeBaseApp to create an application with type caServer you'll get a sample server application which shows you the interface to CAS.  CAS is used by the PV Gateway, the CA Nameserver, and various other server interfaces to other control systems.

HTH,

- Andrew
--
There is no such thing as a free lunch.  When invited for lunch, it is best to check if you are there to eat, or to be eaten.
-- Clive Robinson


References:
rsrv and cas Jack Smith
Re: rsrv and cas Andrew Johnson

Navigate by Date:
Prev: RE: rsrv and cas Hill, Jeff
Next: motor cable assembly questions Pete Jemian
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  <2013
Navigate by Thread:
Prev: RE: rsrv and cas Hill, Jeff
Next: Qt workshop presentations Paul Sichta
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  <2013
ANJ, 09 Jan 2013 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· EPICSv4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·