Commit Graph

489 Commits

Author SHA1 Message Date
Michael Davidsaver 86fa8c8cf6 fix usage/example of Subscription::pop() 2020-10-19 16:00:51 -07:00
Michael Davidsaver d257e29aa3 minor doc 2020-10-19 12:41:44 -07:00
Michael Davidsaver 02a4bd719e Implement IOCsh pvxsr() 2020-09-08 14:23:22 -07:00
Michael Davidsaver 238169dbc7 document IOC integration 2020-09-08 14:23:22 -07:00
Vodopivec, Klemen eb11d9e1bc Fix registering functions with EPICS
Replace index_sequence implementation with one compatible with C++14
which also properly initializes arguments. Secondly, changed args to be array
of pointers instead of array of entries. This seems to fix problems and allows
to invoke functions from ioc shell.
2020-09-08 13:59:46 -07:00
Michael Davidsaver 6bbcf8aebb add iochooks and pvxsIoc library 2020-09-08 13:59:44 -07:00
Michael Davidsaver b99e5c9ae6 doc 2020-09-08 13:53:42 -07:00
Michael Davidsaver 0b6dcde043 add example RPC server/client 2020-08-18 13:25:18 -07:00
Michael Davidsaver ba44131704 allow assign to union (fixes clone()) 2020-08-18 13:01:58 -07:00
Michael Davidsaver 3fc91f2cad minor 2020-08-10 12:09:55 -07:00
Michael Davidsaver 4fac067287 client: monitor avoid extra wakeups 2020-08-10 12:09:55 -07:00
Michael Davidsaver 3fe3a65c18 export cnt_*
Apparently clang sometimes emits relocations
in .debug sections referencing these otherwise
hidden symbols.
2020-08-10 12:09:55 -07:00
Michael Davidsaver 280919b3ec server: adjust handling of invalid SID
Downgrade severity as invalid SIDs are an
unavoidable possibility after server
channel destroy.
2020-08-10 12:09:55 -07:00
Michael Davidsaver e52ae674ca client: bypass search throttling during Channel creation 2020-08-10 12:09:55 -07:00
Michael Davidsaver 8c55bf7de7 SharedPV monitor discard empty updates 2020-08-10 12:09:55 -07:00
Michael Davidsaver 9192ba3c33 test shuffle 2020-08-10 12:09:55 -07:00
Michael Davidsaver 7a25744807 minor 2020-08-10 12:09:55 -07:00
Michael Davidsaver 4e2f9554a8 server ensure channel onClose() has run 2020-08-10 12:09:55 -07:00
Michael Davidsaver a2f478cc24 server: fixup channel state handling 2020-08-10 12:09:55 -07:00
Michael Davidsaver 6a46e44da9 fix SharedPV onLastDisconnect when not open() 2020-08-10 12:09:55 -07:00
Michael Davidsaver 67843eb392 more config 2020-08-10 12:09:55 -07:00
Michael Davidsaver a6e7e9488d parse IPs with aToIPAddr()
evutil_parse_sockaddr_port() doesn't accept port zero.
2020-08-10 12:09:55 -07:00
Michael Davidsaver 4322eb1491 relax parsing of bool from EPICS_PVA* 2020-08-10 12:09:55 -07:00
Michael Davidsaver 47594c9528 more testpvreq 2020-08-10 12:09:55 -07:00
Michael Davidsaver e52397fb63 Operation::cancel() return true if cancelled 2020-08-10 12:09:55 -07:00
Michael Davidsaver a16a9cc584 client Context::rpc() pass const Value& 2020-08-10 12:09:55 -07:00
Michael Davidsaver 8182b01ef1 minor 2020-08-10 12:09:55 -07:00
Michael Davidsaver edce454dc7 avoid unnecesary copies 2020-08-10 12:09:55 -07:00
Michael Davidsaver 33b6f362db client: Handle orphaned Operations
Allow Operation instances to outlive
the Context through which they were
created.
2020-08-10 12:09:55 -07:00
Michael Davidsaver 5f421ce46b doc 2020-08-10 12:09:55 -07:00
Michael Davidsaver 3b9dd9c405 client Operation expose PV name
Desirable to include in error messages if nothing else
2020-08-10 12:09:55 -07:00
Michael Davidsaver c8f72f5319 detect attempt to call() into inactive loop 2020-08-10 12:09:55 -07:00
Michael Davidsaver 5079be41fe minor 2020-07-26 20:46:12 -07:00
Michael Davidsaver 8fd2f9df8f client Builder rawRequest() take const ref 2020-07-26 20:46:12 -07:00
Michael Davidsaver 64400c5050 client Builders allow default ctor
simplify handling of Builders
2020-07-26 20:46:12 -07:00
Michael Davidsaver 2d475eed74 Add Context::request() builder 2020-07-26 20:46:12 -07:00
Michael Davidsaver e36db5527c Server fail hard on invalid EPICS_PVAS_INTF_ADDR_LIST 2020-07-26 20:46:12 -07:00
Michael Davidsaver 63912a017a add operator<< for Server 2020-07-26 20:46:12 -07:00
Michael Davidsaver 9328d193af indented std::ostream w/ xalloc() 2020-07-26 20:46:12 -07:00
Michael Davidsaver e8649ecdd2 add StaticSource::close() 2020-07-26 20:46:12 -07:00
Michael Davidsaver ce80e8897b Pass SharedPV& to onFirstConnect()/onLastDisconnect()
For consistency among the on*() callbacks.
2020-07-26 20:46:12 -07:00
Michael Davidsaver 80ee77c2ea Add StaticSource::list() 2020-07-26 20:46:12 -07:00
Michael Davidsaver e31e6cda36 Add copy variant of SharedPV::fetch() 2020-07-26 20:46:12 -07:00
Michael Davidsaver 24f3478c98 post() with const ref.
Added "safety" of passing move-able reference
is an illusion since no use_count()==1 test
is done.  Instead extra (shallow) copies
were made for each subscriber.

Instead.  Pass const reference, redefine
MonitorControlOp::post() to transfer ownership,
and make only a single copy in SharedPV::post().
2020-07-26 20:46:12 -07:00
Michael Davidsaver 7debb1fae3 update Config handling
rename from_env() -> fromEnv()
add fromDefs()
2020-07-26 20:46:12 -07:00
Michael Davidsaver c282d94621 testdata MSVC TODO 2020-07-22 11:26:41 -07:00
Michael Davidsaver f4576d4c33 Include input string when reporting parsing error (as NoConvert) 2020-07-22 11:14:57 -07:00
Michael Davidsaver 51386c81b4 convertArr() ignore types when count==0 2020-07-22 11:14:57 -07:00
Michael Davidsaver 5210b7041d fix TypeDef amend 2020-07-22 11:14:57 -07:00
Michael Davidsaver 90203c9b86 truncate when storing scalar numeric 2020-07-19 21:07:15 -07:00