Commit Graph

527 Commits

Author SHA1 Message Date
Mike Hearn
652e3a80e9 Minor: add a troubleshooting note about "Foo is ambiguous" type errors from the compiler 2016-04-26 16:55:24 +02:00
Mike Hearn
8d7b3f4b24 Add a brief mention of AffinityExecutor to the threading section of the code style page. 2016-04-26 12:11:40 +02:00
Mike Hearn
f3ed5fc9cb Minor: rename SMM._stateMachines to remove underscore. 2016-04-25 18:13:34 +02:00
Mike Hearn
9904d5bb6e Address review comments from Shams.
Also, make ServiceAffinityExecutor subclass ThreadPoolExecutor instead of delegating to ScheduledThreadPoolExecutor. This fixes an issue with exception reporting.
2016-04-25 18:13:34 +02:00
Mike Hearn
e5a0a211da SMM: Better fiber scheduler that always schedules onto the SMM thread. 2016-04-25 16:43:46 +02:00
Mike Hearn
746aca8290 Thread safety and messaging bug fixes.
* Use the new AffinityExecutor code to fix some thread affinity issues where callbacks were running on the wrong threads. Add affinity assertions.
* Remove sleeps from UpdateBusinessDayProtocol.
* Remove a one-shot message handler before the callback is executed.
* Store un-routed messages in memory in ArtemisMessagingService to fix handler registration/message races. This is a temporary kludge until we use Artemis/MQ better.
2016-04-25 15:25:58 +02:00
Mike Hearn
63b8579669 Minor: print more logging in the IRS demo 2016-04-25 15:22:30 +02:00
Mike Hearn
1b3e919df7 Minor: print a bit more info in log lines 2016-04-25 15:22:10 +02:00
Mike Hearn
40f43fd7c8 Add a SKIP_BUILD option to the demo scripts 2016-04-25 15:21:47 +02:00
Mike Hearn
f6ef1c8071 Add AffinityExecutor: a tool for making it easier to perform thread assertions. 2016-04-25 14:50:28 +02:00
Ross Nicoll
d3011817ed Merged in rnicoll-identity-service (pull request #64)
Add InMemoryIdentityService
2016-04-21 17:57:47 +01:00
Ross Nicoll
b4513e8bec Add InMemoryIdentityService
Move FixedIdentityService to MockIdentityService under testing as it's specialised for use in tests.
Add a new InMemoryIdentityService replacing the fixed identity service in AbstractNode.
2016-04-21 17:10:43 +01:00
Mike Hearn
4c9e4ce637 SMM: Log uncaught top level fiber exceptions as something has changed about how they propagate out of Fiber.unpark 2016-04-21 13:13:52 +02:00
Mike Hearn
3ef6f18203 Merged in delete-unnecessary-service-ids (pull request #63)
Delete unnecessary service IDs. Only services exposed to the wider network need this type of identifier.
2016-04-20 17:36:50 +02:00
Mike Hearn
e88907dd41 Delete unnecessary service IDs. Only services exposed to the wider network need this type of identifier. 2016-04-20 15:28:59 +02:00
Ross Nicoll
9a17a1c144 Merged in rnicoll-test-in-memory-network (pull request #62)
Remove TestWithInMemoryNetwork
2016-04-20 13:37:35 +01:00
Ross Nicoll
78076ace3b Remove TestWithInMemoryNetwork
* Replace use of TestWithInMemoryNetwork by InMemoryMessagingTests with MockNetwork
* Replace use of TestWithInMemoryNetwork by TimestamperNodeServiceTest with MockNetwork
* Remove reference to TestWithInMemoryNetwork from TwoPartyTradeProtocolTests
2016-04-20 13:36:44 +01:00
Ross Nicoll
5ce7580470 Replace forced ID with ID
Replace the forced ID passed into MockNode with the actual ID. This ensures
mock nodes are aware of their ID as the MockNetwork sees it, essentially
always forcing ID to be overriden.
2016-04-20 13:36:44 +01:00
Mike Hearn
fcc36c472a Improve the contracts API and Cash contract a bit, and beef up the unit tests.
Better usage of generics in groupStates so the group exposes the grouping key that was used, this avoids constructs like `val issuer = outputs[0].deposit.party` which is a bit ugly.
2016-04-20 14:36:14 +02:00
Mike Hearn
804b8bdc6a Minor: Add a TODO about RecordingMap to ServiceHub 2016-04-20 14:28:39 +02:00
Mike Hearn
2de44a516f Switch Kryo serialisation to always include the class name, and avoid overhead from writing out SerializedBytes wrapper data.
This simplifies the serialisation code, reduces the use of inline functions, and ensures that running SerializedBytes<SuperClass>.deserialise() will correctly return SubClass if that's what it contained, efficiently.
2016-04-20 14:27:40 +02:00
Mike Hearn
105f39adb5 Minor: Rename core/.../Services.kt to AttachmentStorage.kt 2016-04-20 14:27:40 +02:00
Mike Hearn
6968a47a63 Fix a TODO in NodeWalletService by utilising ServiceHub.recordTransactions 2016-04-20 14:27:40 +02:00
Mike Hearn
bfa5e2091c Add a TODO referencing PLT-147 to NodeAttachmentService (randomise attachment JARs) 2016-04-20 14:27:40 +02:00
Mike Hearn
283d9a031c Minor: correct typo in api doc comment 2016-04-20 14:27:40 +02:00
Mike Hearn
77fd7941f9 Minor: remove a utility method that's used only once from WireTransaction 2016-04-20 14:27:40 +02:00
Mike Hearn
964f2b502e Minor: small cleanup in TwoPartyTradeProtocolTests, by using ServiceHub to record the fake transactions 2016-04-20 14:27:40 +02:00
Mike Hearn
70210f3ef9 Minor: rename some fields in Command to be consistent with AuthenticatedObject, just to simplify the next refactor 2016-04-20 14:27:40 +02:00
Mike Hearn
306ff69312 Minor: split TransactionBuilder into its own file, so Transactions.kt is just the core immutable types. 2016-04-20 14:27:40 +02:00
Mike Hearn
d9cfb5e1eb Minor: make LedgerTransaction implement the NamedByHash interface, for improved consistency 2016-04-20 14:27:40 +02:00
Mike Hearn
6c9222ad6a Minor: delete some unnecessary code from LedgerTransaction 2016-04-20 14:27:40 +02:00
Ross Nicoll
5d75a661b1 Merged in rnicoll-protocol-request-response (pull request #60)
Refactor common elements in node services
2016-04-19 17:58:55 +01:00
Ross Nicoll
8cdd57e4e0 Refactor common elements in node services 2016-04-19 17:57:04 +01:00
Andrius Dagys
03cab8ba09 IRS demo fixes 2016-04-19 16:00:10 +01:00
Mike Hearn
fcbe1210f7 Minor: delete a dead unit test class 2016-04-18 19:51:26 +02:00
Mike Hearn
45e89fe4ad Docsite: add info on how to run the IRS demo and rename the demos section 2016-04-18 19:44:21 +02:00
Mike Hearn
d08f7905df Regen docsite and link IRS page into it (was previously invisible) 2016-04-18 19:25:41 +02:00
Mike Hearn
1678700826 Minor: Add network-explorer to .gitignore 2016-04-18 19:15:25 +02:00
Mike Hearn
7bf1a33bc7 Mention how to fix hosed Gradle build in the README troubleshooting section 2016-04-18 18:04:31 +02:00
Mike Hearn
37f3061958 Minor: add a TODO to SignedTransaction indicating that the sandboxing/attachments based ClassLoader isn't actually used yet 2016-04-18 18:01:03 +02:00
Mike Hearn
800151b774 Merge branch 'master' into dynamic-loading 2016-04-18 17:56:31 +02:00
Mike Hearn
8bac8f42e5 Fix the trader demo, the move to include services in NodeInfo objects broke it. 2016-04-18 17:28:04 +02:00
Mike Hearn
ea4505b668 Minor: Add {nodeA, nodeB} directories to .gitignore 2016-04-18 17:27:57 +02:00
Mike Hearn
531e4a85fe Tweak the attachment classloader tests so that they don't break if IntelliJ has put the 'contracts:isolated' module on the classpath. 2016-04-14 19:42:39 +02:00
Mike Hearn
e91c46f045 Rewrite the AttachmentsClassLoader to avoid temporary file copies and fix the overlap check.
Throw a specialised exception that lists missing exceptions during deserialisation, so the dependency resolution code can access it (coming up).
2016-04-14 17:55:49 +02:00
Mike Hearn
7e9cbaa36e Minor: ClassLoaderTests reformatting 2016-04-14 16:09:19 +02:00
Mike Hearn
3050a6ad8f Minor: add API docs for the groupStates methods on TransactionForVerification 2016-04-14 12:45:47 +02:00
Mike Hearn
13f334ceba Dynamic class loading: check in a contract jar as a test resource to ensure tests can run from IntelliJ.
Minor tweak to use val more than var in tests.
2016-04-13 19:54:25 +02:00
Mike Hearn
7a9f74ca79 Merge branch 'master' into dynamic-loading 2016-04-13 19:03:04 +02:00
Mike Hearn
053f3e9003 Merged in more-small-tweaks (pull request #56)
More small tweaks
2016-04-13 15:48:47 +02:00