From ec814d7179549cda558460c845904d19ddb4de0a Mon Sep 17 00:00:00 2001 From: "jackdaw@loafle.com" Date: Wed, 12 Apr 2017 20:14:09 +0900 Subject: [PATCH] grpc proto file --- crawler.go | 37 ++-- grpc/grpc.pb.go | 445 ++++++++++++++++++++++++++++++++++++++++++++++++ grpc/grpc.proto | 59 +++++++ 3 files changed, 520 insertions(+), 21 deletions(-) create mode 100644 grpc/grpc.pb.go create mode 100644 grpc/grpc.proto diff --git a/crawler.go b/crawler.go index 4f63fb5..15fe0db 100644 --- a/crawler.go +++ b/crawler.go @@ -1,20 +1,16 @@ package crawler -import ( - "loafle.com/overflow/of_rpc_go/models/param" -) - - +import "errors" type Internal interface { - Internal(params map[string]interface{}) (param.Output, error) + Internal(params map[string]interface{}) ([]byte, error) } type Crawler interface { - Init(path string, result *param.Output) error - Add(id string, result *param.Output) error - Remove(id string, result *param.Output) error - Get(id string, result *param.Output) error + Init(path string) ([]byte,error) + Add(id string) ([]byte,error) + Remove(id string) ([]byte,error) + Get(id string) ([]byte,error) } type CrawlerImpl struct { @@ -22,35 +18,34 @@ type CrawlerImpl struct { internal Internal } -func (c *CrawlerImpl) Init(path string, result *param.Output) error { +func (c *CrawlerImpl) Init(path string) ([]byte,error) { if c.configs == nil { c.configs = make(map[string]interface{}, 0) } // load all file in path - return nil + return nil,nil } -func (c *CrawlerImpl) Add(id string, result *param.Output) error { +func (c *CrawlerImpl) Add(id string) ([]byte,error) { //file load , input config - return nil + return nil,nil } -func (c *CrawlerImpl) Remove(id string, result *param.Output) error { +func (c *CrawlerImpl) Remove(id string) ([]byte,error) { //remove in config - return nil + return nil,nil } -func (c *CrawlerImpl) Get(id string, result *param.Output) error { +func (c *CrawlerImpl) Get(id string)([]byte,error) { if c.internal != nil { out, err := c.internal.Internal(c.GetConfig(id)) if err != nil { //set error fail, message + return nil,err } - - *result = out + return out, nil } - - return nil + return nil, errors.New("Not Assign") } // internal methods diff --git a/grpc/grpc.pb.go b/grpc/grpc.pb.go new file mode 100644 index 0000000..3335ac3 --- /dev/null +++ b/grpc/grpc.pb.go @@ -0,0 +1,445 @@ +// Code generated by protoc-gen-go. +// source: grpc.proto +// DO NOT EDIT! + +/* +Package grpc is a generated protocol buffer package. + +It is generated from these files: + grpc.proto + +It has these top-level messages: + InputArray + Input + Output +*/ +package grpc + +import proto "github.com/golang/protobuf/proto" +import fmt "fmt" +import math "math" + +import ( + context "golang.org/x/net/context" + grpc1 "google.golang.org/grpc" +) + +// Reference imports to suppress errors if they are not otherwise used. +var _ = proto.Marshal +var _ = fmt.Errorf +var _ = math.Inf + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the proto package it is being compiled against. +// A compilation error at this line likely means your copy of the +// proto package needs to be updated. +const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package + +type Crawlers int32 + +const ( + Crawlers_HEALTH_ACTIVEDIRECTORY Crawlers = 0 + Crawlers_HEALTH_DNS Crawlers = 1 + Crawlers_HEALTH_FTP Crawlers = 2 + Crawlers_HEALTH_FTPS Crawlers = 3 + Crawlers_HEALTH_IMAP Crawlers = 4 + Crawlers_HEALTH_LDAP Crawlers = 5 + Crawlers_HEALTH_MONGODB Crawlers = 6 + Crawlers_HEALTH_MSSQL Crawlers = 7 + Crawlers_HEALTH_MYSQL Crawlers = 8 + Crawlers_HEALTH_MARIADB Crawlers = 9 + Crawlers_HEALTH_PGSQL Crawlers = 10 + Crawlers_HEALTH_NETBIOS Crawlers = 11 + Crawlers_HEALTH_ORACLE Crawlers = 12 + Crawlers_HEALTH_POP3 Crawlers = 13 + Crawlers_HEALTH_REDIS Crawlers = 14 + Crawlers_HEALTH_RMI Crawlers = 15 + Crawlers_HEALTH_SMB Crawlers = 16 + Crawlers_HEALTH_SMTP Crawlers = 17 + Crawlers_HEALTH_SNMPV2C Crawlers = 18 + Crawlers_HEALTH_SNMPV3 Crawlers = 29 + Crawlers_HEALTH_SSH Crawlers = 20 + Crawlers_HEALTH_TELNET Crawlers = 21 + Crawlers_HEALTH_WMI Crawlers = 22 +) + +var Crawlers_name = map[int32]string{ + 0: "HEALTH_ACTIVEDIRECTORY", + 1: "HEALTH_DNS", + 2: "HEALTH_FTP", + 3: "HEALTH_FTPS", + 4: "HEALTH_IMAP", + 5: "HEALTH_LDAP", + 6: "HEALTH_MONGODB", + 7: "HEALTH_MSSQL", + 8: "HEALTH_MYSQL", + 9: "HEALTH_MARIADB", + 10: "HEALTH_PGSQL", + 11: "HEALTH_NETBIOS", + 12: "HEALTH_ORACLE", + 13: "HEALTH_POP3", + 14: "HEALTH_REDIS", + 15: "HEALTH_RMI", + 16: "HEALTH_SMB", + 17: "HEALTH_SMTP", + 18: "HEALTH_SNMPV2C", + 29: "HEALTH_SNMPV3", + 20: "HEALTH_SSH", + 21: "HEALTH_TELNET", + 22: "HEALTH_WMI", +} +var Crawlers_value = map[string]int32{ + "HEALTH_ACTIVEDIRECTORY": 0, + "HEALTH_DNS": 1, + "HEALTH_FTP": 2, + "HEALTH_FTPS": 3, + "HEALTH_IMAP": 4, + "HEALTH_LDAP": 5, + "HEALTH_MONGODB": 6, + "HEALTH_MSSQL": 7, + "HEALTH_MYSQL": 8, + "HEALTH_MARIADB": 9, + "HEALTH_PGSQL": 10, + "HEALTH_NETBIOS": 11, + "HEALTH_ORACLE": 12, + "HEALTH_POP3": 13, + "HEALTH_REDIS": 14, + "HEALTH_RMI": 15, + "HEALTH_SMB": 16, + "HEALTH_SMTP": 17, + "HEALTH_SNMPV2C": 18, + "HEALTH_SNMPV3": 29, + "HEALTH_SSH": 20, + "HEALTH_TELNET": 21, + "HEALTH_WMI": 22, +} + +func (x Crawlers) String() string { + return proto.EnumName(Crawlers_name, int32(x)) +} +func (Crawlers) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{0} } + +type InputArray struct { + In []*Input `protobuf:"bytes,1,rep,name=in" json:"in,omitempty"` +} + +func (m *InputArray) Reset() { *m = InputArray{} } +func (m *InputArray) String() string { return proto.CompactTextString(m) } +func (*InputArray) ProtoMessage() {} +func (*InputArray) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} } + +func (m *InputArray) GetIn() []*Input { + if m != nil { + return m.In + } + return nil +} + +type Input struct { + Name Crawlers `protobuf:"varint,1,opt,name=name,enum=Crawlers" json:"name,omitempty"` + Id string `protobuf:"bytes,2,opt,name=id" json:"id,omitempty"` + Path string `protobuf:"bytes,3,opt,name=path" json:"path,omitempty"` +} + +func (m *Input) Reset() { *m = Input{} } +func (m *Input) String() string { return proto.CompactTextString(m) } +func (*Input) ProtoMessage() {} +func (*Input) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{1} } + +func (m *Input) GetName() Crawlers { + if m != nil { + return m.Name + } + return Crawlers_HEALTH_ACTIVEDIRECTORY +} + +func (m *Input) GetId() string { + if m != nil { + return m.Id + } + return "" +} + +func (m *Input) GetPath() string { + if m != nil { + return m.Path + } + return "" +} + +// The response message containing the greetings +type Output struct { + StartDate int64 `protobuf:"varint,1,opt,name=startDate" json:"startDate,omitempty"` + EndDate int64 `protobuf:"varint,2,opt,name=endDate" json:"endDate,omitempty"` + Data []byte `protobuf:"bytes,3,opt,name=data,proto3" json:"data,omitempty"` +} + +func (m *Output) Reset() { *m = Output{} } +func (m *Output) String() string { return proto.CompactTextString(m) } +func (*Output) ProtoMessage() {} +func (*Output) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{2} } + +func (m *Output) GetStartDate() int64 { + if m != nil { + return m.StartDate + } + return 0 +} + +func (m *Output) GetEndDate() int64 { + if m != nil { + return m.EndDate + } + return 0 +} + +func (m *Output) GetData() []byte { + if m != nil { + return m.Data + } + return nil +} + +func init() { + proto.RegisterType((*InputArray)(nil), "InputArray") + proto.RegisterType((*Input)(nil), "Input") + proto.RegisterType((*Output)(nil), "Output") + proto.RegisterEnum("Crawlers", Crawlers_name, Crawlers_value) +} + +// Reference imports to suppress errors if they are not otherwise used. +var _ context.Context +var _ grpc1.ClientConn + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the grpc package it is being compiled against. +const _ = grpc1.SupportPackageIsVersion3 + +// Client API for Config service + +type ConfigClient interface { + Add(ctx context.Context, in *Input, opts ...grpc1.CallOption) (*Output, error) + Remove(ctx context.Context, in *Input, opts ...grpc1.CallOption) (*Output, error) + Init(ctx context.Context, in *InputArray, opts ...grpc1.CallOption) (*Output, error) +} + +type configClient struct { + cc *grpc1.ClientConn +} + +func NewConfigClient(cc *grpc1.ClientConn) ConfigClient { + return &configClient{cc} +} + +func (c *configClient) Add(ctx context.Context, in *Input, opts ...grpc1.CallOption) (*Output, error) { + out := new(Output) + err := grpc1.Invoke(ctx, "/Config/Add", in, out, c.cc, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *configClient) Remove(ctx context.Context, in *Input, opts ...grpc1.CallOption) (*Output, error) { + out := new(Output) + err := grpc1.Invoke(ctx, "/Config/Remove", in, out, c.cc, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *configClient) Init(ctx context.Context, in *InputArray, opts ...grpc1.CallOption) (*Output, error) { + out := new(Output) + err := grpc1.Invoke(ctx, "/Config/Init", in, out, c.cc, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +// Server API for Config service + +type ConfigServer interface { + Add(context.Context, *Input) (*Output, error) + Remove(context.Context, *Input) (*Output, error) + Init(context.Context, *InputArray) (*Output, error) +} + +func RegisterConfigServer(s *grpc1.Server, srv ConfigServer) { + s.RegisterService(&_Config_serviceDesc, srv) +} + +func _Config_Add_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc1.UnaryServerInterceptor) (interface{}, error) { + in := new(Input) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ConfigServer).Add(ctx, in) + } + info := &grpc1.UnaryServerInfo{ + Server: srv, + FullMethod: "/Config/Add", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ConfigServer).Add(ctx, req.(*Input)) + } + return interceptor(ctx, in, info, handler) +} + +func _Config_Remove_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc1.UnaryServerInterceptor) (interface{}, error) { + in := new(Input) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ConfigServer).Remove(ctx, in) + } + info := &grpc1.UnaryServerInfo{ + Server: srv, + FullMethod: "/Config/Remove", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ConfigServer).Remove(ctx, req.(*Input)) + } + return interceptor(ctx, in, info, handler) +} + +func _Config_Init_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc1.UnaryServerInterceptor) (interface{}, error) { + in := new(InputArray) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ConfigServer).Init(ctx, in) + } + info := &grpc1.UnaryServerInfo{ + Server: srv, + FullMethod: "/Config/Init", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ConfigServer).Init(ctx, req.(*InputArray)) + } + return interceptor(ctx, in, info, handler) +} + +var _Config_serviceDesc = grpc1.ServiceDesc{ + ServiceName: "Config", + HandlerType: (*ConfigServer)(nil), + Methods: []grpc1.MethodDesc{ + { + MethodName: "Add", + Handler: _Config_Add_Handler, + }, + { + MethodName: "Remove", + Handler: _Config_Remove_Handler, + }, + { + MethodName: "Init", + Handler: _Config_Init_Handler, + }, + }, + Streams: []grpc1.StreamDesc{}, + Metadata: "grpc.proto", +} + +// Client API for Data service + +type DataClient interface { + Get(ctx context.Context, in *Input, opts ...grpc1.CallOption) (*Output, error) +} + +type dataClient struct { + cc *grpc1.ClientConn +} + +func NewDataClient(cc *grpc1.ClientConn) DataClient { + return &dataClient{cc} +} + +func (c *dataClient) Get(ctx context.Context, in *Input, opts ...grpc1.CallOption) (*Output, error) { + out := new(Output) + err := grpc1.Invoke(ctx, "/Data/Get", in, out, c.cc, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +// Server API for Data service + +type DataServer interface { + Get(context.Context, *Input) (*Output, error) +} + +func RegisterDataServer(s *grpc1.Server, srv DataServer) { + s.RegisterService(&_Data_serviceDesc, srv) +} + +func _Data_Get_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc1.UnaryServerInterceptor) (interface{}, error) { + in := new(Input) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(DataServer).Get(ctx, in) + } + info := &grpc1.UnaryServerInfo{ + Server: srv, + FullMethod: "/Data/Get", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(DataServer).Get(ctx, req.(*Input)) + } + return interceptor(ctx, in, info, handler) +} + +var _Data_serviceDesc = grpc1.ServiceDesc{ + ServiceName: "Data", + HandlerType: (*DataServer)(nil), + Methods: []grpc1.MethodDesc{ + { + MethodName: "Get", + Handler: _Data_Get_Handler, + }, + }, + Streams: []grpc1.StreamDesc{}, + Metadata: "grpc.proto", +} + +func init() { proto.RegisterFile("grpc.proto", fileDescriptor0) } + +var fileDescriptor0 = []byte{ + // 449 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x6c, 0x93, 0x5f, 0x6f, 0x9b, 0x30, + 0x14, 0xc5, 0x1b, 0xa0, 0xa4, 0xb9, 0x49, 0xe9, 0xad, 0xb5, 0x45, 0xa8, 0x5b, 0xa7, 0x28, 0xda, + 0x43, 0xb4, 0x07, 0x1e, 0xc8, 0x27, 0x20, 0xc0, 0x12, 0x4f, 0xfc, 0x9b, 0x8d, 0x3a, 0xf5, 0xa9, + 0xf2, 0x06, 0xeb, 0x90, 0x56, 0x12, 0x51, 0x77, 0xd3, 0xbe, 0xd3, 0x3e, 0x64, 0x85, 0x9b, 0x28, + 0x7e, 0xe8, 0x9b, 0xcf, 0xef, 0x1c, 0x8e, 0x2f, 0xd2, 0x35, 0xc0, 0x7d, 0xb7, 0xfb, 0xe1, 0xed, + 0xba, 0xad, 0xdc, 0xce, 0x3f, 0x02, 0xd0, 0x76, 0xf7, 0x24, 0x83, 0xae, 0x13, 0xff, 0xc8, 0x14, + 0x8c, 0xa6, 0x75, 0x07, 0x33, 0x73, 0x31, 0xf6, 0x6d, 0x4f, 0x19, 0xcc, 0x68, 0xda, 0xf9, 0x17, + 0x38, 0x55, 0x82, 0x5c, 0x83, 0xd5, 0x8a, 0x87, 0xda, 0x1d, 0xcc, 0x06, 0x0b, 0xc7, 0x1f, 0x79, + 0x61, 0x27, 0xfe, 0xfe, 0xae, 0xbb, 0x47, 0xa6, 0x30, 0x71, 0xc0, 0x68, 0x2a, 0xd7, 0x98, 0x0d, + 0x16, 0x23, 0x66, 0x34, 0x15, 0x21, 0x60, 0xed, 0x84, 0xfc, 0xe5, 0x9a, 0x8a, 0xa8, 0xf3, 0xbc, + 0x04, 0x3b, 0x7f, 0x92, 0x7d, 0xd9, 0x7b, 0x18, 0x3d, 0x4a, 0xd1, 0xc9, 0x48, 0xc8, 0x97, 0x46, + 0x93, 0x1d, 0x01, 0x71, 0x61, 0x58, 0xb7, 0x95, 0xf2, 0x0c, 0xe5, 0x1d, 0x64, 0xdf, 0x5a, 0x09, + 0x29, 0x54, 0xeb, 0x84, 0xa9, 0xf3, 0xa7, 0xff, 0x26, 0x9c, 0x1d, 0x86, 0x21, 0x57, 0x30, 0xdd, + 0xc4, 0x41, 0x52, 0x6e, 0xee, 0x82, 0xb0, 0xa4, 0x37, 0x71, 0x44, 0x59, 0x1c, 0x96, 0x39, 0xbb, + 0xc5, 0x13, 0xe2, 0x00, 0xec, 0xbd, 0x28, 0xe3, 0x38, 0xd0, 0xf4, 0xe7, 0xb2, 0x40, 0x83, 0x5c, + 0xc0, 0xf8, 0xa8, 0x39, 0x9a, 0x1a, 0xa0, 0x69, 0x50, 0xa0, 0xa5, 0x81, 0x24, 0x0a, 0x0a, 0x3c, + 0x25, 0x04, 0x9c, 0x3d, 0x48, 0xf3, 0x6c, 0x9d, 0x47, 0x2b, 0xb4, 0x09, 0xc2, 0xe4, 0xc0, 0x38, + 0xff, 0x9a, 0xe0, 0x50, 0x27, 0xb7, 0x3d, 0x39, 0xd3, 0xbf, 0x0b, 0x18, 0x0d, 0xa2, 0x15, 0x8e, + 0xb4, 0x54, 0xb1, 0xee, 0x53, 0xa0, 0xa5, 0xb2, 0xb8, 0x5c, 0xd1, 0x9c, 0xe3, 0x98, 0x5c, 0xc2, + 0xf9, 0x9e, 0xe5, 0x2c, 0x08, 0x93, 0x18, 0x27, 0xda, 0x54, 0x45, 0x5e, 0x2c, 0xf1, 0x5c, 0x6b, + 0x62, 0x71, 0x44, 0x39, 0x3a, 0xda, 0xaf, 0xb2, 0x94, 0xe2, 0x85, 0xa6, 0x79, 0xba, 0x42, 0xd4, + 0x2a, 0x78, 0x5a, 0x16, 0x78, 0xa9, 0x5d, 0xcd, 0xb3, 0xb4, 0xb8, 0xf1, 0x43, 0x24, 0xda, 0xd5, + 0x8a, 0x2d, 0xf1, 0x5a, 0xef, 0xe1, 0x1b, 0x7c, 0xa3, 0x45, 0xca, 0x38, 0xc9, 0xe2, 0x12, 0xdf, + 0x6a, 0x91, 0x6f, 0x29, 0xc5, 0xa9, 0x7f, 0x07, 0x76, 0xb8, 0x6d, 0x7f, 0x36, 0xf7, 0xc4, 0x05, + 0x33, 0xa8, 0x2a, 0xb2, 0xdf, 0xb6, 0xab, 0xa1, 0xf7, 0xb2, 0x1c, 0xf3, 0x13, 0xf2, 0x0e, 0x6c, + 0x56, 0x3f, 0x6c, 0xff, 0xd4, 0xaf, 0x99, 0x1f, 0xc0, 0xa2, 0x6d, 0x23, 0xc9, 0xd8, 0x3b, 0xae, + 0xaf, 0xe6, 0xfb, 0x33, 0xb0, 0x22, 0x21, 0x45, 0x5f, 0xbf, 0xae, 0xe5, 0x2b, 0x0d, 0xdf, 0x6d, + 0xf5, 0x00, 0x96, 0xcf, 0x01, 0x00, 0x00, 0xff, 0xff, 0xec, 0xf9, 0x64, 0x26, 0x0e, 0x03, 0x00, + 0x00, +} diff --git a/grpc/grpc.proto b/grpc/grpc.proto new file mode 100644 index 0000000..c9fe0c8 --- /dev/null +++ b/grpc/grpc.proto @@ -0,0 +1,59 @@ +syntax = "proto3"; + + +enum Crawlers { + HEALTH_ACTIVEDIRECTORY = 0; + HEALTH_DNS = 1; + HEALTH_FTP = 2; + HEALTH_FTPS = 3; + HEALTH_IMAP = 4; + HEALTH_LDAP = 5; + HEALTH_MONGODB = 6; + HEALTH_MSSQL = 7; + HEALTH_MYSQL = 8; + HEALTH_MARIADB = 9; + HEALTH_PGSQL = 10; + HEALTH_NETBIOS = 11; + HEALTH_ORACLE = 12; + HEALTH_POP3 = 13; + HEALTH_REDIS = 14; + HEALTH_RMI = 15; + HEALTH_SMB = 16; + HEALTH_SMTP = 17; + HEALTH_SNMPV2C = 18; + HEALTH_SNMPV3 = 29; + HEALTH_SSH = 20; + HEALTH_TELNET = 21; + HEALTH_WMI = 22; +} + +// The greeting service definition. +service Config { + rpc Add (Input) returns (Output) {} + rpc Remove (Input) returns (Output) {} + rpc Init (InputArray) returns (Output) {} +} + +service Data { + rpc Get (Input) returns (Output) {} +} + + +// The request message containing the user's name. + +message InputArray { + repeated Input in = 1; +} + +message Input { + Crawlers name = 1; + string id =2; + string path =3; +} + +// The response message containing the greetings +message Output { + int64 startDate = 1; + int64 endDate = 2; + bytes data = 3; +} \ No newline at end of file