Commit Graph

52 Commits

Author SHA1 Message Date
Matej Sekoranja
4b5bc38835 unsigned/size_t/shared ptrs 2012-06-15 14:47:16 +02:00
Matej Sekoranja
c31a4ed7ea Dirk's VxWorks port II. 2012-03-28 20:36:21 +02:00
Matej Sekoranja
64672885a6 initial version of new ChannelSearchManager 2011-11-08 14:34:45 +01:00
Matej Sekoranja
8464aacbef header cleanup 2011-10-20 15:40:53 +02:00
Matej Sekoranja
c64d8b343c destroy cleanup 2011-10-06 21:25:58 +02:00
Matej Sekoranja
e79de9d46d testing AtomicBoolean for _closed flag 2011-10-06 13:53:43 +02:00
Matej Sekoranja
39a99aa5ce _closed sync for UDP transport 2011-10-05 22:20:18 +02:00
Matej Sekoranja
5810d81526 right byteOrder flaga 2011-09-20 21:20:36 +02:00
Matej Sekoranja
018450b1bd merge 2011-09-20 17:51:37 +02:00
Matej Sekoranja
d03ac9d00f TCP read fixed, some unactive alignment code added 2011-09-20 17:37:28 +02:00
jr76
e1dc920661 unsigned int8 replaced with uint8_t for windows build 2011-09-19 11:33:23 +01:00
Matej Sekoranja
24d8cb96a3 adaptive byte-order 2011-09-18 20:45:18 +02:00
Matej Sekoranja
409c1f17d7 byte order independent code, transportRevision is int8 2011-09-18 10:06:37 +02:00
Matej Sekoranja
fe2db88ed4 merge 2011-09-17 22:02:53 +02:00
Matej Sekoranja
72d5fe6e3d TCP shutdown on linux 2011-09-17 16:35:10 +02:00
jrowlandls
267d486073 window: used osiSock to discover broadcast addresses, used more portable types, replaced two instances of variable length stack allocation with std::vector 2011-09-16 11:54:33 +01:00
Matej Sekoranja
633801c2ae RTEMS support; using namespace removed from headers 2011-09-13 09:56:39 +02:00
Matej Sekoranja
54d435972b new ByteBuffer support 2011-09-08 11:15:36 +02:00
Matej Sekoranja
ee0d56fcae locking order fixed 2011-08-29 08:34:21 +02:00
Matej Sekoranja
44d092ffa7 no-copy socket read 2011-08-28 10:10:56 +02:00
Matej Sekoranja
872135a4b1 new logging, SIGPIPE and other handled 2011-08-25 15:17:36 +02:00
Matej Sekoranja
dee09c353e socket spurious status checks 2011-08-23 17:50:32 +02:00
Marty Kraimer
2ee024ecb8 include files put into include/pv 2011-06-07 08:31:41 -04:00
Matej Sekoranja
484da96da6 shared_pointer cycles 2011-05-17 23:32:39 +02:00
Matej Sekoranja
1da4173535 shared_pointer const & 2011-05-13 14:02:06 +02:00
Matej Sekoranja
c36ba5264d port from pvAccessCPP-md 2011-05-12 12:47:55 +02:00
Matej Sekoranja
c12c5a8bf8 memory leak fixed 2011-03-04 09:25:32 +01:00
Marty Kraimer
753e6d246b Make * to & changes due to changes in pvData. 2011-02-18 08:20:27 -05:00
Matej Sekoranja
c87ff047ca stability 2011-02-10 17:05:34 +01:00
Matej Sekoranja
88e33f1155 channel/responseRequest destruction 2011-02-07 22:19:46 +01:00
Matej Sekoranja
f268ec5f8d volatile cleanup 2011-02-07 15:35:52 +01:00
Matej Sekoranja
8fdd51396c remote connection close fix, request destroy fix 2011-02-02 10:49:32 +01:00
Matej Sekoranja
d0db4588ee mm of TransportSender 2011-02-01 00:38:11 +01:00
Matej Sekoranja
ec3a7b3ed6 resubscription 2011-01-28 21:22:31 +01:00
Matej Sekoranja
441532ff66 baseException fix 2011-01-28 19:52:46 +01:00
Matej Sekoranja
8dbc67377c no-queue monitor implementation 2011-01-24 23:20:19 +01:00
Matej Sekoranja
5cb78eac05 TCP transport cleanup, lots of printf still in use 2011-01-24 18:07:37 +01:00
Matej Sekoranja
b23e7f13d8 memory management fixes 2011-01-23 23:47:13 +01:00
Matej Sekoranja
d8f81d79db MM cleanup 2011-01-20 19:01:25 +01:00
Matej Sekoranja
5c5305635b first successful message test 2011-01-09 20:07:03 +01:00
miha_vitorovic
07712cc1f7 Fixed a crash in client which happened if a server closed connection. 2011-01-07 13:29:00 +01:00
miha_vitorovic
3c03971939 Fixed core dumps. Transport client now finishes successfully. 2011-01-07 13:01:48 +01:00
miha_vitorovic
71b9dfec6d TCP transport now basically works. Still some bugs to squash. 2011-01-07 09:53:33 +01:00
miha_vitorovic
59b45653d1 blockingClientTCPTransport.cpp:
- changed magic numbers to enums

