Documentation
¶
Overview ¶
* Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You 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.
* Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You 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.
* Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You 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.
* Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You 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.
* Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You 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.
* Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You 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.
* Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You 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.
* Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You 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
- func GetVersion() (version string)
- func Version() (version string)
- type ClientConfig
- type ConsumeStatus
- type ConsumerModel
- type LogConfig
- type LogLevel
- type Message
- type MessageExt
- type MessageModel
- type MessageQueue
- type MessageQueueSelector
- type Producer
- type ProducerConfig
- type ProducerModel
- type PullConsumer
- type PullConsumerConfig
- type PullResult
- type PullStatus
- type PushConsumer
- type PushConsumerConfig
- type SendResult
- type SendStatus
- type SessionCredentials
Constants ¶
const ( CommonProducer = ProducerModel(1) OrderlyProducer = ProducerModel(2) )
const ( BroadCasting = MessageModel(1) Clustering = MessageModel(2) )
const ( CoCurrently = ConsumerModel(1) Orderly = ConsumerModel(2) )
const ( NIL = rmqError(C.OK) ErrNullPoint = rmqError(C.NULL_POINTER) ErrMallocFailed = rmqError(C.MALLOC_FAILED) ErrProducerStartFailed = rmqError(C.PRODUCER_START_FAILED) ErrSendSyncFailed = rmqError(C.PRODUCER_SEND_SYNC_FAILED) ErrSendOnewayFailed = rmqError(C.PRODUCER_SEND_ONEWAY_FAILED) ErrSendOrderlyFailed = rmqError(C.PRODUCER_SEND_ORDERLY_FAILED) ErrPushConsumerStartFailed = rmqError(C.PUSHCONSUMER_ERROR_CODE_START) ErrPullConsumerStartFailed = rmqError(C.PULLCONSUMER_START_FAILED) ErrFetchMQFailed = rmqError(C.PULLCONSUMER_FETCH_MQ_FAILED) ErrFetchMessageFailed = rmqError(C.PULLCONSUMER_FETCH_MESSAGE_FAILED) )
const ( LogLevelFatal = LogLevel(C.E_LOG_LEVEL_FATAL) LogLevelError = LogLevel(C.E_LOG_LEVEL_ERROR) LogLevelWarn = LogLevel(C.E_LOG_LEVEL_WARN) LogLevelInfo = LogLevel(C.E_LOG_LEVEL_INFO) LogLevelDebug = LogLevel(C.E_LOG_LEVEL_DEBUG) LogLevelTrace = LogLevel(C.E_LOG_LEVEL_TRACE) LogLevelNum = LogLevel(C.E_LOG_LEVEL_LEVEL_NUM) )
predefined log level
const ( SendOK = SendStatus(C.E_SEND_OK) SendFlushDiskTimeout = SendStatus(C.E_SEND_FLUSH_DISK_TIMEOUT) SendFlushSlaveTimeout = SendStatus(C.E_SEND_FLUSH_SLAVE_TIMEOUT) SendSlaveNotAvailable = SendStatus(C.E_SEND_SLAVE_NOT_AVAILABLE) )
const ( PullFound = PullStatus(C.E_FOUND) PullNoNewMsg = PullStatus(C.E_NO_NEW_MSG) PullNoMatchedMsg = PullStatus(C.E_NO_MATCHED_MSG) PullOffsetIllegal = PullStatus(C.E_OFFSET_ILLEGAL) PullBrokerTimeout = PullStatus(C.E_BROKER_TIMEOUT) )
predefined pull status
const ( ConsumeSuccess = ConsumeStatus(C.E_CONSUME_SUCCESS) ReConsumeLater = ConsumeStatus(C.E_RECONSUME_LATER) )
const GoClientVersion = "Go Client V1.2.0, Support CPP Core:V1.2.X"
Variables ¶
This section is empty.
Functions ¶
func GetVersion ¶
func GetVersion() (version string)
Types ¶
type ClientConfig ¶
type ClientConfig struct { GroupID string NameServer string NameServerDomain string GroupName string InstanceName string Credentials *SessionCredentials LogC *LogConfig }
func (*ClientConfig) String ¶
func (config *ClientConfig) String() string
type ConsumeStatus ¶
type ConsumeStatus int
func (ConsumeStatus) String ¶
func (status ConsumeStatus) String() string
type ConsumerModel ¶
type ConsumerModel int
func (ConsumerModel) String ¶
func (mode ConsumerModel) String() string
type Message ¶
type MessageExt ¶
type MessageExt struct { Message MessageID string QueueId int ReconsumeTimes int StoreSize int BornTimestamp int64 StoreTimestamp int64 QueueOffset int64 CommitLogOffset int64 PreparedTransactionOffset int64 // contains filtered or unexported fields }
func (*MessageExt) GetProperty ¶
func (msgExt *MessageExt) GetProperty(key string) string
func (*MessageExt) String ¶
func (msgExt *MessageExt) String() string
type MessageModel ¶
type MessageModel int
func (MessageModel) String ¶
func (mode MessageModel) String() string
type MessageQueue ¶
MessageQueue the queue of the message
func (*MessageQueue) String ¶
func (q *MessageQueue) String() string
type MessageQueueSelector ¶
MessageQueueSelector select one message queue
type Producer ¶
type Producer interface { // SendMessageSync send a message with sync SendMessageSync(msg *Message) (*SendResult, error) // SendMessageOrderly send the message orderly SendMessageOrderly( msg *Message, selector MessageQueueSelector, arg interface{}, autoRetryTimes int) (*SendResult, error) // SendMessageOneway send a message with oneway SendMessageOneway(msg *Message) error SendMessageOrderlyByShardingKey(msg *Message, shardingkey string) (*SendResult, error) // contains filtered or unexported methods }
func NewProducer ¶
func NewProducer(config *ProducerConfig) (Producer, error)
NewProducer create a new producer with config
type ProducerConfig ¶
type ProducerConfig struct { ClientConfig SendMsgTimeout int CompressLevel int MaxMessageSize int ProducerModel ProducerModel }
ProducerConfig define a producer
func (*ProducerConfig) String ¶
func (config *ProducerConfig) String() string
type ProducerModel ¶
type ProducerModel int
func (ProducerModel) String ¶
func (mode ProducerModel) String() string
type PullConsumer ¶
type PullConsumer interface { // Pull returns the messages from the consume queue by specify the offset and the max number Pull(mq MessageQueue, subExpression string, offset int64, maxNums int) PullResult // FetchSubscriptionMessageQueues returns the consume queue of the topic FetchSubscriptionMessageQueues(topic string) []MessageQueue // contains filtered or unexported methods }
PullConsumer consumer pulling the message
func NewPullConsumer ¶
func NewPullConsumer(config *PullConsumerConfig) (PullConsumer, error)
NewPullConsumer creates a pull consumer
type PullConsumerConfig ¶
type PullConsumerConfig struct {
ClientConfig
}
PullConsumerConfig the configuration for the pull consumer
func (*PullConsumerConfig) String ¶
func (config *PullConsumerConfig) String() string
type PullResult ¶
type PullResult struct { NextBeginOffset int64 MinOffset int64 MaxOffset int64 Status PullStatus Messages []*MessageExt }
PullResult the pull result
func (*PullResult) String ¶
func (pr *PullResult) String() string
type PullStatus ¶
type PullStatus int
PullStatus pull status
func (PullStatus) String ¶
func (ps PullStatus) String() string
type PushConsumer ¶
type PushConsumer interface { // Subscribe a new topic with specify filter expression and consume function. Subscribe(topic, expression string, consumeFunc func(msg *MessageExt) ConsumeStatus) error // contains filtered or unexported methods }
func NewPushConsumer ¶
func NewPushConsumer(config *PushConsumerConfig) (PushConsumer, error)
NewPushConsumer create a new consumer with config.
type PushConsumerConfig ¶
type PushConsumerConfig struct { ClientConfig ThreadCount int MessageBatchMaxSize int Model MessageModel ConsumerModel ConsumerModel }
PushConsumerConfig define a new consumer.
func (*PushConsumerConfig) String ¶
func (config *PushConsumerConfig) String() string
type SendResult ¶
type SendResult struct { Status SendStatus MsgId string Offset int64 }
func (*SendResult) String ¶
func (result *SendResult) String() string
type SendStatus ¶
type SendStatus int
func (SendStatus) String ¶
func (status SendStatus) String() string
type SessionCredentials ¶
func (*SessionCredentials) String ¶
func (session *SessionCredentials) String() string