How To Install golang-github-inconshreveable-muxado-dev on Ubuntu 18.04

In this tutorial we learn how to install golang-github-inconshreveable-muxado-dev on Ubuntu 18.04. golang-github-inconshreveable-muxado-dev is Stream multiplexing for Go

Introduction

In this tutorial we learn how to install golang-github-inconshreveable-muxado-dev on Ubuntu 18.04.

What is golang-github-inconshreveable-muxado-dev

golang-github-inconshreveable-muxado-dev is:

What is stream multiplexing?

Imagine you have a single stream (a bi-directional stream of bytes) like a TCP connection. Stream multiplexing is a method for enabling the transmission of multiple simultaneous streams over the one underlying transport stream.

What is muxado?

muxado is an implementation of a stream multiplexing library in Go that can be layered on top of a net.Conn to multiplex that stream. muxado’s protocol is not currently documented explicitly, but it is very nearly an implementation of the HTTP2 framing layer with all of the HTTP-specific bits removed. It is heavily inspired by HTTP2, SPDY, and WebMUX.

How does it work?

Simplifying, muxado chunks data sent over each multiplexed stream and transmits each piece as a “frame” over the transport stream. It then sends these frames, often interleaving data for multiple streams, to the remote side. The remote endpoint then reassembles the frames into distinct streams of data which are presented to the application layer.

What good is it anyways?

A stream multiplexing library is a powerful tool for an application developer’s toolbox which solves a number of problems:

  • It allows developers to implement asynchronous/pipelined protocols with ease. Instead of matching requests with responses in your protocols, just open a new stream for each request and communicate over that.
  • muxado can do application-level keep-alives and dead-session detection so that you don’t have to write heartbeat code ever again.
  • You never need to build connection pools for services running your protocol. You can open as many independent, concurrent streams as you need without incurring any round-trip latency costs.
  • muxado allows the server to initiate new streams to clients which is normally very difficult without NAT-busting trickery.

This package contains the source.

There are three methods to install golang-github-inconshreveable-muxado-dev on Ubuntu 18.04. We can use apt-get, apt and aptitude. In the following sections we will describe each method. You can choose one of them.

Install golang-github-inconshreveable-muxado-dev Using apt-get

Update apt database with apt-get using the following command.

sudo apt-get update

After updating apt database, We can install golang-github-inconshreveable-muxado-dev using apt-get by running the following command:

sudo apt-get -y install golang-github-inconshreveable-muxado-dev

Install golang-github-inconshreveable-muxado-dev Using apt

Update apt database with apt using the following command.

sudo apt update

After updating apt database, We can install golang-github-inconshreveable-muxado-dev using apt by running the following command:

sudo apt -y install golang-github-inconshreveable-muxado-dev

Install golang-github-inconshreveable-muxado-dev Using aptitude

If you want to follow this method, you might need to install aptitude first since aptitude is usually not installed by default on Ubuntu. Update apt database with aptitude using the following command.

sudo aptitude update

After updating apt database, We can install golang-github-inconshreveable-muxado-dev using aptitude by running the following command:

sudo aptitude -y install golang-github-inconshreveable-muxado-dev

How To Uninstall golang-github-inconshreveable-muxado-dev on Ubuntu 18.04

To uninstall only the golang-github-inconshreveable-muxado-dev package we can use the following command:

sudo apt-get remove golang-github-inconshreveable-muxado-dev

Uninstall golang-github-inconshreveable-muxado-dev And Its Dependencies

To uninstall golang-github-inconshreveable-muxado-dev and its dependencies that are no longer needed by Ubuntu 18.04, we can use the command below:

sudo apt-get -y autoremove golang-github-inconshreveable-muxado-dev

Remove golang-github-inconshreveable-muxado-dev Configurations and Data

To remove golang-github-inconshreveable-muxado-dev configuration and data from Ubuntu 18.04 we can use the following command:

sudo apt-get -y purge golang-github-inconshreveable-muxado-dev

Remove golang-github-inconshreveable-muxado-dev configuration, data, and all of its dependencies

We can use the following command to remove golang-github-inconshreveable-muxado-dev configurations, data and all of its dependencies, we can use the following command:

sudo apt-get -y autoremove --purge golang-github-inconshreveable-muxado-dev

References

Summary

In this tutorial we learn how to install golang-github-inconshreveable-muxado-dev package on Ubuntu 18.04 using different package management tools: apt, apt-get and aptitude.