Skip to content

Should undelivered bundles be persisted on socket close? #39

@sylvain-pierrot

Description

@sylvain-pierrot

Context

Currently, when a BP socket is closed, all pending datagrams in the receive queue are dropped. This behavior follows the standard semantics of datagram sockets in Linux.
However, DTN applications often operate under very different assumptions, where message durability may be more important than strict compliance with POSIX behavior.

Problem

Closing the socket results in the loss of all undelivered ADUs (Application Data Units) still buffered in the kernel.

Open Discussion

Should we:

  • ✅ Keep the current behavior (flush all buffered ADUs on socket close)?
  • 💡 Add support for persisting undelivered bundles and restoring them when the same endpoint is reopened?

For example, this could allow a long-lived DTN app to rebind to its previous node ID and retrieve buffered bundles after a reboot or crash.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions