Commit Graph

69 Commits

Author SHA1 Message Date
a18f76f864 Cleaning up requested objects from time to time, to work around a leak that sometimes happens. 2016-09-21 19:37:17 +02:00
83abce0f52 Deprecate DefaultNetworkHandler in favor of NioNetworkHandler 2016-09-13 07:25:23 +02:00
489b8968e0 Refactored use of the DefaultMessageListener so it's retrieved from the InternalContext 2016-09-12 08:18:30 +02:00
a240606909 Minor improvements and fixes 2016-09-05 19:35:36 +02:00
dad05d835b Created an improved JdbcNodeRegistry and removed MemoryNodeRegistry, as it doesn't properly work with the way nodes are handled and disseminated in the new PyBitmessage client. The new one should work a lot more stable. 2016-09-01 07:35:46 +02:00
827973f642 Improved connecting to the network 2016-08-29 12:30:26 +02:00
53aa2c6804 Slightly improved the problem with stale objects in the requested objects list. But I don't know how to properly solve it, there may always be some left. 2016-08-25 12:44:06 +02:00
caa2219a63 It looks like the NIO network handler works now - some testing needed to see how reliably 2016-08-24 22:17:02 +02:00
cd3a801704 Used wrong nonce for version message 2016-08-09 19:50:11 +02:00
334a510743 Fixes, improved tests and other improvements 2016-07-29 07:49:53 +02:00
56ebb7b8fa Better memory management for the out buffer 2016-07-27 07:38:39 +02:00
48ff975ffd Better memory management for the in buffer (the same TODO for the out buffer. 2016-07-25 07:52:27 +02:00
50f2c7e080 Fixed synchronisation 2016-07-09 16:37:12 +02:00
d130080df2 Implemented methods offer and request, system test works now but synchronization is still broken. 2016-07-08 18:14:41 +02:00
abc2f63aa6 Some further fixes and improvements, not all tests working yet 2016-06-20 16:33:47 +02:00
ae2120675f Tests with NioNetworkHandler as peer work now 2016-06-18 23:09:23 +02:00
0fadb40c6c Improved tests and fixed some 2016-06-16 19:47:59 +02:00
cde4f7b3ce Some refactoring to move some common code into an AbstractConnection 2016-06-01 17:38:49 +02:00
08f2d5d6f1 Added write(ByteBuffer) to Streamable interface and a first draft for a NioNetworkHandler 2016-05-28 10:22:47 +02:00
43f42dd400 This breaks a lot of things, but it seems necessary. Implemented the resending mechanism and fixed many problems on the way, but tests and triggers are still to do. 2016-05-20 07:32:41 +02:00
678a48ac3f Fixed system test and ProofOfWorkService 2016-05-05 10:50:22 +02:00
784b192bab Simplyfied MultiThreadedPOWEngine and thread pool creation 2016-04-28 07:15:48 +02:00
4f7f80c12a Added tests and code improvements 2016-04-08 19:22:40 +02:00
3e5e431d6f Code cleanup 2016-02-28 23:03:00 +01:00
2a17e6024f Code cleanup 2016-02-26 15:06:47 +01:00
bc68a5d3ec Code cleanup & improvements
- most notably removed some unnecessary synchronize blocks in the DefaultNetworkHandler
2016-02-26 14:34:08 +01:00
f6add5b2ea Code cleanup 2016-02-25 16:36:43 +01:00
9f1e0057c9 Code cleanup 2016-02-24 23:10:04 +01:00
4dd639e651 Code cleanup 2016-02-24 22:51:35 +01:00
9f05af8bb7 Finally fixed the bug that was haunting me for the last week. 2016-01-21 20:32:23 +01:00
733335ef42 Improved performance and network stability 2016-01-19 21:09:46 +01:00
35077243b0 Fixed synchronization 2016-01-17 07:13:29 +01:00
8764642878 Major fixes and improvements to the network module, fixing problems where objects where requested multiple times or not at all in some situations. 2016-01-16 08:47:50 +01:00
991a0e5f86 Some improvements for custom message handling 2015-12-02 17:45:50 +01:00
99266712fa Some extensions for server POW 2015-11-28 20:27:05 +01:00
1f05a52f05 Improvements
- Massively reduced logging, especially at debug level
- Optimizations to reduce system load
- Use bootstrapping to find stable nodes
2015-11-08 10:14:37 +01:00
c9c0806e0d Attempt to disconnect on thread interrupt 2015-10-29 12:34:29 +01:00
bdc8e025c1 Connections are now severed after a configurable time (12h by default) or when a limit is exceeded (150 by default) 2015-10-24 12:08:23 +02:00
511b3c1754 Connections now use two separate threads for writing and listening
- this should avoid dead locks, specifically when connecting to Jabit :/
- also, Java 8 features are now allowed in modules not needed by Android clients
2015-10-14 18:37:43 +02:00
117ac3ca73 Fixed some problems and added cleanup on shutdown 2015-10-12 12:44:13 +02:00
ea1419eda1 Synchronisation API - added option to wait for the synchronization to finish 2015-10-08 13:12:39 +02:00
f9ff22bebe Synchronisation API and related refactorings / improvements
-> lets you synchronize with the Bitmessage network without staying connected
2015-10-07 21:50:41 +02:00
c3fdee79ca Some bugfixes and added findMessages by sender 2015-09-29 07:13:27 +02:00
7fb837645f Synchronisation now shouldn't fail if the trusted host has no new messages
- fixed tests for Gradle builds
- fixed SerializationTest
2015-09-25 23:35:31 +02:00
d67c932fb2 Added synchronization code and unit test.
Synchronisation fails if the trusted host has no new messages - this needs to be fixed (but shouldn't be an issue for real world applications)
2015-09-24 08:09:20 +02:00
f89d1a342e Fixed a few problems:
- some bugs that creeped in when I moved security into its own adapter
- improved some DB code as it doesn't work in Android anyway
- all entities should be serializable (very useful in Android)
2015-08-28 13:48:01 +02:00
b8546e28af Moving "Security" to a separate port, so there can be a Bouncycastle and a Spongycastle implementation. (BC doesn't work on Android, SC can't be used on Oracle's JVM) 2015-08-05 19:52:18 +02:00
7f4c67f43e Removing IV of received objects from requested objects list (I forgot that one) 2015-07-03 07:56:18 +02:00
2c4d95af2f smarter network code, fixed various issues
- deciding on the stream at creation time is just silly - it should be done based on the identities (this part is TODO)
- changed NodeRegistry so it doesn't store nodes - this should help to connect faster
- inventory items shouldn't be advertised to nodes that are already aware of them (issue #13)
- objects shouldn't be requested more than once (issue #9)
2015-07-01 06:57:30 +02:00
884171fe18 issue #15: fixed socket timeouts and connection shutdown - no exceptions should be thrown if the network node is being shut down, although it can take up to 5 seconds = max(READ_TIMEOUT, CONNECT_TIMEOUT) 2015-06-24 22:56:17 +02:00