fixup
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
This commit is contained in:
parent
58a50440e6
commit
77558d7ec7
@ -210,8 +210,15 @@ func (b *Broker) publish(ctx context.Context, topic string, messages ...broker.M
|
|||||||
}
|
}
|
||||||
case func(broker.Message) error:
|
case func(broker.Message) error:
|
||||||
for _, message := range messages {
|
for _, message := range messages {
|
||||||
if err = s(message); err == nil && sub.opts.AutoAck {
|
msg, ok := message.(*memoryMessage)
|
||||||
err = message.Ack()
|
if !ok {
|
||||||
|
if b.opts.Logger.V(logger.ErrorLevel) {
|
||||||
|
b.opts.Logger.Error(ctx, "broker handler error", broker.ErrInvalidMessage)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
msg.topic = topic
|
||||||
|
if err = s(msg); err == nil && sub.opts.AutoAck {
|
||||||
|
err = msg.Ack()
|
||||||
}
|
}
|
||||||
if err != nil {
|
if err != nil {
|
||||||
if b.opts.Logger.V(logger.ErrorLevel) {
|
if b.opts.Logger.V(logger.ErrorLevel) {
|
||||||
|
@ -4,6 +4,7 @@ import (
|
|||||||
"context"
|
"context"
|
||||||
"fmt"
|
"fmt"
|
||||||
"net/textproto"
|
"net/textproto"
|
||||||
|
"sort"
|
||||||
"strings"
|
"strings"
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -464,27 +465,29 @@ type Iterator struct {
|
|||||||
cnt int
|
cnt int
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
|
||||||
// Next advance iterator to next element
|
// Next advance iterator to next element
|
||||||
func (iter *Iterator) Next(k, v *string) bool {
|
func (iter *Iterator) Next(k *string, v *[]string) bool {
|
||||||
if iter.cur+1 > iter.cnt {
|
if iter.cur+1 > iter.cnt {
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
|
|
||||||
*k = iter.keys[iter.cur]
|
if k != nil && v != nil {
|
||||||
*v = iter.Metadata[*k]
|
*k = iter.keys[iter.cur]
|
||||||
iter.cur++
|
vv := iter.md[*k]
|
||||||
|
*v = make([]string, len(vv))
|
||||||
|
copy(*v, vv)
|
||||||
|
iter.cur++
|
||||||
|
}
|
||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
|
|
||||||
// Iterator returns the itarator for metadata in sorted order
|
// Iterator returns the itarator for metadata in sorted order
|
||||||
func (Metadata Metadata) Iterator() *Iterator {
|
func (md Metadata) Iterator() *Iterator {
|
||||||
iter := &Iterator{Metadata: Metadata, cnt: len(Metadata)}
|
iter := &Iterator{md: md, cnt: len(md)}
|
||||||
iter.keys = make([]string, 0, iter.cnt)
|
iter.keys = make([]string, 0, iter.cnt)
|
||||||
for k := range Metadata {
|
for k := range md {
|
||||||
iter.keys = append(iter.keys, k)
|
iter.keys = append(iter.keys, k)
|
||||||
}
|
}
|
||||||
sort.Strings(iter.keys)
|
sort.Strings(iter.keys)
|
||||||
return iter
|
return iter
|
||||||
}
|
}
|
||||||
*/
|
|
||||||
|
@ -102,22 +102,27 @@ func TestPassing(t *testing.T) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
func TestIterator(t *testing.T) {
|
||||||
func TestIterator(_ *testing.T) {
|
md := Pairs(
|
||||||
md := Metadata{
|
"1Last", "last",
|
||||||
"1Last": "last",
|
"2First", "first",
|
||||||
"2First": "first",
|
"3Second", "second",
|
||||||
"3Second": "second",
|
)
|
||||||
}
|
|
||||||
|
|
||||||
iter := md.Iterator()
|
iter := md.Iterator()
|
||||||
var k, v string
|
var k string
|
||||||
|
var v []string
|
||||||
|
chk := New(3)
|
||||||
for iter.Next(&k, &v) {
|
for iter.Next(&k, &v) {
|
||||||
// fmt.Printf("k: %s, v: %s\n", k, v)
|
chk[k] = v
|
||||||
|
}
|
||||||
|
|
||||||
|
for k, v := range chk {
|
||||||
|
if cv, ok := md[k]; !ok || len(cv) != len(v) || cv[0] != v[0] {
|
||||||
|
t.Fatalf("XXXX %#+v %#+v", chk, md)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
*/
|
|
||||||
|
|
||||||
func TestMedataCanonicalKey(t *testing.T) {
|
func TestMedataCanonicalKey(t *testing.T) {
|
||||||
md := New(1)
|
md := New(1)
|
||||||
|
@ -7,7 +7,7 @@ import (
|
|||||||
"testing"
|
"testing"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"go.unistack.org/micro/v3/register"
|
"go.unistack.org/micro/v4/register"
|
||||||
)
|
)
|
||||||
|
|
||||||
var testData = map[string][]*register.Service{
|
var testData = map[string][]*register.Service{
|
||||||
|
Loading…
x
Reference in New Issue
Block a user