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
523af71b7f
duplicate search responses from the same server bound to multiple NIFs filtered out
2015-12-17 14:02:11 +01:00
Matej Sekoranja
125822d18f
one instance of responseHandler per context
2015-12-17 09:12:33 +01:00
Matej Sekoranja
a692546170
ServerChannelRequesterImpl::getRequesterName() returns client's address
2015-12-16 23:30:53 +01:00
Matej Sekoranja
4a7f057af1
server channel destroy notification to the client
2015-12-16 14:45:20 +01:00
Matej Sekoranja
0b9cdb9633
added QtCreator files to .gitignore
2015-12-16 13:54:26 +01:00
Matej Sekoranja
91b5cc707d
fixed testChannelAccess
2015-12-16 13:52:56 +01:00
Matej Sekoranja
22d6db2818
fixed testServer
2015-12-16 12:00:20 +01:00
Matej Sekoranja
d7eafcb9c5
EPICS base 3.14/clang compilation, TCPAcceptor shutdown on OSX (BSD) fixed
2015-12-16 11:46:58 +01:00
Michael Davidsaver
76b414dac6
todo: disable local mcast fanout
2015-12-14 17:04:58 -05:00
Michael Davidsaver
b350046427
todo: udprepeat
2015-12-14 17:04:58 -05:00
Michael Davidsaver
96deab1e77
todo: placeholder needs to be filled in
2015-12-14 17:04:58 -05:00
Michael Davidsaver
b64e99c680
todo: attempt to fix testChannelAccess
2015-12-14 17:04:58 -05:00
Michael Davidsaver
7b72669860
todo: locking in channelmonitor
2015-12-14 17:04:58 -05:00
Michael Davidsaver
609237a551
TODO: add virtual dtor for all classes w/ virtual methods
2015-12-14 17:04:58 -05: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
5d744dbebe
BlockingUDPTransport: add replyTransport
...
allow replies to be sent out on a different socket.
Needed when binding the an interface broadcast address.
Also, expose the ctor and deprecate pointless create() method.
2015-12-14 17:04:58 -05:00
Michael Davidsaver
5206966875
BlockingTCPAcceptor allow bind to specific interface
2015-12-14 17:04:58 -05:00
Michael Davidsaver
c0ee432598
Allow ChannelProviderFactory::newInstance to accept a Configuration
...
Deprecate ChannelProvider::configure(), which doesn't do much and
is incompatible with the idea of shared context.
A lot of down-stream mess related to the confused relationship
between InternalClientContextImpl and InternalClientContextImpl::ChannelProviderImpl.
This is changed to compose the provider within the context
and use a nested shared_ptr so that references to the provider
are really references to the context.
This brings the ownership semantic in line with what the API
suggests, and what other providers implement.
2015-12-14 17:04:57 -05:00
Michael Davidsaver
03e5b0c747
Allow ServerContextImpl to be created w/ specific conf.
2015-12-14 17:04:57 -05:00
Michael Davidsaver
b9dd9e8e6c
getRemoteName()
...
Cache the TCP peer address as a string and pass it to createChannel().
2015-12-14 17:04:57 -05:00
Michael Davidsaver
4a1bfff40f
Remove clearSendQueue
...
Use BreakTransport exception instead
2015-12-14 16:59:55 -05:00
Michael Davidsaver
f2b47ef5e9
thread shutdown
2015-12-14 16:59:55 -05:00
Michael Davidsaver
730d30fe54
AbstractCodec use fair_queue
2015-12-14 16:59:55 -05:00
Michael Davidsaver
db86e47659
add fair_queue
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
d68b19e703
BlockingTCPAcceptor: smaller listen queue
...
No good can come from making this large.
2015-12-14 16:59:55 -05:00
Michael Davidsaver
6254525cba
use epicsThread and Thread::Config
...
Catches errant c++ exceptions and is joinable
2015-12-14 16:59:47 -05:00
Michael Davidsaver
b4048c3bfd
blockingUDP: error checking
2015-12-14 14:25:20 -05:00
Michael Davidsaver
bcc16bdf00
serverContext: remove scary leftover
2015-12-14 14:25:20 -05:00
Michael Davidsaver
3eb7775493
introduce ConfigurationBuilder
2015-12-14 14:25:20 -05:00
Michael Davidsaver
b3f78718b0
update Configuration
...
move string parsing into the base class.
Add several sub-classes for different configuration
sources (environment, std::map), and ConfigurationStack
to allow chaining of different sources.
Mark Properties as deprecated, just use std::map by way
of ConfigurationMap.
2015-12-14 14:25:20 -05:00
Michael Davidsaver
7a2e25f79c
rewrite Properties
...
let's be rid of some egregiously bad C++ code...
2015-12-14 14:24:40 -05:00
Michael Davidsaver
9b43a07b47
configurationTest now uses htons, needs winsock dll
2015-11-24 20:22:37 -05:00
Matej Sekoranja
4ae0a12614
Merge pull request #17 from mdavidsaver/miscclean
...
Misc. cleanup and minor features
2015-11-25 00:25:38 +01:00
Michael Davidsaver
0fd7b111a1
pre-processor fun
2015-11-24 14:51:25 -05:00
Michael Davidsaver
fccf7c1b93
quiet (un)signed warning
2015-11-23 16:51:53 -05:00
Michael Davidsaver
be01b418f2
use CMD_* instead of magic number
2015-11-23 16:41:31 -05:00
Michael Davidsaver
f561cb97dc
shorten thread names
...
so more of the interesting part is shown by epicsThreadShowAll()
2015-11-23 16:41:31 -05:00
Michael Davidsaver
9696b17196
use shared_ptr immediately
2015-11-23 16:41:31 -05:00
Michael Davidsaver
2e64b1b785
Message for unhandled exceptions in UDP message processing
2015-11-23 16:41:31 -05:00
Michael Davidsaver
e08db19ddc
avoid unnecessary vector copy
2015-11-23 16:41:31 -05:00
Michael Davidsaver
87af5b308f
config get socket address
...
revamp configurationTest
2015-11-23 16:41:31 -05:00
Michael Davidsaver
1d30949690
no point in using envGetConfigParamPtr except for predefine parameters
...
Unless a default is provided, this is equivlent to getenv()
2015-11-23 16:41:31 -05:00
Michael Davidsaver
0fe4e41099
don't silently swallow exceptions
2015-11-23 16:41:31 -05:00
Michael Davidsaver
839faf66c0
AtomicValue use epicsAtomic if available
2015-11-23 16:41:31 -05:00
Michael Davidsaver
c59715f687
cleanup commented code blocks
2015-11-23 16:41:31 -05:00