Commit Graph

1089 Commits

Author SHA1 Message Date
Matej Sekoranja
db002e51c8 TODO cleanup 2016-01-04 20:12:09 +01:00
Matej Sekoranja
9eae48aef4 client: multiple NIF support 2016-01-04 19:28:17 +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
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
mrkraimer
f709e339b1 Merge https://github.com/epics-base/pvAccessCPP 2015-12-16 07:37:02 -05: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
Matej Sekoranja
8fa82897e1 version bump, fixed ackAny > queueSize bug 2015-12-16 10:17:56 +01:00
Matej Sekoranja
0f87b082a3 Merge pull request #18 from dhickin/rpcClient_pvRequest
Specify pvRequest sent when creating ChannelRPC
2015-12-16 08:17:24 +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
mrkraimer
fa193a4ac7 add record[limit=n] for pipelineServiceExample.cpp 2015-12-11 06:22:42 -05:00
mrkraimer
cf2e4a9b4c pipeLine: specify option ackAny 2015-12-10 13:45:37 -05:00
Dave Hickin
590a53157f Specify pvRequest sent when creating ChannelRPC
Add the ability to specify the pvRequest PVStructure sent when creating
a Channel RPC using the pvAccess rpcClient library.

RPCClient::create() is overloaded to allow the pvRequest to be specified
whilst retaining the old default for convenience and backwards
compatibility.
2015-12-09 11:39:57 +00:00
mrkraimer
7c8dc748fe more changes to doc; src/ioc now uses epicsAtExit 2015-12-08 15:33:22 -05:00
mrkraimer
99c7a1ae24 more work on pvAccessCPP.html 2015-12-07 12:27:22 -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