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.
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 ¶
- Variables
- func NewRPCClient(app module.App, serverId string) (mqrpc.RPCClient, error)
- func NewRPCServer(app module.App, module module.Module) (mqrpc.RPCServer, error)
- type AMQPClient
- func (c *AMQPClient) Call(callInfo mqrpc.CallInfo, callback chan rpcpb.ResultInfo) error
- func (c *AMQPClient) CallNR(callInfo mqrpc.CallInfo) error
- func (c *AMQPClient) Done() (err error)
- func (c *AMQPClient) Marshal(rpcInfo *rpcpb.RPCInfo) ([]byte, error)
- func (c *AMQPClient) Unmarshal(data []byte) (*rpcpb.RPCInfo, error)
- func (c *AMQPClient) UnmarshalResult(data []byte) (*rpcpb.ResultInfo, error)
- type AMQPServer
- type ClinetCallInfo
- type Consumer
- type LocalClient
- type LocalServer
- func (s *LocalServer) Callback(callinfo mqrpc.CallInfo) error
- func (s *LocalServer) IsClose() bool
- func (s *LocalServer) SafeCallback(local_chan chan rpcpb.ResultInfo, callInfo rpcpb.ResultInfo) (closed bool)
- func (s *LocalServer) SafeSend(local_chan chan mqrpc.CallInfo, callInfo mqrpc.CallInfo) (closed bool)
- func (s *LocalServer) Shutdown() (err error)
- func (s *LocalServer) StopConsume() error
- func (s *LocalServer) Write(callInfo mqrpc.CallInfo) error
- type RPCClient
- func (c *RPCClient) Call(_func string, params ...interface{}) (interface{}, string)
- func (c *RPCClient) CallArgs(_func string, ArgsType []string, args [][]byte) (interface{}, string)
- func (c *RPCClient) CallNR(_func string, params ...interface{}) (err error)
- func (c *RPCClient) CallNRArgs(_func string, ArgsType []string, args [][]byte) (err error)
- func (c *RPCClient) Done() (err error)
- func (c *RPCClient) NewLocalClient(server mqrpc.RPCServer) (err error)
- func (c *RPCClient) NewRabbitmqClient(info *conf.Rabbitmq) (err error)
- func (c *RPCClient) NewRedisClient(info *conf.Redis) (err error)
- type RPCServer
- func (s *RPCServer) Done() (err error)
- func (this *RPCServer) Finish()
- func (s *RPCServer) GetExecuting() int64
- func (s *RPCServer) GetLocalServer() mqrpc.LocalServer
- func (s *RPCServer) NewRabbitmqRPCServer(info *conf.Rabbitmq) (err error)
- func (s *RPCServer) NewRedisRPCServer(info *conf.Redis) (err error)
- func (s *RPCServer) Register(id string, f interface{})
- func (s *RPCServer) RegisterGO(id string, f interface{})
- func (s *RPCServer) SetGoroutineControl(control mqrpc.GoroutineControl)
- func (s *RPCServer) SetListener(listener mqrpc.RPCListener)
- func (this *RPCServer) Wait() error
- type RabbitAgent
- func (this *RabbitAgent) CallbackQueue() (string, error)
- func (this *RabbitAgent) ClientPublish(body []byte) error
- func (this *RabbitAgent) Closed() bool
- func (this *RabbitAgent) ExchangeDeclare() error
- func (this *RabbitAgent) Queue() error
- func (this *RabbitAgent) RChannel() (*amqp.Channel, error)
- func (this *RabbitAgent) RConnect() error
- func (this *RabbitAgent) ReadMsg() chan amqp.Delivery
- func (this *RabbitAgent) ServerPublish(queueName string, body []byte) error
- func (this *RabbitAgent) Shutdown() error
- func (this *RabbitAgent) WChannel() (*amqp.Channel, error)
- func (this *RabbitAgent) WConnect() error
- type RabbitMQInfo
- type RedisClient
- func (c *RedisClient) Call(callInfo mqrpc.CallInfo, callback chan rpcpb.ResultInfo) error
- func (c *RedisClient) CallNR(callInfo mqrpc.CallInfo) error
- func (c *RedisClient) Done() (err error)
- func (this *RedisClient) Finish()
- func (c *RedisClient) Marshal(rpcInfo *rpcpb.RPCInfo) ([]byte, error)
- func (c *RedisClient) Unmarshal(data []byte) (*rpcpb.RPCInfo, error)
- func (c *RedisClient) UnmarshalResult(data []byte) (*rpcpb.ResultInfo, error)
- func (this *RedisClient) Wait() error
- type RedisServer
Constants ¶
This section is empty.
Variables ¶
var ( TypeServer = 0 TypeClient = 1 )
Functions ¶
Types ¶
type AMQPClient ¶ added in v1.6.7
type AMQPClient struct {
// contains filtered or unexported fields
}
func NewAMQPClient ¶ added in v1.6.7
func NewAMQPClient(info *conf.Rabbitmq) (client *AMQPClient, err error)
func (*AMQPClient) Call ¶ added in v1.6.7
func (c *AMQPClient) Call(callInfo mqrpc.CallInfo, callback chan rpcpb.ResultInfo) error
* 消息请求
func (*AMQPClient) CallNR ¶ added in v1.6.7
func (c *AMQPClient) CallNR(callInfo mqrpc.CallInfo) error
* 消息请求 不需要回复
func (*AMQPClient) Done ¶ added in v1.6.7
func (c *AMQPClient) Done() (err error)
func (*AMQPClient) Marshal ¶ added in v1.6.7
func (c *AMQPClient) Marshal(rpcInfo *rpcpb.RPCInfo) ([]byte, error)
goroutine safe
func (*AMQPClient) Unmarshal ¶ added in v1.6.7
func (c *AMQPClient) Unmarshal(data []byte) (*rpcpb.RPCInfo, error)
func (*AMQPClient) UnmarshalResult ¶ added in v1.6.7
func (c *AMQPClient) UnmarshalResult(data []byte) (*rpcpb.ResultInfo, error)
type AMQPServer ¶ added in v1.6.7
type AMQPServer struct {
// contains filtered or unexported fields
}
func NewAMQPServer ¶ added in v1.6.7
func NewAMQPServer(info *conf.Rabbitmq, call_chan chan mqrpc.CallInfo) (*AMQPServer, error)
func (*AMQPServer) Callback ¶ added in v1.6.7
func (s *AMQPServer) Callback(callinfo mqrpc.CallInfo) error
func (*AMQPServer) MarshalResult ¶ added in v1.6.7
func (s *AMQPServer) MarshalResult(resultInfo rpcpb.ResultInfo) ([]byte, error)
goroutine safe
func (*AMQPServer) Unmarshal ¶ added in v1.6.7
func (s *AMQPServer) Unmarshal(data []byte) (*rpcpb.RPCInfo, error)
type ClinetCallInfo ¶
type ClinetCallInfo struct {
// contains filtered or unexported fields
}
type Consumer ¶ added in v1.6.7
type Consumer struct {
// contains filtered or unexported fields
}
func NewConsumer ¶ added in v1.6.7
type LocalClient ¶ added in v1.6.7
type LocalClient struct {
// contains filtered or unexported fields
}
func NewLocalClient ¶ added in v1.6.7
func NewLocalClient(server mqrpc.LocalServer) (*LocalClient, error)
func (*LocalClient) Call ¶ added in v1.6.7
func (c *LocalClient) Call(callInfo mqrpc.CallInfo, callback chan rpcpb.ResultInfo) (err error)
* 消息请求
func (*LocalClient) CallNR ¶ added in v1.6.7
func (c *LocalClient) CallNR(callInfo mqrpc.CallInfo) (err error)
* 消息请求 不需要回复
func (*LocalClient) Done ¶ added in v1.6.7
func (c *LocalClient) Done() error
type LocalServer ¶ added in v1.6.7
type LocalServer struct {
// contains filtered or unexported fields
}
func NewLocalServer ¶ added in v1.6.7
func NewLocalServer(call_chan chan mqrpc.CallInfo) (*LocalServer, error)
func (*LocalServer) Callback ¶ added in v1.6.7
func (s *LocalServer) Callback(callinfo mqrpc.CallInfo) error
*
func (*LocalServer) SafeCallback ¶ added in v1.6.7
func (s *LocalServer) SafeCallback(local_chan chan rpcpb.ResultInfo, callInfo rpcpb.ResultInfo) (closed bool)
func (*LocalServer) SafeSend ¶ added in v1.6.7
func (s *LocalServer) SafeSend(local_chan chan mqrpc.CallInfo, callInfo mqrpc.CallInfo) (closed bool)
func (*LocalServer) Shutdown ¶ added in v1.6.7
func (s *LocalServer) Shutdown() (err error)
* 注销消息队列
func (*LocalServer) StopConsume ¶ added in v1.6.7
func (s *LocalServer) StopConsume() error
* 停止接收请求
func (*LocalServer) Write ¶ added in v1.6.7
func (s *LocalServer) Write(callInfo mqrpc.CallInfo) error
* 停止接收请求
type RPCClient ¶
type RPCClient struct {
// contains filtered or unexported fields
}
func (*RPCClient) CallNRArgs ¶
func (*RPCClient) NewLocalClient ¶ added in v1.6.7
func (*RPCClient) NewRabbitmqClient ¶ added in v1.6.7
type RPCServer ¶
type RPCServer struct {
// contains filtered or unexported fields
}
func (*RPCServer) GetLocalServer ¶ added in v1.6.7
func (s *RPCServer) GetLocalServer() mqrpc.LocalServer
func (*RPCServer) NewRabbitmqRPCServer ¶ added in v1.6.7
* 创建一个支持远程RPC的服务
func (*RPCServer) NewRedisRPCServer ¶ added in v1.6.7
* 创建一个支持远程Redis RPC的服务
func (*RPCServer) RegisterGO ¶
you must call the function before calling Open and Go
func (*RPCServer) SetGoroutineControl ¶
func (s *RPCServer) SetGoroutineControl(control mqrpc.GoroutineControl)
func (*RPCServer) SetListener ¶
func (s *RPCServer) SetListener(listener mqrpc.RPCListener)
type RabbitAgent ¶ added in v1.6.7
type RabbitAgent struct {
// contains filtered or unexported fields
}
func NewRabbitAgent ¶ added in v1.6.7
func NewRabbitAgent(info *conf.Rabbitmq, serverType int) (*RabbitAgent, error)
func (*RabbitAgent) CallbackQueue ¶ added in v1.6.7
func (this *RabbitAgent) CallbackQueue() (string, error)
* 创建回调 提供给 rpc client调用
func (*RabbitAgent) ClientPublish ¶ added in v1.6.7
func (this *RabbitAgent) ClientPublish(body []byte) error
* rpc client写数据
func (*RabbitAgent) Closed ¶ added in v1.6.7
func (this *RabbitAgent) Closed() bool
func (*RabbitAgent) ExchangeDeclare ¶ added in v1.6.7
func (this *RabbitAgent) ExchangeDeclare() error
* 声明一个交换器,提供给rpc server端调用
func (*RabbitAgent) Queue ¶ added in v1.6.7
func (this *RabbitAgent) Queue() error
* 创建回调 提供给 rpc server调用
func (*RabbitAgent) RChannel ¶ added in v1.6.7
func (this *RabbitAgent) RChannel() (*amqp.Channel, error)
* 获取读通道
func (*RabbitAgent) ReadMsg ¶ added in v1.6.7
func (this *RabbitAgent) ReadMsg() chan amqp.Delivery
func (*RabbitAgent) ServerPublish ¶ added in v1.6.7
func (this *RabbitAgent) ServerPublish(queueName string, body []byte) error
* rpc server写数据
type RabbitMQInfo ¶ added in v1.6.7
type RabbitMQInfo struct {
// contains filtered or unexported fields
}
type RedisClient ¶ added in v1.6.7
type RedisClient struct {
// contains filtered or unexported fields
}
func NewRedisClient ¶ added in v1.6.7
func NewRedisClient(info *conf.Redis) (client *RedisClient, err error)
func (*RedisClient) Call ¶ added in v1.6.7
func (c *RedisClient) Call(callInfo mqrpc.CallInfo, callback chan rpcpb.ResultInfo) error
* 消息请求
func (*RedisClient) CallNR ¶ added in v1.6.7
func (c *RedisClient) CallNR(callInfo mqrpc.CallInfo) error
* 消息请求 不需要回复
func (*RedisClient) Done ¶ added in v1.6.7
func (c *RedisClient) Done() (err error)
func (*RedisClient) Finish ¶ added in v1.6.7
func (this *RedisClient) Finish()
func (*RedisClient) Marshal ¶ added in v1.6.7
func (c *RedisClient) Marshal(rpcInfo *rpcpb.RPCInfo) ([]byte, error)
goroutine safe
func (*RedisClient) Unmarshal ¶ added in v1.6.7
func (c *RedisClient) Unmarshal(data []byte) (*rpcpb.RPCInfo, error)
func (*RedisClient) UnmarshalResult ¶ added in v1.6.7
func (c *RedisClient) UnmarshalResult(data []byte) (*rpcpb.ResultInfo, error)
func (*RedisClient) Wait ¶ added in v1.6.7
func (this *RedisClient) Wait() error
type RedisServer ¶ added in v1.6.7
type RedisServer struct {
// contains filtered or unexported fields
}
func NewRedisServer ¶ added in v1.6.7
func NewRedisServer(info *conf.Redis, call_chan chan mqrpc.CallInfo) (*RedisServer, error)
func (*RedisServer) Callback ¶ added in v1.6.7
func (s *RedisServer) Callback(callinfo mqrpc.CallInfo) error
func (*RedisServer) MarshalResult ¶ added in v1.6.7
func (s *RedisServer) MarshalResult(resultInfo rpcpb.ResultInfo) ([]byte, error)
goroutine safe
func (*RedisServer) StopConsume ¶ added in v1.6.7
func (s *RedisServer) StopConsume() error
* 停止接收请求
func (*RedisServer) Unmarshal ¶ added in v1.6.7
func (s *RedisServer) Unmarshal(data []byte) (*rpcpb.RPCInfo, error)