blockingTCPTransport.cpp:
- debug helpers only

responseHandlers.*:
- added two new handlers, NOOP and Echo
2011-01-07 08:44:43 +01:00
miha_vitorovic
8339c338de blockingServerTCPTransport.cpp:
- using enum to specify command.

BlockingTCPAcceptor.cpp:
- added 'destroy()' to dtor
- added parentheses to expressions

blockingTCPCinnector.cpp:
- fixed log message

blockingTCPTransport.cpp:
- added _socketAddress allocation
- fixed waiting for timeout in 'waitUntilVerified'
- fixed how many bytes are copied from the buffer

responseHandlers.cpp:
- added 'ConnectionValidationHandler' implementation
- added 'ConnectionValidationHandler' to 'ServerResponseHandler'

responseHandlers.h:
- added 'ConnectionValidationHandler' declaration

inetAddressUtil.cpp:
- fixed all issues with sockaddr_in byte-order
- removed function 'processAddressForList', using EPICSv3 'aToIPAddr' instead

inetAddressUtilsTest.cpp:
- fixed the tests in accordance with the correct function implementation

testBlockingUDPClnt.cpp:
- deleting transport at the end of the test

testBlockingTCPSrv.cpp, testBlockingTCPClnt.cpp:
- added tests (work in progress).

Makefile:
- added blockingTCP tests
2011-01-06 14:58:32 +01:00
miha_vitorovic
0af1781b5e Added connected clients tracking to BlockingTCPAcceptor. For each new connection a new 'BlockingServerTCPTransport' object is created, but was never released.
The acceptor now stores all the objects in a set, and registers a callback with the client, to be notified when the connection is closed. On notification the client is them removed from the set and the memory is released.
When the acceptor is destroyed, it also closes and deleted all the connected clients.
2011-01-05 13:36:07 +01:00
miha_vitorovic
bd1a4e2634 Makefile: included all the new sources
blockingClientTCPTransport.cpp: implementation

blockingTCP.h:
* class BlockingTCPTransport:
  - added Context to ctor
  - added 'virtual' declaration to overrides
  - 'priority' is now 'int16'
* added class 'BlockingClientTCPTransport'

blockingTCPConnector.cpp: implementation

blockingTCPTransport.cpp:
* removed 'transportRegistry' added 'context'

blockingUDP.h:
* added missing override 'getIntrospectionRegistry'
* 'BlockingUDPConnector::_priority' is now 'int16' instead of 'short'

blockingUDPConnector.cpp:
* 'connect' parameter priority is now 'int16' instead of 'short'
* fixed and added error logging

remote.h:
* added 'TransportRegistry' forward declaration
* added 'Transport::getIntrospectionRegistry' prototype
* changed 'Connector::connect' prototype parameter 'priority': 'short'->'int16'
* added 'Context' interface
* added 'ReferenceCountingTransport' interface

transportRegistry.h:
* added 'Transport' forward declaration

testRemoteClientImpl.cpp:
* added '#include <transportRegistry.h>' to fix compile error
* lots of auto-format changes

transportRegistryTest.cpp:
*
2011-01-04 11:58:00 +01:00
miha_vitorovic
b6df9a4d89 blockingTCP.h: added TransportRegistry, removed "using namespace"
BlockingTCPTransport: added TransportRegistry, using osiSock.h functions wherever possible
blockingUDP.h: removed "using namespace"
blockingUDPConnector.cpp: using osiSock.h functions wherever possible
blockingUDPTransport: using osiSock.h functions wherever possible, delete -> delete[]
remote.h: removed "using namespace"
arrayFIFO.h: fixed default ctor, delete -> delete[]
growingCircularBuffer.h: delete -> delete[]
testBlockingUDPClnt.cpp: using osiSock.h functions wherever possible
testBlockingUDPCSrv.cpp: using osiSock.h functions wherever possible
2011-01-03 14:30:38 +01:00
miha_vitorovic
9a8c205d54 Some GrowingCircularBuffer and Mutex cleanup. 2010-12-31 12:00:40 +01:00
miha_vitorovic
16aa5fba25 Added MonitorHandler. Porting of BlockingTCPTransport now complete.
TODO: 1) check thread sync and "notify" in Java make C++ code as equivalent as possible.
2) Debug :)
2010-12-30 13:53:52 +01:00