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
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
dcc2c83336
Fixed compilation error in TransportClient - dtor definition.
2011-01-05 10:36:50 +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
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
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
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
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
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
miha_vitorovic
3fc6171075
Entire BlockingTCPTransport class ported EXCEPT 'monitorSender'.
2010-12-30 12:47:49 +01:00
miha_vitorovic
2202d88020
blockingTCPTransport - work in progress.
2010-12-29 15:01:42 +01:00
miha_vitorovic
15d2daef43
Some changes to how transport is destroyed. Added virtual dtor to Transport class.
...
In server the transport is now explicitly deleted.
2010-12-28 16:29:15 +01:00
miha_vitorovic
fe5ea9442c
A working blockingUDPTransport with test.
...
TODO: debug stopping listener thread.
2010-12-28 15:47:05 +01:00
miha_vitorovic
58f03384c2
UDP transport cleanup - closing the socket and stopping the thread;
2010-12-28 10:09:37 +01:00
miha_vitorovic
16542b9e3c
Set socket options based on Connector properties.
2010-12-28 09:06:38 +01:00
miha_vitorovic
06842f7890
Makefile: renamed blockingUDP header, added blockingUDPConnector.cpp
...
blockingUDPTransport.cpp: fixed ctor, addedmutex to 'enqueueSendRequest', started using 'sys/socket.h'
remote.h: added TransportClient and Connector classes
introspectionRegistry.h: organized #includes
2010-12-28 08:59:25 +01:00
miha_vitorovic
54b4862e16
Finished the implementation of BlockingUDPTransport. Ready for testing and debugging.
2010-12-27 13:58:49 +01:00
miha_vitorovic
bf5810ff61
blockingUDPTransport - working on processRead implementation.
2010-12-24 15:00:26 +01:00
miha_vitorovic
6917f6d468
caConstants.h: removing needless declarations.
...
blockingUDPTransport.*: implementation - work in progress
remote.h: added file
inetAddressUtil.*: added 'inetAddressToString' function and fixed 'getSocketAddressList' declaration.
inetAddressUtilsTest.c: using the new function.
Makefile: added remote.h
2010-12-24 10:37:16 +01:00
miha_vitorovic
20cf4fed8b
Starting work on blocking tranport.
2010-12-21 10:06:42 +01:00