@ajay-gov i tried that. but when i set a new value, the callback im getting on the client side is,link watched info change to john from Value.absent()
i have the same callback on server side, which works correctly.
@SwimLane("info")
ValueLane<String> info = this.<String>valueLane()
.didSet((newValue, oldValue) -> {
logMessage("`info` set to " + newValue + " from " + oldValue);
});
which logs out put as below,
[/welcome/user] `info` set to doe from john
valuelane.set(swim.Value.fromAny("john"))
still it shows as absent on client side though
client.close
the connection to the server is closed and all downlinks will stop getting the data from the server.
Hi @ajay-gov
I am a two day old swimer, so the workings of swim are not yet very clear to me. I'm exploring the possibility of using a webagent as single writer per stream in an eventstore.
How does one co-ordinate planes in such a manner that only one instance of a webagent can exist in a "cluster" of servers, and ensure that requests are routed/re-routed to the node that has that instance running? this would be kind of like what you can achieve with Akka Cluster Sharding. Is this possible with swim?
Using the transit as a concrete example, say you have the following set up in your k8s yaml file
Service (ns/name): swimos/transit
StatefulSet (ns/name): default/transit
then the DNS and Hostnames will be
StatefulSet Domain: transit.swimos.svc.cluster.local
Pod DNS: transit-{0..N-1}.transit.swimos.svc.cluster.local
Pod Hostname: transit-{0..N-1}
For the 2 pod example with server-a as index 0 and server-b as index 1
POD DNS for server-a will be: transit-0.transit.swimos.svc.cluster.local
POD DNS for server-b will be: transit-1.transit.swimos.svc.cluster.local
@web
section of the recon file. If you'd like to@web
section of the recon file to be: @web(port: 9002) {