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
Matej Sekoranja
95148e2d50
ref. counting macro, starting remote client implementation
2011-01-02 12:59:33 +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
ae4abfe636
Readded .hgignore
2010-12-29 15:03:41 +01:00
miha_vitorovic
c452ec3343
Merge with 0e964e46b15e05887fa9ce6e486681bf0a691654
2010-12-29 15:02:44 +01:00
miha_vitorovic
2202d88020
blockingTCPTransport - work in progress.
2010-12-29 15:01:42 +01:00
Gasper Jansa
c850a2ecfb
merging
2010-12-29 10:17:28 +01:00
Gasper Jansa
25df2c30d1
hgignore removed
2010-12-29 10:15:46 +01:00
gjansa
09076dd5bd
transportRegistry added and remove of compare fields routine from introspectionRegistry
2010-12-29 09:56:43 +01:00
gjansa
2b9c505b8d
transportRegistry test
2010-12-29 09:55:45 +01:00
gjansa
5d5346d818
transportRegistry test
2010-12-29 09:55:19 +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
gjansa
3eea9688f0
Some comments removed.
2010-12-28 10:10:00 +01:00
miha_vitorovic
58f03384c2
UDP transport cleanup - closing the socket and stopping the thread;
2010-12-28 10:09:37 +01:00
gjansa
bc3ce27494
Using == operator on fields
2010-12-28 10:06:18 +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
15ad456930
Merge with 2240b8485ef2182e083614fc304bfe7e1b6c771a
2010-12-27 14:02:31 +01:00
miha_vitorovic
54b4862e16
Finished the implementation of BlockingUDPTransport. Ready for testing and debugging.
2010-12-27 13:58:49 +01:00