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  <20132014  Index 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  <20132014 
<== Date ==> <== Thread ==>

Subject: rsrv and cas
From: Jack Smith <jacksmithvent2009@gmail.com>
To: "tech-talk@aps.anl.gov" <Tech-talk@aps.anl.gov>
Date: Mon, 7 Jan 2013 14:44:03 -0500
On Fri, Nov 30, 2012 at 11:21 AM, Ralph Lange <Ralph.Lange@gmx.de> wrote:
> On 30.11.2012 16:51, Jack Smith wrote:
>> I am trying to look through base-3.14.*/src/misc/iocInit.c. I guess
>> the only function related to caRepeater would be rsrv_init(). Then I
>> take a quick look at src/rsrv/caservertask.c, but still don't see how
>> the caRepeater get spawned. Could you tell me how the caRepeater is
>> started during iocInit?
>
> The repeater is a *client* side thing, as it fans out incoming beacons
> from other CA servers to local CA clients.
>
> In the "ca" directory (that has the ChannelAccess client code), the
> constructor of the udpiiu class (in udpiiu.cpp) calls
> caStartRepeaterIfNotInstalled(), which spawns off the repeater (around
> line 590 in udpiiu.c).
> There, depending on the architecture, the repeater is started as a
> process or (if not supported) as a thread.
>
>> Also what does "rsrv" mean / stand for?
>
> It is the old C Channel Access server. "srv" is for "server", I don't
> know what the "r" is for.
>
> Hope this helps,
> ~Ralph
>

I am starting a new thread about the two modules related to Channel
Access server: rsrv and cas.

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?

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?

Thanks,

Jack

Replies:
Re: rsrv and cas Andrew Johnson

Navigate by Date:
Prev: RE: streamDevice: how to read a value as fast as possible? Hu, Yong
Next: Re: rsrv and cas Andrew Johnson
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  <20132014 
Navigate by Thread:
Prev: APS Web Server upgrade in ~5 hours Andrew Johnson
Next: Re: rsrv and cas Andrew Johnson
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  <20132014 
ANJ, 31 Jan 2014 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· EPICSv4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·