Commit Graph

107 Commits

Author SHA1 Message Date
Gasper Jansa
948f706c4f merging 2011-01-09 21:45:08 +01:00
Gasper Jansa
3d59fef56e some search manager fixes 2011-01-09 21:44:38 +01:00
miha_vitorovic
2dcc2eb486 Merge with 7c40a236787c9744303bb30e6ee9cb2ec81c2215 2011-01-09 21:02:50 +01:00
miha_vitorovic
f6a9148bc3 Removed TODO from the comment for getBroadcastAddresses 2011-01-09 21:00:37 +01:00
miha_vitorovic
e40d6a9d12 getBroadcastAddresses working. 2011-01-09 20:59:02 +01:00
Gasper Jansa
e26e05bfbf epics mutex now used in named lock pattern 2011-01-09 20:15:00 +01:00
Matej Sekoranja
7a16e8f748 merge 2011-01-09 20:08:34 +01:00
Matej Sekoranja
5c5305635b first successful message test 2011-01-09 20:07:03 +01:00
Gasper Jansa
8644741cfa merging 2011-01-07 18:47:13 +01:00
Gasper Jansa
932406e847 configuration implementation and test 2011-01-07 18:46:25 +01:00
miha_vitorovic
29db197035 inetAddressUtil.cpp:
- the ported version of 'getBroadcastAddresses' compiles. TODO - test and debug.
2011-01-07 16:28:42 +01:00
miha_vitorovic
130e6f9645 Added some additional commands to 'MessageCommands' enum. 2011-01-07 15:08:53 +01:00
miha_vitorovic
8f0b4d8594 Using osiSockAddress parameter by reference wherever possible. 2011-01-07 14:42:00 +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
b868736759 Some formatting of the debug message. 2011-01-07 10:03:20 +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
387d8aa0dc Some final fixes to addressUtils regarding byte-order. 2011-01-07 08:58:17 +01:00
miha_vitorovic
a59ce661eb Merge with 8ddd7d0d0f6862b3ad94474f490855909859637e 2011-01-07 08:46:17 +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
Gasper Jansa
5707815767 empty test file for channel search manager for real now :) 2011-01-06 17:19:20 +01:00
Gasper Jansa
95fdf3e410 merging 2011-01-06 17:14:26 +01:00
Gasper Jansa
512bc514e6 Small fixes and empty channel search manager test 2011-01-06 17:12:35 +01:00
Gasper Jansa
3dcc75bb57 ChannelSearchManager implementation 2011-01-06 15:59:40 +01:00
miha_vitorovic
25d6336efa Merge with c53f510976d631f0602c377e31010184e35bce79 2011-01-06 15:00:26 +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
6c3b00dc86 configure/CONFIG_SITE:
- added explicit instructions to link pthread library, since it is not included by default on Fedora linux (possibly others?)

testRemoteClientImpl.cpp:
- added "#include <memory>" needed for std::auto_ptr
2011-01-06 09:49:22 +01:00
Matej Sekoranja
3c1b9d9743 MacOSX port, this needs to be portable... epicsMutex, but there is no timedlock. 2011-01-05 18:02:09 +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
dcc2c83336 Fixed compilation error in TransportClient - dtor definition. 2011-01-05 10:36:50 +01:00
miha_vitorovic
596d933bb5 Merge with changes from Matej 2011-01-05 10:31:17 +01:00
miha_vitorovic
5f6652af0b - Moved osiSockAddr comparators to 'inetAddressUtil.h'
- moved serve response handler implementation(s) to '/server' and fixed #includes and Makefile
2011-01-05 10:29:46 +01:00
Matej Sekoranja
0cab12ffd6 merge 2011-01-05 10:15:52 +01:00
Matej Sekoranja
bf5e3f3e19 ChannelSearchManager mocks 2011-01-05 10:14:18 +01:00
miha_vitorovic
544fc6bd73 Added NamedLockPattern to BlockingTCPConnector and resolved some warnings and compilation/linker errors.
Reference to '__sync_add_and_fetch' and '__sync_sub_and_fetch' removed for now, since it is glibc version specific.
2011-01-05 09:20:51 +01:00
miha_vitorovic
5ec1adfacb Merge with additions from Gasper Jansa 2011-01-04 23:48:59 +01:00
miha_vitorovic
6a6e9d6256 Makefile:
- added 'server' folder
- added 'blockingTCPAcceptor.cpp' and 'responseHandlers.cpp' to 'remote'

blockingTCP.h:
- added 'public' specifier to 'BlockingServerTCPTransport'
- added 'BlockingTCPAcceptor' class declaration

blockingTCPAcceptor.cpp:
- implementation

blockingTCPConnector.cpp:
- 'sizeof(optval)' -> 'sizeof(int)'

remote.h:
- enum 'MessageCommands'
- added class declarations:
  * AbstractResponseHandler
  * AbstractServerResponseHandler
  * BadResponse
  * ServerResponseHandler

responseHandlers.cpp:
- implementation of various response handlers

serverContext.h:
- dummy implementation

growingCircularBuffer.h:
- removed empty line
2011-01-04 23:47:07 +01:00
Gasper Jansa
7f528828ad merge 2011-01-04 18:44:50 +01:00
Gasper Jansa
435164bd60 Named lock pattern now for real 2011-01-04 18:43:56 +01:00
Gasper Jansa
547a648e76 Named locked pattern and some small things for beacon emitter and handler 2011-01-04 18:43:20 +01:00
miha_vitorovic
02478fa61e Added class 'BlockingServerTCPTransport'. 2011-01-04 13:17:12 +01:00
Matej Sekoranja
45ec248380 merge 2011-01-04 13:16:27 +01:00
Matej Sekoranja
b6d9221a47 ctnd. work on remote client access implementation 2011-01-04 12:58:51 +01:00
miha_vitorovic
328472f939 Merge with changes from Gasper Jansa 2011-01-04 12:01:14 +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
Gasper Jansa
a2798bb3b7 merging 2011-01-03 14:47:42 +01:00
Gasper Jansa
854a78d393 Transport Registry map uses osiSockAddr as key 2011-01-03 14:46:16 +01:00
miha_vitorovic
9b99f6f389 Merge with commit from Gasper Jansa 2011-01-03 14:31:50 +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
Gasper Jansa
0a43e1104c beaconEmitter and handler (not finished) 2011-01-03 09:58:35 +01:00