protocol

package
v0.3.4 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 25, 2023 License: Apache-2.0 Imports: 4 Imported by: 0

Documentation

Overview

Package protocol implements the agent that injects disruptors in protocols. The protocol disruptors run as a proxy. The agent redirects the traffic to the proxy using iptables.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Disruptor

type Disruptor interface {
	Apply(context.Context, time.Duration) error
}

Disruptor defines the interface agent

func NewDisruptor

func NewDisruptor(
	executor runtime.Executor,
	proxy Proxy,
	redirector TrafficRedirector,
) (Disruptor, error)

NewDisruptor creates a new instance of a Disruptor that applies a disruptions to a target The configuration controls how the disruptor operates.

type Proxy

type Proxy interface {
	Start() error
	Stop() error
	Force() error
}

Proxy defines an interface for a proxy

type TrafficRedirector added in v0.3.3

type TrafficRedirector interface {
	// Start initiates the redirection of traffic and resets existing connections
	Start() error
	// Stop restores the traffic to the original target and resets existing connections
	// to the redirection target
	Stop() error
}

TrafficRedirector defines the interface for a traffic redirector

func NoopTrafficRedirector added in v0.3.3

func NoopTrafficRedirector() TrafficRedirector

NoopTrafficRedirector returns a dummy traffic redirector that has no effect

Directories

Path Synopsis
Package grpc implements a proxy that applies disruptions to gRPC requests This package is inspired by and extensively copies code from https://github.com/mwitkow/grpc-proxy
Package grpc implements a proxy that applies disruptions to gRPC requests This package is inspired by and extensively copies code from https://github.com/mwitkow/grpc-proxy
Package http implements a proxy that applies disruptions to HTTP requests
Package http implements a proxy that applies disruptions to HTTP requests

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL