rpctype

package
v0.0.0-...-4e6bda9 Latest Latest
Warning

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

Go to latest
Published: May 20, 2018 License: Apache-2.0 Imports: 5 Imported by: 0

Documentation

Overview

Package rpctype contains types of message passed via net/rpc connections between various parts of the system.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func RpcCall

func RpcCall(addr, method string, args, reply interface{}) error

Types

type CheckArgs

type CheckArgs struct {
	Name           string
	Kcov           bool
	Leak           bool
	Fault          bool
	UserNamespaces bool
	CompsSupported bool
	Calls          []string
	FuzzerGitRev   string
	FuzzerSyzRev   string
	ExecutorGitRev string
	ExecutorSyzRev string
	ExecutorArch   string
}

type ConnectArgs

type ConnectArgs struct {
	Name string
}

type ConnectRes

type ConnectRes struct {
	Prios        [][]float32
	Inputs       []RpcInput
	MaxSignal    []uint32
	Candidates   []RpcCandidate
	Lineage      map[string]struct{}
	EnabledCalls string
	NeedCheck    bool
}

type HubConnectArgs

type HubConnectArgs struct {
	// Client/Key are used for authentication.
	Client string
	Key    string
	// Manager name, must start with Client.
	Manager string
	// Manager has started with an empty corpus and requests whole hub corpus.
	Fresh bool
	// Set of system call names supported by this manager.
	// Used to filter out programs with unsupported calls.
	Calls []string
	// Current manager corpus.
	Corpus [][]byte
}

type HubSyncArgs

type HubSyncArgs struct {
	// see HubConnectArgs.
	Client     string
	Key        string
	Manager    string
	NeedRepros bool
	// Programs added to corpus since last sync or connect.
	Add [][]byte
	// Hashes of programs removed from corpus since last sync or connect.
	Del []string
	// Repros found since last sync.
	Repros [][]byte
}

type HubSyncRes

type HubSyncRes struct {
	// Set of programs from other managers.
	Progs [][]byte
	// Set of repros from other managers.
	Repros [][]byte
	// Number of remaining pending programs,
	// if >0 manager should do sync again.
	More int
}

type NewInputArgs

type NewInputArgs struct {
	Name string
	RpcInput
	Sig string
}

type PollArgs

type PollArgs struct {
	Name      string
	MaxSignal []uint32
	Stats     map[string]uint64
}

type PollRes

type PollRes struct {
	Candidates []RpcCandidate
	NewInputs  []RpcInput
	MaxSignal  []uint32
	Lineage    map[string]struct{}
}

type RpcCandidate

type RpcCandidate struct {
	Prog      []byte
	Minimized bool
}

type RpcClient

type RpcClient struct {
	// contains filtered or unexported fields
}

func NewRpcClient

func NewRpcClient(addr string) (*RpcClient, error)

func (*RpcClient) Call

func (cli *RpcClient) Call(method string, args, reply interface{}) error

func (*RpcClient) Close

func (cli *RpcClient) Close()

type RpcInput

type RpcInput struct {
	Call   string
	Prog   []byte
	Signal []uint32
	Cover  []uint32
}

type RpcServer

type RpcServer struct {
	// contains filtered or unexported fields
}

func NewRpcServer

func NewRpcServer(addr string, receiver interface{}) (*RpcServer, error)

func (*RpcServer) Addr

func (serv *RpcServer) Addr() net.Addr

func (*RpcServer) Serve

func (serv *RpcServer) Serve()

Jump to

Keyboard shortcuts

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