// Code generated by protoc-gen-go.
// source: examples/collect/collect.proto
// DO NOT EDIT!

/*
Package collect is a generated protocol buffer package.

It is generated from these files:
	examples/collect/collect.proto

It has these top-level messages:
	ThreadInfo
	ProcessInfo
	SystemInfo
	SnapshotRequest
	Result
*/
package collect

import proto "code.google.com/p/goprotobuf/proto"
import json "encoding/json"
import math "math"

// discarding unused import rpc2 "muduo/protorpc2/rpc2.pb"

// RPC Imports
import "io"
import "net/rpc"
import "github.com/chenshuo/muduo-protorpc/go/muduorpc"

// Reference proto, json, and math imports to suppress error if they are not otherwise used.
var _ = proto.Marshal
var _ = &json.SyntaxError{}
var _ = math.Inf

type SnapshotRequest_Level int32

const (
	SnapshotRequest_kSystemInfoOnly            SnapshotRequest_Level = 0
	SnapshotRequest_kSystemInfoAndProcesses    SnapshotRequest_Level = 1
	SnapshotRequest_kSystemInfoAndThreads      SnapshotRequest_Level = 2
	SnapshotRequest_kSystemInfoInitialSnapshot SnapshotRequest_Level = 3
)

var SnapshotRequest_Level_name = map[int32]string{
	0: "kSystemInfoOnly",
	1: "kSystemInfoAndProcesses",
	2: "kSystemInfoAndThreads",
	3: "kSystemInfoInitialSnapshot",
}
var SnapshotRequest_Level_value = map[string]int32{
	"kSystemInfoOnly":            0,
	"kSystemInfoAndProcesses":    1,
	"kSystemInfoAndThreads":      2,
	"kSystemInfoInitialSnapshot": 3,
}

func (x SnapshotRequest_Level) Enum() *SnapshotRequest_Level {
	p := new(SnapshotRequest_Level)
	*p = x
	return p
}
func (x SnapshotRequest_Level) String() string {
	return proto.EnumName(SnapshotRequest_Level_name, int32(x))
}
func (x *SnapshotRequest_Level) UnmarshalJSON(data []byte) error {
	value, err := proto.UnmarshalJSONEnum(SnapshotRequest_Level_value, data, "SnapshotRequest_Level")
	if err != nil {
		return err
	}
	*x = SnapshotRequest_Level(value)
	return nil
}

type ThreadInfo struct {
	Tid              *int32  `protobuf:"varint,1,opt,name=tid" json:"tid,omitempty"`
	UserCpuMs        *int64  `protobuf:"varint,3,opt,name=user_cpu_ms" json:"user_cpu_ms,omitempty"`
	SysCpuMs         *int64  `protobuf:"varint,4,opt,name=sys_cpu_ms" json:"sys_cpu_ms,omitempty"`
	LastProcessor    *int32  `protobuf:"varint,5,opt,name=last_processor" json:"last_processor,omitempty"`
	WaitChannel      *int64  `protobuf:"varint,6,opt,name=wait_channel" json:"wait_channel,omitempty"`
	Name             *string `protobuf:"bytes,7,opt,name=name" json:"name,omitempty"`
	Starttime        *int64  `protobuf:"varint,8,opt,name=starttime" json:"starttime,omitempty"`
	XXX_unrecognized []byte  `json:"-"`
}

func (m *ThreadInfo) Reset()         { *m = ThreadInfo{} }
func (m *ThreadInfo) String() string { return proto.CompactTextString(m) }
func (*ThreadInfo) ProtoMessage()    {}

func (m *ThreadInfo) GetTid() int32 {
	if m != nil && m.Tid != nil {
		return *m.Tid
	}
	return 0
}

func (m *ThreadInfo) GetUserCpuMs() int64 {
	if m != nil && m.UserCpuMs != nil {
		return *m.UserCpuMs
	}
	return 0
}

func (m *ThreadInfo) GetSysCpuMs() int64 {
	if m != nil && m.SysCpuMs != nil {
		return *m.SysCpuMs
	}
	return 0
}

