defaultrpc

package
v0.0.0-...-ea86901 Latest Latest
Warning

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

Go to latest
Published: Nov 27, 2017 License: Apache-2.0 Imports: 19 Imported by: 0

Documentation

Overview

Copyright 2014 mqant Author. All Rights Reserved.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Copyright 2014 mqant Author. All Rights Reserved.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Copyright 2014 mqant Author. All Rights Reserved.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Copyright 2014 mqant Author. All Rights Reserved.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Copyright 2014 mqant Author. All Rights Reserved.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Copyright 2014 mqant Author. All Rights Reserved.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Copyright 2014 mqant Author. All Rights Reserved.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Copyright 2014 mqant Author. All Rights Reserved.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Copyright 2014 mqant Author. All Rights Reserved.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewRPCClient

func NewRPCClient(app module.App, serverId string) (mqrpc.RPCClient, error)

func NewRPCServer

func NewRPCServer(app module.App, module module.Module) (mqrpc.RPCServer, error)

Types

type AMQPClient

type AMQPClient struct {
	Consumer *Consumer
	// contains filtered or unexported fields
}

func NewAMQPClient

func NewAMQPClient(info *conf.Rabbitmq) (client *AMQPClient, err error)

func (*AMQPClient) Call

func (c *AMQPClient) Call(callInfo mqrpc.CallInfo, callback chan rpcpb.ResultInfo) error

* 消息请求

func (*AMQPClient) CallNR

func (c *AMQPClient) CallNR(callInfo mqrpc.CallInfo) error

* 消息请求 不需要回复

func (*AMQPClient) Done

func (c *AMQPClient) Done() (err error)

func (*AMQPClient) Marshal

func (c *AMQPClient) Marshal(rpcInfo *rpcpb.RPCInfo) ([]byte, error)

goroutine safe

func (*AMQPClient) Unmarshal

func (c *AMQPClient) Unmarshal(data []byte) (*rpcpb.RPCInfo, error)

func (*AMQPClient) UnmarshalResult

func (c *AMQPClient) UnmarshalResult(data []byte) (*rpcpb.ResultInfo, error)

type AMQPServer

type AMQPServer struct {
	Consumer *Consumer
	// contains filtered or unexported fields
}

func NewAMQPServer

func NewAMQPServer(info *conf.Rabbitmq, call_chan chan mqrpc.CallInfo) (*AMQPServer, error)

func (*AMQPServer) Callback

func (s *AMQPServer) Callback(callinfo mqrpc.CallInfo) error

func (*AMQPServer) MarshalResult

func (s *AMQPServer) MarshalResult(resultInfo rpcpb.ResultInfo) ([]byte, error)

goroutine safe

func (*AMQPServer) Shutdown

func (s *AMQPServer) Shutdown() error

* 注销消息队列

func (*AMQPServer) StopConsume

func (s *AMQPServer) StopConsume() error

* 停止接收请求

func (*AMQPServer) Unmarshal

func (s *AMQPServer) Unmarshal(data []byte) (*rpcpb.RPCInfo, error)

type ClinetCallInfo

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

type Consumer

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

func NewConsumer

func NewConsumer(info *conf.Rabbitmq, amqpURI, exchange, exchangeType, ctag string) (*Consumer, error)

func (*Consumer) Cancel

func (c *Consumer) Cancel() error

func (*Consumer) Shutdown

func (c *Consumer) Shutdown() error

type LocalClient

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

func NewLocalClient

func NewLocalClient(server mqrpc.LocalServer) (*LocalClient, error)

func (*LocalClient) Call

func (c *LocalClient) Call(callInfo mqrpc.CallInfo, callback chan rpcpb.ResultInfo) (err error)

* 消息请求

func (*LocalClient) CallNR

func (c *LocalClient) CallNR(callInfo mqrpc.CallInfo) (err error)

* 消息请求 不需要回复

func (*LocalClient) Done

func (c *LocalClient) Done() error

type LocalServer

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

func NewLocalServer

func NewLocalServer(call_chan chan mqrpc.CallInfo) (*LocalServer, error)

func (*LocalServer) Callback

func (s *LocalServer) Callback(callinfo mqrpc.CallInfo) error

*

func (*LocalServer) IsClose

func (s *LocalServer) IsClose() bool

* 停止接收请求

func (*LocalServer) Shutdown

