Git Product home page Git Product logo

Comments (7)

GoogleCodeExporter avatar GoogleCodeExporter commented on June 17, 2024
The STATUS-FIN is for end of broadcast indication.  An example would be the end 
of a video broadcast.  It needs to be explicitly sent by the publisher and the 
publisher needs to remain on the PGM socket until the recovery window has 
elapsed for all receivers.

Therefore a closed socket or timeout appears exactly the same as data loss.  
The solution is to implement a protocol layer above PGM that implements 
notifications of socket closes, heartbeats for session longevity, etc.

Original comment by [email protected] on 19 Apr 2012 at 11:24

  • Changed state: WontFix

from openpgm.

GoogleCodeExporter avatar GoogleCodeExporter commented on June 17, 2024
Does it mean that pgm_recv() will return PGM_IO_STATUS_RESET if peer timeout 
(set with PGM_PEER_EXPIRY) occurs or the sender closes its socket?

Original comment by [email protected] on 19 Apr 2012 at 1:16

from openpgm.

GoogleCodeExporter avatar GoogleCodeExporter commented on June 17, 2024
Pretty much, both a socket close and a network fault will appear as an 
expiration of some sort.  If no data is being published it will be a peer 
expiry, it is quite possible that the PGM recovery system will fail on request 
attempts leading to the same conclusion.

Unless you can think of some other solution, or can find something in the PGM 
RFC that would be appropriate.

Original comment by [email protected] on 19 Apr 2012 at 1:20

from openpgm.

GoogleCodeExporter avatar GoogleCodeExporter commented on June 17, 2024
Hmm.. In my test I am not getting PGM_IO_STATUS_RESET when I kill my sender. 
PGM_PEER_EXPIRY is set to 10 seconds on the receiver side. I am using the 
pgmsend and pgmrecv (with additional PGM_IO_STATUS_RESET case) that come with 
the package. Any ideas?

Original comment by [email protected] on 19 Apr 2012 at 1:24

from openpgm.

GoogleCodeExporter avatar GoogleCodeExporter commented on June 17, 2024
It will need further investigation.  Remember a PGM socket can have multiple 
publishers.  Due to 'location transparency' the protocol doesn't really provide 
notifications of connections and disconnections.  Some implementations such as 
Talarian's SmartPGM handle 'connections' per sender as rigid separate entities 
that must be manually acknowledged.

I understand the requirement but there is also the complexity of how to return 
the status.  A 'peer timeout' or similar return method to pgm_recv or some 
separate messaging queue?

Original comment by [email protected] on 19 Apr 2012 at 2:35

from openpgm.

GoogleCodeExporter avatar GoogleCodeExporter commented on June 17, 2024
It would be helpful for some (most?) applications if PGM provided some 
indication of whether a session is still active or not. Why duplicate the 
heartbeat mechanism in an app if it already exists in PGM?
As for returning the status, I think a 'peer timeout' status code returned from 
pgm_recv would be appropriate.

Original comment by [email protected] on 20 Apr 2012 at 1:11

from openpgm.

GoogleCodeExporter avatar GoogleCodeExporter commented on June 17, 2024
Do you think it would be reasonable to add this 'peer timeout' status code? If 
yes, do you think you could add it in the next release?

Original comment by [email protected] on 26 Apr 2012 at 10:19

from openpgm.

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.