func (m *ThreadInfo) GetLastProcessor() int32 {
	if m != nil && m.LastProcessor != nil {
		return *m.LastProcessor
	}
	return 0
}

func (m *ThreadInfo) GetWaitChannel() int64 {
	if m != nil && m.WaitChannel != nil {
		return *m.WaitChannel
	}
	return 0
}

func (m *ThreadInfo) GetName() string {
	if m != nil && m.Name != nil {
		return *m.Name
	}
	return ""
}

func (m *ThreadInfo) GetStarttime() int64 {
	if m != nil && m.Starttime != nil {
		return *m.Starttime
	}
	return 0
}

type ProcessInfo struct {
	Pid              *int32             `protobuf:"varint,1,opt,name=pid" json:"pid,omitempty"`
	Basic            *ProcessInfo_Basic `protobuf:"bytes,2,opt,name=basic" json:"basic,omitempty"`
	UserCpuMs        *int64             `protobuf:"varint,3,opt,name=user_cpu_ms" json:"user_cpu_ms,omitempty"`
	SysCpuMs         *int64             `protobuf:"varint,4,opt,name=sys_cpu_ms" json:"sys_cpu_ms,omitempty"`
	LastProcessor    *int32             `protobuf:"varint,5,opt,name=last_processor" json:"last_processor,omitempty"`
	WaitChannel      *int32             `protobuf:"varint,6,opt,name=wait_channel" json:"wait_channel,omitempty"`
	VsizeKb          *int64             `protobuf:"varint,7,opt,name=vsize_kb" json:"vsize_kb,omitempty"`
	RssKb            *int64             `protobuf:"varint,8,opt,name=rss_kb" json:"rss_kb,omitempty"`
	State            *int32             `protobuf:"varint,9,opt,name=state" json:"state,omitempty"`
	MinorPageFaults  *int64             `protobuf:"varint,10,opt,name=minor_page_faults" json:"minor_page_faults,omitempty"`
	MajorPageFaults  *int64             `protobuf:"varint,11,opt,name=major_page_faults" json:"major_page_faults,omitempty"`
	NumThreads       *int32             `protobuf:"varint,12,opt,name=num_threads" json:"num_threads,omitempty"`
	Threads          []*ThreadInfo      `protobuf:"bytes,13,rep,name=threads" json:"threads,omitempty"`
	XXX_unrecognized []byte             `json:"-"`
}

func (m *ProcessInfo) Reset()         { *m = ProcessInfo{} }
func (m *ProcessInfo) String() string { return proto.CompactTextString(m) }
func (*ProcessInfo) ProtoMessage()    {}

func (m *ProcessInfo) GetPid() int32 {
	if m != nil && m.Pid != nil {
		return *m.Pid
	}
	return 0
}

func (m *ProcessInfo) GetBasic() *ProcessInfo_Basic {
	if m != nil {
		return m.Basic
	}
	return nil
}

func (m *ProcessInfo) GetUserCpuMs() int64 {
	if m != nil && m.UserCpuMs != nil {
		return *m.UserCpuMs
	}
	return 0
}

func (m *ProcessInfo) GetSysCpuMs() int64 {
	if m != nil && m.SysCpuMs != nil {
		return *m.SysCpuMs
	}
	return 0
}

func (m *ProcessInfo) GetLastProcessor() int32 {
	if m != nil && m.LastProcessor != nil {
		return *m.LastProcessor
	}
	return 0
}

func (m *ProcessInfo) GetWaitChannel() int32 {
	if m != nil && m.WaitChannel != nil {
		return *m.WaitChannel
	}
	return 0
}

func (m *ProcessInfo) GetVsizeKb() int64 {
	if m != nil && m.VsizeKb != nil {
		return *m.VsizeKb
	}
	return 0
}

func (m *ProcessInfo) GetRssKb() int64 {
	if m != nil && m.RssKb != nil {
		return *m.RssKb
	}
	return 0
}

