1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021 2022 <2023> 2024 2025 | Index | 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021 2022 <2023> 2024 2025 |
<== Date ==> | <== Thread ==> |
---|
Subject: | Re: Does anyone have documented PV Access run time ENV variables? |
From: | Michael Davidsaver via Tech-talk <tech-talk at aps.anl.gov> |
To: | "Dmitry Yu. Bolkhovityanov" <D.Yu.Bolkhovityanov at inp.nsk.su> |
Cc: | tech-talk <tech-talk at aps.anl.gov> |
Date: | Fri, 5 May 2023 07:40:01 -0700 |
On 5/3/23 20:35, Dmitry Yu. Bolkhovityanov wrote:
Michael, On Wed, 3 May 2023, Michael Davidsaver via Tech-talk wrote:https://github.com/mdavidsaver/pvxs/blob/master/documentation/netconfig.rstThanks for a concise description of possible addressing methods! I have a question related to addressing: the "pvAccess Protocol Specification" -- e.g. https://epics-controls.org/wp-content/uploads/2018/10/pvAccess-Protocol-Specification.pdf -- contains the following statement: A client API MAY also allow a user-specified server address; in this case, the searching process would be bypassed and the specified server address data used directly. The question is: does PVXS allow specifying a server address on a per-PV basis, e.g. "(SERVER_ADDRESS_SPEC)PV_NAME"? Or does the "user-specified server address" in the statement above mean "address specified via EPICS_PVA_ADDR_LIST" only?
This has been possible since PVXS 0.2.0, although I notice that it isn't yet mentioned in the documentation. The client *Builder objects have a server() method which takes a hostname/IP address. https://github.com/mdavidsaver/pvxs/blob/dd2f076b4aa6dc63fb91980eda711eabee910696/src/pvxs/client.h#L685 An example usage in the pvxlist executable. https://github.com/mdavidsaver/pvxs/blob/dd2f076b4aa6dc63fb91980eda711eabee910696/tools/list.cpp#L162 Also, it may not be relevant for you, but do be aware that some servers based on pvAccessCPP have a bug whereby PV names must be searched for by some client before any client can create a channel. In general, I'm not sure I would recommend bypassing the search phase as a regular operation. Depending on your use case you might prefer search over TCP (set $EPICS_PVA_NAME_SERVERS).