zhangmeng
2023-05-16 1b4fc8c66026c77abf734126b4e7662e386ec0f5
main.go
@@ -6,7 +6,7 @@
import (
   "nsqclient/TST/test"
   "nsqclient/nsqcli"
   "nsqclient/nsqclient"
   "sync"
   "time"
   "unsafe"
@@ -14,18 +14,18 @@
//export createProducer
func createProducer(addr string) unsafe.Pointer {
   n, _ := nsqcli.NewProducer(addr)
   return nsqcli.Save(n)
   n, _ := nsqclient.NewProducer(addr)
   return nsqclient.Save(n)
}
//export destroyProducer
func destroyProducer(ph unsafe.Pointer) {
   nsqcli.Unref(ph)
   nsqcli.DestroyProducerPool()
   nsqclient.Unref(ph)
   nsqclient.DestroyProducerPool()
}
func pcvt(ph unsafe.Pointer) nsqcli.Producer {
   return nsqcli.Restore(ph).(nsqcli.Producer)
func pcvt(ph unsafe.Pointer) nsqclient.Producer {
   return nsqclient.Restore(ph).(nsqclient.Producer)
}
//export publish
@@ -58,30 +58,30 @@
/////////////////////////////////////////////////////////////
type consumer struct {
   nsqcon *nsqcli.NsqConsumer
   nsqcon *nsqclient.NsqConsumer
   lck    sync.Mutex
   msgs   [][]byte
}
//export createConsumer
func createConsumer(topic, channel string) unsafe.Pointer {
   if c, err := nsqcli.NewNsqConsumer(nil, topic, channel); err == nil {
   if c, err := nsqclient.NewNsqConsumer(nil, topic, channel); err == nil {
      con := &consumer{
         nsqcon: c,
      }
      return nsqcli.Save(con)
      return nsqclient.Save(con)
   }
   return nil
}
func ccvt(ch unsafe.Pointer) *consumer {
   return nsqcli.Restore(ch).(*consumer)
   return nsqclient.Restore(ch).(*consumer)
}
//export destroyConsumer
func destroyConsumer(ch unsafe.Pointer) {
   nsqcli.DestroyNsqConsumer(ccvt(ch).nsqcon)
   nsqcli.Unref(ch)
   nsqclient.DestroyNsqConsumer(ccvt(ch).nsqcon)
   nsqclient.Unref(ch)
}
//export Run