func (m *ProcessInfo) GetState() int32 {
	if m != nil && m.State != nil {
		return *m.State
	}
	return 0
}

func (m *ProcessInfo) GetMinorPageFaults() int64 {
	if m != nil && m.MinorPageFaults != nil {
		return *m.MinorPageFaults
	}
	return 0
}

func (m *ProcessInfo) GetMajorPageFaults() int64 {
	if m != nil && m.MajorPageFaults != nil {
		return *m.MajorPageFaults
	}
	return 0
}

func (m *ProcessInfo) GetNumThreads() int32 {
	if m != nil && m.NumThreads != nil {
		return *m.NumThreads
	}
	return 0
}

func (m *ProcessInfo) GetThreads() []*ThreadInfo {
	if m != nil {
		return m.Threads
	}
	return nil
}

type ProcessInfo_Basic struct {
	Uid              *int32   `protobuf:"varint,1,opt,name=uid" json:"uid,omitempty"`
	Euid             *int32   `protobuf:"varint,2,opt,name=euid" json:"euid,omitempty"`
	Ppid             *int32   `protobuf:"varint,3,opt,name=ppid" json:"ppid,omitempty"`
	Starttime        *int64   `protobuf:"varint,4,opt,name=starttime" json:"starttime,omitempty"`
	Name             *string  `protobuf:"bytes,5,opt,name=name" json:"name,omitempty"`
	Cmdline          []string `protobuf:"bytes,6,rep,name=cmdline" json:"cmdline,omitempty"`
	Executable       *string  `protobuf:"bytes,7,opt,name=executable" json:"executable,omitempty"`
	XXX_unrecognized []byte   `json:"-"`
}

func (m *ProcessInfo_Basic) Reset()         { *m = ProcessInfo_Basic{} }
func (m *ProcessInfo_Basic) String() string { return proto.CompactTextString(m) }
func (*ProcessInfo_Basic) ProtoMessage()    {}

func (m *ProcessInfo_Basic) GetUid() int32 {
	if m != nil && m.Uid != nil {
		return *m.Uid
	}
	return 0
}

func (m *ProcessInfo_Basic) GetEuid() int32 {
	if m != nil && m.Euid != nil {
		return *m.Euid
	}
	return 0
}

func (m *ProcessInfo_Basic) GetPpid() int32 {
	if m != nil && m.Ppid != nil {
		return *m.Ppid
	}
	return 0
}

func (m *ProcessInfo_Basic) GetStarttime() int64 {
	if m != nil && m.Starttime != nil {
		return *m.Starttime
	}
	return 0
}

func (m *ProcessInfo_Basic) GetName() string {
	if m != nil && m.Name != nil {
		return *m.Name
	}
	return ""
}

func (m *ProcessInfo_Basic) GetCmdline() []string {
	if m != nil {
		return m.Cmdline
	}
	return nil
}

func (m *ProcessInfo_Basic) GetExecutable() string {
	if m != nil && m.Executable != nil {
		return *m.Executable
	}
	return ""
}

type SystemInfo struct {
	Basic            *SystemInfo_Basic       `protobuf:"bytes,1,opt,name=basic" json:"basic,omitempty"`
	Performance      *SystemInfo_Performance `protobuf:"bytes,2,opt,name=performance" json:"performance,omitempty"`
	AllCpu           *SystemInfo_Cpu         `protobuf:"bytes,3,opt,name=all_cpu" json:"all_cpu,omitempty"`
	Cpus             []*SystemInfo_Cpu       `protobuf:"bytes,4,rep,name=cpus" json:"cpus,omitempty"`
	MuduoTimestamp   *uint64                 `protobuf:"fixed64,5,opt,name=muduo_timestamp" json:"muduo_timestamp,omitempty"`
	Memory           *SystemInfo_Memory      `protobuf:"bytes,8,opt,name=memory" json:"memory,omitempty"`
	Processes        []*ProcessInfo          `protobuf:"bytes,14,rep,name=processes" json:"processes,omitempty"`
	UserCpuMs        *int64                  `protobuf:"varint,6,opt,name=user_cpu_ms" json:"user_cpu_ms,omitempty"`
	SysCpuMs         *int64                  `protobuf:"varint,7,opt,name=sys_cpu_ms" json:"sys_cpu_ms,omitempty"`
	XXX_unrecognized []byte                  `json:"-"`
}