func (s *LocalServer) Shutdown() (err error)

* 注销消息队列

func (*LocalServer) StopConsume

func (s *LocalServer) StopConsume() error

* 停止接收请求

func (*LocalServer) Write

func (s *LocalServer) Write(callInfo mqrpc.CallInfo) error

* 停止接收请求

type RPCClient

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

func (*RPCClient) Call

func (c *RPCClient) Call(_func string, params ...interface{}) (interface{}, string)

* 消息请求 需要回复

func (*RPCClient) CallArgs

func (c *RPCClient) CallArgs(_func string, ArgsType []string, args [][]byte) (interface{}, string)

func (*RPCClient) CallNR

func (c *RPCClient) CallNR(_func string, params ...interface{}) (err error)

* 消息请求 不需要回复

func (*RPCClient) CallNRArgs

func (c *RPCClient) CallNRArgs(_func string, ArgsType []string, args [][]byte) (err error)

func (*RPCClient) Done

func (c *RPCClient) Done() (err error)

func (*RPCClient) NewLocalClient

func (c *RPCClient) NewLocalClient(server mqrpc.RPCServer) (err error)

func (*RPCClient) NewRabbitmqClient

func (c *RPCClient) NewRabbitmqClient(info *conf.Rabbitmq) (err error)

func (*RPCClient) NewRedisClient

func (c *RPCClient) NewRedisClient(info *conf.Redis) (err error)

type RPCServer

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

func (*RPCServer) Done

func (s *RPCServer) Done() (err error)

func (*RPCServer) GetExecuting

func (s *RPCServer) GetExecuting() int64

* 获取当前正在执行的goroutine 数量

func (*RPCServer) GetLocalServer

func (s *RPCServer) GetLocalServer() mqrpc.LocalServer

func (*RPCServer) NewRabbitmqRPCServer

func (s *RPCServer) NewRabbitmqRPCServer(info *conf.Rabbitmq) (err error)

* 创建一个支持远程RPC的服务

func (*RPCServer) NewRedisRPCServer

func (s *RPCServer) NewRedisRPCServer(info *conf.Redis) (err error)

* 创建一个支持远程Redis RPC的服务

func (*RPCServer) Register

func (s *RPCServer) Register(id string, f interface{})

you must call the function before calling Open and Go

func (*RPCServer) RegisterGO

func (s *RPCServer) RegisterGO(id string, f interface{})

you must call the function before calling Open and Go

func (*RPCServer) SetListener

func (s *RPCServer) SetListener(listener mqrpc.RPCListener)

type RabbitMQInfo

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

type RedisClient

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

func NewRedisClient

func NewRedisClient(info *conf.Redis) (client *RedisClient, err error)

func (*RedisClient) Call

func (c *RedisClient) Call(callInfo mqrpc.CallInfo, callback chan rpcpb.ResultInfo) error

* 消息请求

func (*RedisClient) CallNR

func (c *RedisClient) CallNR(callInfo mqrpc.CallInfo) error

* 消息请求 不需要回复

func (*RedisClient) Done

func (c *RedisClient) Done() (err error)

func (*RedisClient) Marshal

func (c *RedisClient) Marshal(rpcInfo *rpcpb.RPCInfo) ([]byte, error)

goroutine safe

func (*RedisClient) Unmarshal

func (c *RedisClient) Unmarshal(data []byte) (*rpcpb.RPCInfo, error)

func (*RedisClient) UnmarshalResult

func (c *RedisClient) UnmarshalResult(data []byte) (*rpcpb.ResultInfo, error)

type RedisServer

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

func NewRedisServer

func NewRedisServer(info *conf.Redis, call_chan chan mqrpc.CallInfo) (*RedisServer, error)

func (*RedisServer) Callback

func (s *RedisServer) Callback(callinfo mqrpc.CallInfo) error

func (*RedisServer) MarshalResult

func (s *RedisServer) MarshalResult(resultInfo rpcpb.ResultInfo) ([]byte, error)

goroutine safe

func (*RedisServer) Shutdown

func (s *RedisServer) Shutdown() error

* 注销消息队列

func (*RedisServer) StopConsume

func (s *RedisServer) StopConsume() error

* 停止接收请求

func (*RedisServer) Unmarshal

func (s *RedisServer) Unmarshal(data []byte) (*rpcpb.RPCInfo, error)

Jump to

Keyboard shortcuts

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