Commit Graph

56 Commits

Author SHA1 Message Date
Gasper Jansa b3fb43800f Fixing bad mering and test for search manager 2011-01-10 23:06:46 +01:00
Gasper Jansa a5f44c97c2 merging 2011-01-10 22:29:59 +01:00
Gasper Jansa 5224123ba4 deadlock and some other fixes 2011-01-10 22:15:32 +01:00
Gasper Jansa 636a1f73bd deadlock and some other fixes 2011-01-10 22:15:14 +01:00
Matej Sekoranja 21951b885d create channel w/ minor error on verification send-back 2011-01-10 21:15:17 +01:00
Matej Sekoranja 349a8217f7 merge and broadcast addresses fix 2011-01-10 17:51:30 +01:00
Matej Sekoranja a87b9e72e7 search req. accepted 2011-01-10 16:34:56 +01:00
miha_vitorovic 6db84be16e - Connecting to invalid server (port) now generates an error.
- Removed usage 'ipAddrToA' from the code. Replaced with 'ipAddrToDottedIP'.
2011-01-10 15:51:35 +01:00
miha_vitorovic d7852fa666 Moved AbstractResponseHandler definition to a more logical place. 2011-01-10 14:11:27 +01:00
miha_vitorovic df7a9fa073 Added configuration to Context and fixed all the users. 2011-01-10 14:09:58 +01:00
Matej Sekoranja 62ce32e824 merge 2011-01-09 22:50:26 +01:00
Matej Sekoranja f1f7ad2709 Context, ChannelSearchManager cyc. dep. resolved 2011-01-09 22:41:05 +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
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 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 71b9dfec6d TCP transport now basically works. Still some bugs to squash. 2011-01-07 09:53:33 +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 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