func (m *SystemInfo) Reset()         { *m = SystemInfo{} }
func (m *SystemInfo) String() string { return proto.CompactTextString(m) }
func (*SystemInfo) ProtoMessage()    {}

func (m *SystemInfo) GetBasic() *SystemInfo_Basic {
	if m != nil {
		return m.Basic
	}
	return nil
}

func (m *SystemInfo) GetPerformance() *SystemInfo_Performance {
	if m != nil {
		return m.Performance
	}
	return nil
}

func (m *SystemInfo) GetAllCpu() *SystemInfo_Cpu {
	if m != nil {
		return m.AllCpu
	}
	return nil
}

func (m *SystemInfo) GetCpus() []*SystemInfo_Cpu {
	if m != nil {
		return m.Cpus
	}
	return nil
}

func (m *SystemInfo) GetMuduoTimestamp() uint64 {
	if m != nil && m.MuduoTimestamp != nil {
		return *m.MuduoTimestamp
	}
	return 0
}

func (m *SystemInfo) GetMemory() *SystemInfo_Memory {
	if m != nil {
		return m.Memory
	}
	return nil
}

func (m *SystemInfo) GetProcesses() []*ProcessInfo {
	if m != nil {
		return m.Processes
	}
	return nil
}

func (m *SystemInfo) GetUserCpuMs() int64 {
	if m != nil && m.UserCpuMs != nil {
		return *m.UserCpuMs
	}
	return 0
}

func (m *SystemInfo) GetSysCpuMs() int64 {
	if m != nil && m.SysCpuMs != nil {
		return *m.SysCpuMs
	}
	return 0
}

type SystemInfo_Basic struct {
	KernelVersion    *string `protobuf:"bytes,1,opt,name=kernel_version" json:"kernel_version,omitempty"`
	KernelCmdline    *string `protobuf:"bytes,2,opt,name=kernel_cmdline" json:"kernel_cmdline,omitempty"`
	Cpuinfo          *string `protobuf:"bytes,3,opt,name=cpuinfo" json:"cpuinfo,omitempty"`
	XXX_unrecognized []byte  `json:"-"`
}

func (m *SystemInfo_Basic) Reset()         { *m = SystemInfo_Basic{} }
func (m *SystemInfo_Basic) String() string { return proto.CompactTextString(m) }
func (*SystemInfo_Basic) ProtoMessage()    {}

func (m *SystemInfo_Basic) GetKernelVersion() string {
	if m != nil && m.KernelVersion != nil {
		return *m.KernelVersion
	}
	return ""
}

func (m *SystemInfo_Basic) GetKernelCmdline() string {
	if m != nil && m.KernelCmdline != nil {
		return *m.KernelCmdline
	}
	return ""
}

func (m *SystemInfo_Basic) GetCpuinfo() string {
	if m != nil && m.Cpuinfo != nil {
		return *m.Cpuinfo
	}
	return ""
}

