Gasper Jansa
636a1f73bd
deadlock and some other fixes
2011-01-10 22:15:14 +01:00
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