1
0
mirror of https://github.com/hslam/msg.git synced 2025-04-25 13:48:50 +08:00
2020-11-28 02:10:01 +08:00
2020-11-27 18:32:27 +08:00
2020-11-28 02:10:01 +08:00
2020-11-27 18:34:12 +08:00
2020-11-27 18:37:59 +08:00
2020-11-27 18:35:08 +08:00
2020-11-27 18:35:08 +08:00
2020-11-27 18:41:43 +08:00

msg

PkgGoDev Go Report Card LICENSE

Package msg provides a way to use message queue.

Get started

Install

go get github.com/hslam/msg

Import

import "github.com/hslam/msg"

Usage

Example

msgsnd

package main

import (
	"github.com/hslam/ftok"
	"github.com/hslam/msg"
	"time"
)

func main() {
	key, err := ftok.Ftok("/tmp", 0x22)
	if err != nil {
		panic(err)
	}
	msgid, err := msg.Get(key, msg.IPC_CREAT|0600)
	if err != nil {
		panic(err)
	}
	defer msg.Remove(msgid)
	m := &msg.Msg{Type: 1, Text: []byte("Hello World")}
	err = msg.Snd(msgid, m, 0600)
	if err != nil {
		panic(err)
	}
	time.Sleep(time.Second * 10)
}

msgrcv

package main

import (
	"fmt"
	"github.com/hslam/ftok"
	"github.com/hslam/msg"
)

func main() {
	key, err := ftok.Ftok("/tmp", 0x22)
	if err != nil {
		panic(err)
	}
	msgid, err := msg.Get(key, 0600)
	if err != nil {
		panic(err)
	}
	m := &msg.Msg{Type: 1}
	err = msg.Rcv(msgid, m, 0600)
	if err != nil {
		panic(err)
	}
	fmt.Println(string(m.Text))
}

Output

Hello World

License

This package is licensed under a MIT license (Copyright (c) 2020 Meng Huang)

Author

msg was written by Meng Huang.

Description
No description provided
Readme MIT 43 KiB
Languages
Go 100%