type SystemInfo_Performance struct {
	Loadavg_1MMilli  *int32 `protobuf:"varint,2,opt,name=loadavg_1m_milli" json:"loadavg_1m_milli,omitempty"`
	Loadavg_5MMilli  *int32 `protobuf:"varint,3,opt,name=loadavg_5m_milli" json:"loadavg_5m_milli,omitempty"`
	Loadavg_15MMilli *int32 `protobuf:"varint,4,opt,name=loadavg_15m_milli" json:"loadavg_15m_milli,omitempty"`
	RunningTasks     *int32 `protobuf:"varint,5,opt,name=running_tasks" json:"running_tasks,omitempty"`
	TotalTasks       *int32 `protobuf:"varint,6,opt,name=total_tasks" json:"total_tasks,omitempty"`
	LastPid          *int32 `protobuf:"varint,7,opt,name=last_pid" json:"last_pid,omitempty"`
	BootTime         *int64 `protobuf:"varint,9,opt,name=boot_time" json:"boot_time,omitempty"`
	ContextSwitches  *int64 `protobuf:"varint,10,opt,name=context_switches" json:"context_switches,omitempty"`
	ProcessesCreated *int64 `protobuf:"varint,11,opt,name=processes_created" json:"processes_created,omitempty"`
	ProcessesRunning *int32 `protobuf:"varint,12,opt,name=processes_running" json:"processes_running,omitempty"`
	ProcessesBlocked *int32 `protobuf:"varint,13,opt,name=processes_blocked" json:"processes_blocked,omitempty"`
	XXX_unrecognized []byte `json:"-"`
}

func (m *SystemInfo_Performance) Reset()         { *m = SystemInfo_Performance{} }
func (m *SystemInfo_Performance) String() string { return proto.CompactTextString(m) }
func (*SystemInfo_Performance) ProtoMessage()    {}

func (m *SystemInfo_Performance) GetLoadavg_1MMilli() int32 {
	if m != nil && m.Loadavg_1MMilli != nil {
		return *m.Loadavg_1MMilli
	}
	return 0
}

func (m *SystemInfo_Performance) GetLoadavg_5MMilli() int32 {
	if m != nil && m.Loadavg_5MMilli != nil {
		return *m.Loadavg_5MMilli
	}
	return 0
}

func (m *SystemInfo_Performance) GetLoadavg_15MMilli() int32 {
	if m != nil && m.Loadavg_15MMilli != nil {
		return *m.Loadavg_15MMilli
	}
	return 0
}

func (m *SystemInfo_Performance) GetRunningTasks() int32 {
	if m != nil && m.RunningTasks != nil {
		return *m.RunningTasks
	}
	return 0
}

func (m *SystemInfo_Performance) GetTotalTasks() int32 {
	if m != nil && m.TotalTasks != nil {
		return *m.TotalTasks
	}
	return 0
}

func (m *SystemInfo_Performance) GetLastPid() int32 {
	if m != nil && m.LastPid != nil {
		return *m.LastPid
	}
	return 0
}

func (m *SystemInfo_Performance) GetBootTime() int64 {
	if m != nil && m.BootTime != nil {
		return *m.BootTime
	}
	return 0
}

func (m *SystemInfo_Performance) GetContextSwitches() int64 {
	if m != nil && m.ContextSwitches != nil {
		return *m.ContextSwitches
	}
	return 0
}

func (m *SystemInfo_Performance) GetProcessesCreated() int64 {
	if m != nil && m.ProcessesCreated != nil {
		return *m.ProcessesCreated
	}
	return 0
}

func (m *SystemInfo_Performance) GetProcessesRunning() int32 {
	if m != nil && m.ProcessesRunning != nil {
		return *m.ProcessesRunning
	}
	return 0
}

func (m *SystemInfo_Performance) GetProcessesBlocked() int32 {
	if m != nil && m.ProcessesBlocked != nil {
		return *m.ProcessesBlocked
	}
	return 0
}

type SystemInfo_Cpu struct {
	UserMs           *int64 `protobuf:"varint,1,opt,name=user_ms" json:"user_ms,omitempty"`
	NiceMs           *int64 `protobuf:"varint,2,opt,name=nice_ms" json:"nice_ms,omitempty"`
	SysMs            *int64 `protobuf:"varint,3,opt,name=sys_ms" json:"sys_ms,omitempty"`
	IdleMs           *int64 `protobuf:"varint,4,opt,name=idle_ms" json:"idle_ms,omitempty"`
	IowaitMs         *int64 `protobuf:"varint,5,opt,name=iowait_ms" json:"iowait_ms,omitempty"`
	IrqMs            *int64 `protobuf:"varint,6,opt,name=irq_ms" json:"irq_ms,omitempty"`
	SoftirqMs        *int64 `protobuf:"varint,7,opt,name=softirq_ms" json:"softirq_ms,omitempty"`
	XXX_unrecognized []byte `json:"-"`
}

