-
Notifications
You must be signed in to change notification settings - Fork 16
Expand file tree
/
Copy pathqueue_stream.go
More file actions
40 lines (35 loc) · 1.18 KB
/
queue_stream.go
File metadata and controls
40 lines (35 loc) · 1.18 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
package kubemq
import (
"github.com/kubemq-io/kubemq-go/v2/internal/transport"
)
// QueueTransactionMessage wraps a received queue message within a transaction.
type QueueTransactionMessage struct {
Message *QueueMessage
TransactionID string
RefRequestID string
ActiveOffsets []int64
}
// QueuePollRequest configures a queue downstream poll operation.
type QueuePollRequest struct {
Channel string
MaxItems int32
WaitTimeout int32
AutoAck bool
}
// QueueDownstreamRequestType constants mirror the proto enum.
const (
QueueDownstreamGet int32 = 1
QueueDownstreamAckAll int32 = 2
QueueDownstreamAckRange int32 = 3
QueueDownstreamNAckAll int32 = 4
QueueDownstreamNAckRange int32 = 5
QueueDownstreamReQueueAll int32 = 6
QueueDownstreamReQueueRange int32 = 7
QueueDownstreamActiveOffsets int32 = 8
QueueDownstreamTransactionStatus int32 = 9
QueueDownstreamCloseByClient int32 = 10
)
// NewQueueDownstreamSendRequest creates a send request for queue downstream operations.
func NewQueueDownstreamSendRequest() *transport.QueueDownstreamSendRequest {
return &transport.QueueDownstreamSendRequest{}
}