|
@@ -0,0 +1,50 @@
|
|
|
+package queue
|
|
|
+
|
|
|
+type QueueMessage interface {
|
|
|
+ GetKey() string
|
|
|
+ GetData() []byte
|
|
|
+ GetHeaders() QueueMsgHeaders
|
|
|
+}
|
|
|
+
|
|
|
+type QueueMsgHeaders interface {
|
|
|
+ Put(key string, value []byte)
|
|
|
+ Get(key string) []byte
|
|
|
+ GetData() map[string][]byte
|
|
|
+}
|
|
|
+type DefaultQueueMsg struct {
|
|
|
+ Key string
|
|
|
+ Data []byte
|
|
|
+ Headers *DefaultQueueMsgHeader
|
|
|
+}
|
|
|
+
|
|
|
+func (d *DefaultQueueMsg) GetKey() string {
|
|
|
+ return d.Key
|
|
|
+}
|
|
|
+
|
|
|
+func (d *DefaultQueueMsg) GetData() []byte {
|
|
|
+ return d.Data
|
|
|
+}
|
|
|
+
|
|
|
+func (d *DefaultQueueMsg) GetHeaders() QueueMsgHeaders {
|
|
|
+ return d.Headers
|
|
|
+}
|
|
|
+
|
|
|
+type DefaultQueueMsgHeader struct {
|
|
|
+ data map[string][]byte
|
|
|
+}
|
|
|
+
|
|
|
+func (d *DefaultQueueMsgHeader) Put(key string, value []byte) {
|
|
|
+ d.data[key] = value
|
|
|
+}
|
|
|
+
|
|
|
+func (d *DefaultQueueMsgHeader) Get(key string) []byte {
|
|
|
+ if v, ok := d.data[key]; !ok {
|
|
|
+ return nil
|
|
|
+ } else {
|
|
|
+ return v
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+func (d *DefaultQueueMsgHeader) GetData() map[string][]byte {
|
|
|
+ return d.data
|
|
|
+}
|