func (m *SystemInfo_Cpu) Reset()         { *m = SystemInfo_Cpu{} }
func (m *SystemInfo_Cpu) String() string { return proto.CompactTextString(m) }
func (*SystemInfo_Cpu) ProtoMessage()    {}

func (m *SystemInfo_Cpu) GetUserMs() int64 {
	if m != nil && m.UserMs != nil {
		return *m.UserMs
	}
	return 0
}

func (m *SystemInfo_Cpu) GetNiceMs() int64 {
	if m != nil && m.NiceMs != nil {
		return *m.NiceMs
	}
	return 0
}

func (m *SystemInfo_Cpu) GetSysMs() int64 {
	if m != nil && m.SysMs != nil {
		return *m.SysMs
	}
	return 0
}

func (m *SystemInfo_Cpu) GetIdleMs() int64 {
	if m != nil && m.IdleMs != nil {
		return *m.IdleMs
	}
	return 0
}

func (m *SystemInfo_Cpu) GetIowaitMs() int64 {
	if m != nil && m.IowaitMs != nil {
		return *m.IowaitMs
	}
	return 0
}

func (m *SystemInfo_Cpu) GetIrqMs() int64 {
	if m != nil && m.IrqMs != nil {
		return *m.IrqMs
	}
	return 0
}

func (m *SystemInfo_Cpu) GetSoftirqMs() int64 {
	if m != nil && m.SoftirqMs != nil {
		return *m.SoftirqMs
	}
	return 0
}

type SystemInfo_Memory struct {
	TotalKb          *int64 `protobuf:"varint,1,opt,name=total_kb" json:"total_kb,omitempty"`
	FreeKb           *int64 `protobuf:"varint,2,opt,name=free_kb" json:"free_kb,omitempty"`
	BuffersKb        *int64 `protobuf:"varint,3,opt,name=buffers_kb" json:"buffers_kb,omitempty"`
	CachedKb         *int64 `protobuf:"varint,4,opt,name=cached_kb" json:"cached_kb,omitempty"`
	SwapTotalKb      *int64 `protobuf:"varint,5,opt,name=swap_total_kb" json:"swap_total_kb,omitempty"`
	SwapFreeKb       *int64 `protobuf:"varint,6,opt,name=swap_free_kb" json:"swap_free_kb,omitempty"`
	SwapCachedKb     *int64 `protobuf:"varint,7,opt,name=swap_cached_kb" json:"swap_cached_kb,omitempty"`
	XXX_unrecognized []byte `json:"-"`
}

func (m *SystemInfo_Memory) Reset()         { *m = SystemInfo_Memory{} }
func (m *SystemInfo_Memory) String() string { return proto.CompactTextString(m) }
func (*SystemInfo_Memory) ProtoMessage()    {}

func (m *SystemInfo_Memory) GetTotalKb() int64 {
	if m != nil && m.TotalKb != nil {
		return *m.TotalKb
	}
	return 0
}

func (m *SystemInfo_Memory) GetFreeKb() int64 {
	if m != nil && m.FreeKb != nil {
		return *m.FreeKb
	}
	return 0
}

func (m *SystemInfo_Memory) GetBuffersKb() int64 {
	if m != nil && m.BuffersKb != nil {
		return *m.BuffersKb
	}
	return 0
}

func (m *SystemInfo_Memory) GetCachedKb() int64 {
	if m != nil && m.CachedKb != nil {
		return *m.CachedKb
	}
	return 0
}

func (m *SystemInfo_Memory) GetSwapTotalKb() int64 {
	if m != nil && m.SwapTotalKb != nil {
		return *m.SwapTotalKb
	}
	return 0
}

