Michael Davidsaver
58f996fd98
update transportRegistry
...
avoid leaks of SOCKET and leaving mutex locked
when exceptions are thrown.
2018-02-01 18:54:25 -08:00
Michael Davidsaver
d33356ced6
drop deprecated
2018-01-31 12:48:59 -08:00
Michael Davidsaver
903d117485
pvAccessLog() add EPICS_PRINTF_STYLE()
...
and fixup incorrect specifiers
2017-12-28 10:49:54 -06:00
Michael Davidsaver
457d03508d
reduce noise
2017-12-12 09:57:24 -06:00
Michael Davidsaver
0161799c93
must zero osiSockAddr prior to use!
...
RTEMS depends on this or eg. bind()
will fail because comparison with
list of interface addresses is done
with memcmp()!
2017-11-28 17:54:25 -06:00
Michael Davidsaver
073c77b1ef
consolidate ServerChannel and ServerChannelImpl
...
"interface" with a single implementation.
combine and de-virtualize.
2017-11-06 15:14:41 -06:00
Michael Davidsaver
7b301c4c98
pvasr() call Channel::printInfo()
2017-11-05 17:26:52 -06:00
Michael Davidsaver
8d5c27143b
pvasr list client channels
2017-11-05 17:11:28 -06:00
Michael Davidsaver
47332fdf90
server status reporting via iocsh
2017-11-05 15:59:01 -06:00
Michael Davidsaver
98df225583
insturment with reftrack
2017-08-30 11:17:03 -05:00
Michael Davidsaver
e457e2d0c3
attempt to fix dllimport/export error
2017-07-04 19:01:23 +02:00
Michael Davidsaver
05b6da623a
rename GUID -> ServerGUID
...
avoid ambigious name on windows/mingw
2017-07-04 17:57:20 +02:00
Michael Davidsaver
42e12896d4
serverContext: shared_ptr debugging
2017-06-26 16:41:55 +02:00
Michael Davidsaver
d5481cc277
minor
2017-06-26 16:24:36 +02:00
Michael Davidsaver
0c02625aa5
servercontext wait for transport worker threads to finish
...
doing this through Transport::close()
causes deadlock in client code due to locking.
So make this an extra step.
2017-06-26 14:16:41 +02:00
Michael Davidsaver
3dca3dc38f
ServerContext clear timer queue
2017-06-22 13:51:38 +02:00
Michael Davidsaver
8270a25791
Re-add ServerContext::getChannelProviders()
2017-06-21 15:13:58 +02:00
Michael Davidsaver
35d2c610bf
separate ChannelProviderRegistry for client/server
2017-06-21 14:41:24 +02:00
Michael Davidsaver
46137f96bb
deprecate dispose()
...
bad practice
2017-06-20 20:30:37 +02:00
Michael Davidsaver
6fcfd60bd5
BlockingUDPTransport wrap close() to break ref. loop
2017-06-02 12:32:12 +02:00
Michael Davidsaver
48b3b648ef
add ServerContext::getCurrentConfig()
2017-06-01 01:56:46 +02:00
Michael Davidsaver
8971d2771c
ServerContextImpl::destroyAllTransports()
...
Better check for ref. leaks
2017-05-31 15:58:15 +02:00
Michael Davidsaver
3fa6a4e4cc
TransportRegistry composed
...
no need for a seperate allocation and shared_ptr
2017-05-31 15:48:30 +02:00
Michael Davidsaver
3ad27665e8
BlockingTCPTransportCodec::close() wait for threads
2017-05-31 15:47:46 +02:00
Michael Davidsaver
634e50e011
startPVAServer() has to keep the pointer
2017-05-31 12:18:42 +02:00
Michael Davidsaver
ce25f0b175
ServerContext ref. loop breaking and threading
...
Drop unnecessary "worker" thread which does no work.
Ensure that returned shared_ptr is unique()==true.
Add ServerContext::create() to start a new server
with specific config and/or providers
2017-05-31 11:40:51 +02:00
Michael Davidsaver
277e5c33fb
privatize some API details
...
hide a number of APIs which should not
be public APIs.
2017-05-30 17:12:31 +02:00
Matej Sekoranja
4e264f2295
win32: moved osiSockAttach() call before loadConfiguration
...
should fix #45
2016-04-26 20:48:27 +02:00
Andrew Johnson
6698bb86fb
Additional includes needed for MSVC
2016-04-06 17:02:03 -05:00
Matej Sekoranja
5279d247ca
general indent beautification
2016-03-10 23:36:16 +01:00
Matej Sekoranja
0db4a9a342
udp transport initialization refactoring (deduplication)
2016-03-02 12:37:58 +01:00
Matej Sekoranja
87fa71070d
automatic broadcast port
2016-03-02 11:08:58 +01:00
Matej Sekoranja
1ca3918afa
local multicast reimplemented
2016-03-01 12:11:25 +01:00
Matej Sekoranja
7bfe58f1e2
UDP transport shutdown fixed
2016-02-25 10:37:01 +01:00
Matej Sekoranja
f0ca714214
AUTO_ADDR_LIST - no fallback (as in CA)
2016-02-25 10:30:09 +01:00
Matej Sekoranja
db002e51c8
TODO cleanup
2016-01-04 20:12:09 +01:00
Matej Sekoranja
21a1dad07f
server: multiple NIF support for UDP
2016-01-04 14:12:19 +01:00
Matej Sekoranja
708379ec0a
udp init cleanup, auto beacon addr list
2015-12-31 11:53:12 +01:00
Matej Sekoranja
63a0c71fe9
local multicast revised for multiple NIF (server side only)
2015-12-31 11:18:49 +01:00
Matej Sekoranja
52161dff60
udp cntd
2015-12-17 22:05:25 +01:00
Matej Sekoranja
fed3bba0dc
more descriptive error logs
2015-12-17 14:36:18 +01:00
Matej Sekoranja
125822d18f
one instance of responseHandler per context
2015-12-17 09:12:33 +01:00
Michael Davidsaver
b3d58266a7
ServerContextImpl: bind to a single interface
...
Allow config option EPICS_PVAS_INTF_ADDR_LIST specify a single
interface (multiple interfaces to be handled later)
Bind TCP listen and UDP sender to the interface address.
For non-windows, bind a second UDP socket to the interface
broadcast address.
Allow dynamic broadcast port
2015-12-14 17:04:58 -05:00
Michael Davidsaver
03e5b0c747
Allow ServerContextImpl to be created w/ specific conf.
2015-12-14 17:04:57 -05:00
Michael Davidsaver
f2b47ef5e9
thread shutdown
2015-12-14 16:59:55 -05:00
Michael Davidsaver
9068fa3950
ServerContextImpl::setServerPort not fully implemented
...
actually calling this can only break things.
2015-12-14 16:59:55 -05:00
Michael Davidsaver
bcc16bdf00
serverContext: remove scary leftover
2015-12-14 14:25:20 -05:00
Michael Davidsaver
0fe4e41099
don't silently swallow exceptions
2015-11-23 16:41:31 -05:00
Matej Sekoranja
5a6b681bf7
server search response delay
2014-11-24 11:00:04 +01:00
Matej Sekoranja
66f2995a71
pvlist for servers w/ multiple providers
2014-10-15 14:13:55 +02:00