Categorygithub.com/mlcl-sysu/deadline-packet-scheduler
modulepackage
0.0.0-20240422061035-d94e649950de
Repository: https://github.com/mlcl-sysu/deadline-packet-scheduler.git
Documentation: pkg.go.dev

# README

DaMPS: A Deadline-aware Multipath Packet Scheduler for Mobile Applications

Scheduler Image

Deadline-Aware Multipath Packet Scheduler, DaMPS, is designed to deliver more packets before their deadlines for mobile applications.

The Packet Scheduling Solver module can find an optimal packet scheduling matrix, the Selective Preservation module can decide to drop or preserve the packets with no feasible paths, and the Fluctuation Monitor module can adjust delay estimates to adapt to network variations.

At the beginning

Our implementation is based on the MPQUIC-go codebase.

Please read https://multipath-quic.org/2017/12/09/artifacts-available.html to figure out how to setup the code.

Usage

Requirements

  • Go 1.10.3

  • Ubuntu LTS (18.04)

Implementation

  • The implementation of DaMPS can be found in scheduler_opt.go

# Packages

No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author

# Functions

No description provided by the author
Dial establishes a new QUIC connection to a server using a net.PacketConn.
DialAddr establishes a new QUIC connection to a server.
DialAddrNonFWSecure establishes a new QUIC connection to a server.
DialNonFWSecure establishes a new non-forward-secure QUIC connection to a server using a net.PacketConn.
No description provided by the author
No description provided by the author
No description provided by the author
Listen listens for QUIC connections on a given net.PacketConn.
ListenAddr creates a QUIC server listening on a given address.
ListenAddrImpl creates a QUIC server listening on a given address.
ListenImpl listens for QUIC connections on a given net.PacketConn.
No description provided by the author
No description provided by the author
No description provided by the author

# Structs

Config contains all configuration data needed for a QUIC server or client.

# Interfaces

A Listener for incoming QUIC connections.
A NonFWSession is a QUIC connection between two peers half-way through the handshake.
A Session is a QUIC connection between two peers.
Stream is the interface implemented by QUIC streams.

# Type aliases

A Cookie can be used to verify the ownership of the client address.
The StreamID is the ID of a QUIC stream.
A VersionNumber is a QUIC version number.