We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
If a didUpdate callback is added to a JoinMapLane it reports the previous and the current value as the same.
didUpdate
JoinMapLane
Example:
BasicPlane.java
public class BasicPlane extends AbstractPlane { @SwimRoute("/unit/:id") AgentRoute<UnitAgent> unitAgentType; public static void main(String[] args) { final Kernel kernel = ServerLoader.loadServer(); final ActorSpace space = (ActorSpace) kernel.getSpace("basic"); kernel.start(); System.out.println("Running Basic server..."); kernel.run(); space.command("/unit/foo", "wakeup", Value.absent()); } }
UnitAgent.java
public class UnitAgent extends AbstractAgent { @SwimLane("shoppingCart") MapLane<String, Integer> shoppingCart = this.<String, Integer>mapLane(); @SwimLane("addItem") CommandLane<String> publish = this.<String>commandLane() .onCommand(msg -> { final int n = this.shoppingCart.getOrDefault(msg, 0) + 1; this.shoppingCart.put(msg, n); }); @SwimLane("join") JoinMapLane<String, String, Integer> stateStreetStats = this.<String, String, Integer>joinMapLane().didUpdate((key, newValue, oldValue) -> { System.out.println("join map lane: " + key + " count changed to " + newValue + " from " + oldValue); }); @Override public void didStart() { stateStreetStats.downlink("foo").hostUri("warp://127.0.0.1:9001").nodeUri("/unit/foo").laneUri("shoppingCart").open(); } }
Input:
@command(node:"/unit/foo", lane:"addItem")"foo" @command(node:"/unit/foo", lane:"addItem")"foo" @command(node:"/unit/foo", lane:"addItem")"foo"
Output:
join map lane: foo count changed to 1 from 1 join map lane: foo count changed to 2 from 2 join map lane: foo count changed to 3 from 3
(The previous value should be one lower than the current)
The text was updated successfully, but these errors were encountered:
Map lanes and join value lanes are not affected by this.
Sorry, something went wrong.
Assign oldObject in the JoinMapLaneRelayUpdate.beginPhase method when…
18775f4
… phase is 2 Fix for issue #66
15dddeb
40edec8
No branches or pull requests
If a
didUpdate
callback is added to aJoinMapLane
it reports the previous and the current value as the same.Example:
BasicPlane.java
UnitAgent.java
Input:
Output:
(The previous value should be one lower than the current)
The text was updated successfully, but these errors were encountered: