| | |
| | | |
| | | import ( |
| | | "nsqclient/TST/test" |
| | | "nsqclient/nsqcli" |
| | | "nsqclient/nsqclient" |
| | | "sync" |
| | | "time" |
| | | "unsafe" |
| | |
| | | |
| | | //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 |
| | |
| | | ///////////////////////////////////////////////////////////// |
| | | |
| | | 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 |