GithubHelp home page GithubHelp logo

Comments (6)

GoogleCodeExporter avatar GoogleCodeExporter commented on July 18, 2024
This also avoids potential (if very improbable) problem with the restarted 
process being reassigned the same PID.

Original comment by [email protected] on 2 Nov 2012 at 8:30

from protobuf-rpc-pro.

GoogleCodeExporter avatar GoogleCodeExporter commented on July 18, 2024
yes, this is feasible. My original idea was to to allow remote peers to 
determine if a client has "changed" ( lost it's memory/state on reconnection ), 
even if it connects from the same port. In which case the remote peer can 
behave differently whether the same client reconnects or if a new client 
reconnects. I will keep the System.getProperty lookup of pid - and if this is 
not found, then i will fallback on a UUID. This way it is still possible for a 
client which has "memory" which is stable over JVM restarts to reconnect to the 
remote peer rather than be considered a new connect - by setting the pid 
property to something constant.

I see that the current client bootstrap does not BIND the client's localAddress 
to the port it is claiming to be. This i will fix too. I also see that i don't 
give the client the possibility to choose a free local port to use as the 
client's PeerInfo ( identity ) for the Bootstrap construction. To this purpose 
i will add MINA's AvailablePortFinder to the code  ( pitty Netty doest seem to 
have one...).

In typical TCP client-server comms, a client would open a clientSocket from a 
free local port ( which is what the lib is doing now).  

Original comment by [email protected] on 2 Nov 2012 at 7:18

  • Changed state: Started

from protobuf-rpc-pro.

GoogleCodeExporter avatar GoogleCodeExporter commented on July 18, 2024
> This way it is still possible for a client which has "memory" which is stable 
over JVM restarts to reconnect to the remote peer rather than be considered a 
new connect - by setting the pid property to something constant.

It seems a bit clearer API if this constant could be passed to the constructor 
of (client or server) bootstrap.

Original comment by [email protected] on 2 Nov 2012 at 8:13

from protobuf-rpc-pro.

GoogleCodeExporter avatar GoogleCodeExporter commented on July 18, 2024
It is....through the client's PeerInfo which is given to the ClientBootstrap. 
The constructor with host+port inferred the pid, but there is another 
constructor which lets all 3 parameters be provided. 

Anyway, i've made the change to UUID in SVN now. I will look at making a new 
release shortly after including some other issues...
thanks and regard,P.

Original comment by [email protected] on 3 Nov 2012 at 6:04

  • Changed state: Fixed

from protobuf-rpc-pro.

GoogleCodeExporter avatar GoogleCodeExporter commented on July 18, 2024

Original comment by [email protected] on 26 Nov 2012 at 10:52

  • Changed state: Done

from protobuf-rpc-pro.

GoogleCodeExporter avatar GoogleCodeExporter commented on July 18, 2024
fixed with version 3.0.0 released today.

Original comment by [email protected] on 26 Nov 2012 at 10:52

from protobuf-rpc-pro.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.