rpctype

package
v0.0.0-...-17b87e8 Latest Latest
Warning

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

Go to latest
Published: May 29, 2020 License: Apache-2.0 Imports: 13 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 Dial

func Dial(addr string) (net.Conn, error)

func RPCCall

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

Types

type CheckArgs

type CheckArgs struct {
	Name          string
	Error         string
	EnabledCalls  map[string][]int
	DisabledCalls map[string][]SyscallReason
	Features      *host.Features
}

type ConnectArgs

type ConnectArgs struct {
	Name string
}

type ConnectRes

type ConnectRes struct {
	EnabledCalls     []int
	GitRevision      string
	TargetRevision   string
	AllSandboxes     bool
	CheckResult      *CheckArgs
	MemoryLeakFrames []string
	DataRaceFrames   []string
}

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
}

type PollArgs

type PollArgs struct {
	Name           string
	NeedCandidates bool
	MaxSignal      signal.Serial
	Stats          map[string]uint64
	RPCMABStatus
}

type PollRes

type PollRes struct {
	Candidates []RPCCandidate
	NewInputs  []RPCInput
	MaxSignal  signal.Serial
	RPCMABStatus
}

type RPCCandidate

type RPCCandidate struct {
	Prog      []byte
	Minimized bool
	Smashed   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 signal.Serial
	Cover  []uint32
	Reward mab.CorpusReward
}

type RPCMABStatus

type RPCMABStatus struct {
	Round        int
	Exp31Round   int
	Reward       mab.TotalReward
	CorpusReward map[hash.Sig]mab.CorpusReward
}

type RPCServer

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

func NewRPCServer

func NewRPCServer(addr, name string, receiver interface{}) (*RPCServer, error)

func (*RPCServer) Addr

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

func (*RPCServer) Serve

func (serv *RPCServer) Serve()

type RunTestDoneArgs

type RunTestDoneArgs struct {
	Name   string
	ID     int
	Output []byte
	Info   []*ipc.ProgInfo
	Error  string
}

type RunTestPollReq

type RunTestPollReq struct {
	Name string
}

type RunTestPollRes

type RunTestPollRes struct {
	ID     int
	Bin    []byte
	Prog   []byte
	Cfg    *ipc.Config
	Opts   *ipc.ExecOpts
	Repeat int
}

type SyscallReason

type SyscallReason struct {
	ID     int
	Reason string
}

Jump to

Keyboard shortcuts

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