-
Notifications
You must be signed in to change notification settings - Fork 6
/
Copy pathmqqp.go
62 lines (58 loc) · 2.29 KB
/
mqqp.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
// The mqqp package implements the MQQP client protocol.
//
// # Introduction
//
// This document specifies the Message Queuing (MSMQ): Queue Manager to Queue Manager
// Protocol. The Queue Manager to Queue Manager Protocol is an RPC-based protocol used
// by the queue manager and runtime library to read and purge messages from a remote
// queue.
//
// # Overview
//
// Message queuing is a communications service that provides asynchronous and reliable
// message passing between client applications, including those client applications
// running on different hosts. In message queuing, clients send messages to a queue
// and consume application messages from a queue. The queue provides persistence of
// the messages, enabling them to survive across application restarts, and allowing
// the sending and receiving client applications to operate asynchronously from each
// other.
//
// Queues are typically hosted by a communications service called a queue manager. By
// hosting the queue manager in a separate service from the client applications, applications
// can communicate by exchanging messages via a queue hosted by the queue manager, even
// if the client applications never execute at the same time.
//
// The queue manager can perform operations on a remote queue. When this scenario occurs,
// a protocol is required to insert messages into the remote queue, and another protocol
// is required to consume messages from the remote queue. The Message Queuing (MSMQ):
// Queue Manager to Queue Manager Protocol provides a protocol for consuming messages
// from a remote queue.
//
// The Queue Manager to Queue Manager Protocol is used only to read messages from a
// queue or to purge messages from the queue. Reading a message also implies deleting
// the message after it is read, as specified in Queue Operations (section 1.3.3).
package mqqp
import (
"context"
"fmt"
"strings"
"unicode/utf16"
dcerpc "github.com/oiweiwei/go-msrpc/dcerpc"
errors "github.com/oiweiwei/go-msrpc/dcerpc/errors"
uuid "github.com/oiweiwei/go-msrpc/midl/uuid"
ndr "github.com/oiweiwei/go-msrpc/ndr"
)
var (
_ = context.Background
_ = fmt.Errorf
_ = utf16.Encode
_ = strings.TrimPrefix
_ = ndr.ZeroString
_ = (*uuid.UUID)(nil)
_ = (*dcerpc.SyntaxID)(nil)
_ = (*errors.Error)(nil)
)
var (
// import guard
GoPackage = "mqqp"
)