Giter Club home page Giter Club logo

quic's Introduction

QUIC implementation for ns-3

QUIC code base

This repository contains in the code for a native IETF QUIC implementation in ns-3.

The implementation is described in this paper.

Please use this issue tracker for bugs/questions.

Install

Prerequisites

To run simulations using this module, you will need to install ns-3, clone this repository inside the src directory, copy the QUIC applications from the quic-applications folder, and patch the wscript file of the applications module. Required dependencies include git and a build environment.

Installing dependencies

Please refer to the ns-3 wiki for instructions on how to set up your system to install ns-3.

Downloading

First, clone the main ns-3 repository:

git clone https://gitlab.com/nsnam/ns-3-dev ns-3-dev
cd ns-3-dev/src

Then, clone the quic module:

git clone https://github.com/signetlabdei/quic quic

Thirdly, copy the QUIC applications and helpers to the applications module

cp quic/quic-applications/model/* applications/model/
cp quic/quic-applications/helper/* applications/helper/

Finally, edit the CMakeLists.txt file of the applications module and add

        model/quic-echo-client.h
        model/quic-echo-server.h
        model/quic-client.h
        model/quic-server.h
        helper/quic-echo-helper.h
        helper/quic-client-server-helper.h

to the HEADER_FILES list and

        model/quic-echo-client.cc
        model/quic-echo-server.cc
        model/quic-client.cc
        model/quic-server.cc
        helper/quic-echo-helper.cc
        helper/quic-client-server-helper.cc

to the SOURCE_FILES list.

Compilation

Configure and build ns-3 from the ns-3-dev folder:

./ns3 configure --enable-tests --enable-examples
./ns3 build

If you are not interested in using the Python bindings, use

./ns3 configure --enable-tests --enable-examples --disable-python
./ns3 build

quic's People

Contributors

fedech avatar il-thecrow avatar mychele avatar tnull avatar tomhenderson avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

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.