func (m *SystemInfo_Memory) GetSwapFreeKb() int64 {
	if m != nil && m.SwapFreeKb != nil {
		return *m.SwapFreeKb
	}
	return 0
}

func (m *SystemInfo_Memory) GetSwapCachedKb() int64 {
	if m != nil && m.SwapCachedKb != nil {
		return *m.SwapCachedKb
	}
	return 0
}

type SnapshotRequest struct {
	Level            *SnapshotRequest_Level `protobuf:"varint,1,opt,name=level,enum=collect.SnapshotRequest_Level,def=0" json:"level,omitempty"`
	XXX_unrecognized []byte                 `json:"-"`
}

func (m *SnapshotRequest) Reset()         { *m = SnapshotRequest{} }
func (m *SnapshotRequest) String() string { return proto.CompactTextString(m) }
func (*SnapshotRequest) ProtoMessage()    {}

const Default_SnapshotRequest_Level SnapshotRequest_Level = SnapshotRequest_kSystemInfoOnly

func (m *SnapshotRequest) GetLevel() SnapshotRequest_Level {
	if m != nil && m.Level != nil {
		return *m.Level
	}
	return Default_SnapshotRequest_Level
}

type Result struct {
	Succeed          *bool   `protobuf:"varint,1,req,name=succeed" json:"succeed,omitempty"`
	Message          *string `protobuf:"bytes,2,opt,name=message" json:"message,omitempty"`
	XXX_unrecognized []byte  `json:"-"`
}

func (m *Result) Reset()         { *m = Result{} }
func (m *Result) String() string { return proto.CompactTextString(m) }
func (*Result) ProtoMessage()    {}

func (m *Result) GetSucceed() bool {
	if m != nil && m.Succeed != nil {
		return *m.Succeed
	}
	return false
}

func (m *Result) GetMessage() string {
	if m != nil && m.Message != nil {
		return *m.Message
	}
	return ""
}

func init() {
	proto.RegisterEnum("collect.SnapshotRequest_Level", SnapshotRequest_Level_name, SnapshotRequest_Level_value)
}

// Services

type CollectService interface {
	GetSnapshot(req *SnapshotRequest, resp *SystemInfo) error
	FlushFile(req *rpc2.Empty, resp *rpc2.Empty) error
	RollFile(req *rpc2.Empty, resp *Result) error
	Version(req *rpc2.Empty, resp *Result) error
	Quit(req *rpc2.Empty, resp *Result) error
	Restart(req *rpc2.Empty, resp *Result) error
}

func RegisterCollectService(service CollectService) {
	rpc.RegisterName("collect.CollectService", service)
}

func NewCollectServiceClient(conn io.ReadWriteCloser) *CollectServiceClient {
	codec := muduorpc.NewClientCodec(conn)
	client := rpc.NewClientWithCodec(codec)
	return &CollectServiceClient{client}
}

type CollectServiceClient struct {
	client *rpc.Client
}

func (c *CollectServiceClient) Close() error {
	return c.client.Close()
}

func (c *CollectServiceClient) GetSnapshot(req *SnapshotRequest, resp *SystemInfo) error {
	return c.client.Call("collect.CollectService.getSnapshot", req, resp)
}

func (c *CollectServiceClient) FlushFile(req *rpc2.Empty, resp *rpc2.Empty) error {
	return c.client.Call("collect.CollectService.flushFile", req, resp)
}

func (c *CollectServiceClient) RollFile(req *rpc2.Empty, resp *Result) error {
	return c.client.Call("collect.CollectService.rollFile", req, resp)
}

func (c *CollectServiceClient) Version(req *rpc2.Empty, resp *Result) error {
	return c.client.Call("collect.CollectService.version", req, resp)
}

func (c *CollectServiceClient) Quit(req *rpc2.Empty, resp *Result) error {
	return c.client.Call("collect.CollectService.quit", req, resp)
}

func (c *CollectServiceClient) Restart(req *rpc2.Empty, resp *Result) error {
	return c.client.Call("collect.CollectService.restart", req, resp)
}
