Commit Graph

301 Commits (master)

Author SHA1 Message Date
Nelson R. Perez 6e17a55deb Gradle changes & version bump
- Bumping version number to 0.6.0
- Introducing new publication mechanism using Bintray
2019-09-25 20:09:18 -05:00
Nelson R. Perez 9b27bced03 Fixed problem with AuthorityTest & LatencyNodeProviderTest 2019-09-25 20:08:52 -05:00
Nelson R. Perez e3b030b3fb Fixed problem with the NodeLatencyVerifier test case 2019-09-25 20:06:17 -05:00
Nelson R. Perez dc348b2578 Changed the 'updateNode' to make it also add a new node if it was not present 2019-09-25 17:31:54 -05:00
Nelson R. Perez 71896ad65b Bumped version to 0.6.0 and set up the bintray integration 2019-09-19 15:35:19 -05:00
Nelson R. Perez 1e8a1e0346 Updated dependencies 2019-09-12 19:30:40 -05:00
Nelson R. Perez ff59f38ba7 Merge branch 'feat_htlc' into develop 2019-09-12 13:59:47 -05:00
Nelson R. Perez 2cd989eade Fixed RedeemHtlcOperation JSON and byte serialization and introduced a serialization test case 2019-08-01 13:03:10 -05:00
Nelson R. Perez 5350cfb739 Introducing the RedeemHtlcOperation class 2019-07-31 17:38:58 -05:00
Nelson R. Perez 6ba8379b92 Introducing the HTLC object instance 2019-07-30 17:05:21 -05:00
Nelson R. Perez 39bcf78add Introducing the HTLC object type 2019-07-30 16:40:19 -05:00
Nelson R. Perez 9057121146 Properly implemented the JsonSerializable interface methods of the CreateHtlcOperation class & included that in tests
- This is required in order to communicate the operation to the full node.
2019-07-26 17:16:16 -05:00
Nelson R. Perez 9312280897 Making the HtlcHash class implement the JsonSerializable interface 2019-07-26 17:12:38 -05:00
Nelson R. Perez 606f7c183e Fixed a concurrency problem
Introduced some synchronized methods and a block in order to prevent an aparent concurrency problem with the variable 'mSelectedNode' at the NetworkService class.
2019-07-12 17:51:50 -05:00
Nelson R. Perez ca30338af6 Implemented a serialization test for a tx containing a CreateHtlcOperation 2019-07-12 00:00:46 -05:00
Nelson R. Perez bb4fd5ce5d Implementing test of the CreateHtlcOperation class byte serialization 2019-07-11 16:42:37 -05:00
Nelson R. Perez bf346f25bf Introducing the CreateHtlcOperation & supporting classes
- HtlcHashType class enumerates all supported HTLC hash functions.
- The HtlcHash class is used to represent all possible HTLC hash results.
- The CreateHtlcOperation class itself is used to represent the operation that creates an HTLC
- A simple test class was introduced in order to test hash functions and subsequently also test the HTLC operation serialization
2019-07-11 13:25:38 -05:00
Nelson R. Perez d953dae81b Created a single function at the Util static class that exposes interfaces for SHA1, RIPEMD160 & SHA-256 hash functions 2019-07-11 13:21:30 -05:00
Nelson R. Perez 12ce0ef276 Added missing operation types 2019-07-09 12:57:41 -05:00
Nelson R. Perez 7a5a975e4b Renamed method and changed its functionality
- Renamed the 'removeCurrentNodeAndReconnect' as 'reconnectNode' since it will not be removing nodes from the list anymore
- Adapted the sample app to work accordingly
2019-06-24 16:07:11 -05:00
Nelson R. Perez 2a64a9ec22 Merge branch 'develop' of github.com:Agorise/graphenej into develop 2019-06-21 21:08:39 -05:00
Nelson R. Perez 9418ed2b1e Fixing problems with the NetworkServiceManager
- Removed the 'mStartingService' boolean flag from the NetworkServiceManager.
- Introducing the 'passInfo' flag, used to decide whether or not to pass the connection info to the NetworkService calling the 'bootstrapService' method.
2019-06-21 21:07:29 -05:00
Nelson R. Perez d605a47e0e Reducing the initial connection time from 2000 to 500 ms 2019-06-21 21:02:55 -05:00
Severiano Jaramillo 1f0d616744 Modify autoConnect and verifyLatency behavior
- Added a check to make sure autoConnect=false and verifyLatency=false throw an exception, since that combination would cause the app to never connect to a node.
- Separeted the verifyLatency and autoConnect logic, so that the apps using NetworkService can decide wether to connect or not automatically, independently of verifying the latency.
2019-06-17 16:53:35 -05:00
Nelson R. Perez 562955586b Preventing a potential problem at the NetworkServiceManager and introducing some getters
- Preventing accidentally calling the 'bindService' twice at the NetworkServiceManager
- Providing a getter for the node list at the NodeLatencyVerifier
- Created a getter for the NodeLatencyVerifier at the NetworkService
2019-06-13 07:49:36 -05:00
Nelson R. Perez b032db80bc Preventing a NPE
- We're now checking that there is a selected node before trying to use it, and in case there is none we schedule a
retry in DEFAULT_INITIAL_DELAY ms.
2019-06-06 15:59:55 -05:00
Severiano Jaramillo b5e2961834 Convert NetworkService's sendMessage to synchronized, to guarantee thread safety: to avoid issues when calling that method from different threads. 2019-05-22 13:48:49 -05:00
Nelson R. Perez 65b7fef97f Merge branch 'develop' of github.com:Agorise/graphenej into develop 2019-04-04 15:12:47 -05:00
Nelson R. Perez d72e608807 - Added the required deserialization logic to parse the response to the 'get_objects' API call with an asset bitasset data type
- Removed unresponsive node URLs from the sample app
2019-04-04 15:12:09 -05:00
Nelson R. Perez 8b7b3deafe Added a few more test cases for the memo decoding 2019-02-23 21:33:09 -05:00
Nelson R. Perez 954cf3e16d Merge branch 'develop' of github.com:Agorise/graphenej into develop 2019-02-22 18:25:52 -05:00
Nelson R. Perez eb5a604fba - Added equals() and hashCode() to the Address class
- Fixed potential exception at Util.decryptAES() method
2019-02-22 18:25:36 -05:00
Nelson R. Perez f11aff72e6 Using existing instance of Handler instead of creating a new one 2019-02-13 23:30:49 -05:00
Nelson R. Perez 4181141b4e Actually updating the node latency 2019-02-13 23:30:25 -05:00
Nelson R. Perez 4c7c7b29b2 Fixed bug with the memo's nonce serialization format 2019-01-15 11:16:02 -05:00
Severiano Jaramillo 13faf6c253 Merge branch 'develop' of github.com:Agorise/graphenej into develop 2019-01-12 17:37:08 -06:00
Nelson R. Perez 709b7e2734 Adding a memo deserializer to the Gson instance that will take care of the 'get_transaction' API response 2019-01-10 22:17:33 -05:00
Severiano Jaramillo f4be0fa596 Add a public method to obtain the currently selected node: getSelectedNode() 2019-01-10 14:20:31 -06:00
Nelson R. Perez 1c261746a2 Clearing the map between request id and the ApiCallable class because when we disconnect from one node, all previous message ids should be reset 2018-12-31 13:34:10 -05:00
Nelson R. Perez 7a02e335a0 Setting write and read timeout to 5 seconds at the NetworkService 2018-12-26 17:47:59 -05:00
Nelson R. Perez 201d6957f8 - Added support for the "get_transaction" API call for the single-connection mode
- Overrided the toString method of the Transaction class
2018-12-26 17:45:41 -05:00
Nelson R. Perez 3b298ebf6b Merge branch 'develop' of github.com:Agorise/graphenej into develop 2018-12-19 12:50:55 -05:00
Nelson R. Perez b54ae2cbae Added support for the 'get_assets' API call on the single-connection mode 2018-12-19 12:49:04 -05:00
Severiano Jaramillo 91a5ecdd7b Avoid NPE related carsh in NetworkService when trying to add a very high latency to a malfunctioning node. 2018-12-15 08:51:01 -06:00
Nelson R. Perez 0cba6a9f8d Added support for the broadcast_transaction API call in the single connection mode 2018-12-06 19:17:32 -05:00
Nelson R. Perez 84515d5296 Adding the getHash() public method to the Transaction class 2018-12-06 15:55:44 -05:00
Nelson R. Perez ef41f3c44a Changing requirement for the get_required_fees API call 2018-12-03 20:50:53 -05:00
Nelson R. Perez 843aacb859 Preventing a NullPointerException while handling a node disconnection 2018-11-15 17:54:57 -05:00
Nelson R. Perez af5896a160 Replaced the PriorityQueue by the PriorityBlockingQueue in the LatencyNodeProvider class due to the fact that multiple threads can access the same provider 2018-11-08 17:59:01 -05:00
Severiano Jaramillo b6aab142b6 - Added a method to remove nodes from LatencyNodeProvider and implemented a HashSet to keep track of such removed nodes. The reason is that calls to this class are asynchronous and only removing a node from the mFullNodeHeap was not enough to guarantee that it was not going to be added again.
- Added a isRemoved variable to FullNode class, so that the object can carry itself the removal status information and be able to use the same publish subject to broadcast the status of the FullNode.
- Added a method to remove nodes from NodeLatencyVerifier, removed such nodes from pending node latency measurements map 'nodeURLMap' and publish/broadcast the FullNode information with isRemoved=true so that components listening can act accordingly.
- Make proper changes to sample app's RemoteNodeActivity so that it removes 'removed' nodes from the list.
2018-11-08 15:14:01 -06:00