1
0
mirror of https://github.com/mainflux/mainflux.git synced 2025-05-02 22:17:10 +08:00
Dušan Borovčanin 3d3aa525a6
NOISSUE - Switch to Google Zanzibar Access control approach (#1919)
* Return Auth service

Signed-off-by: dusanb94 <dusan.borovcanin@mainflux.com>

Update Compose to run with SpiceDB and Auth svc

Signed-off-by: dusanb94 <dusan.borovcanin@mainflux.com>

Update auth gRPC API

Signed-off-by: dusanb94 <dusan.borovcanin@mainflux.com>

Remove Users' policies

Signed-off-by: dusanb94 <dusan.borovcanin@mainflux.com>

Move Groups to internal

Signed-off-by: dusanb94 <dusan.borovcanin@mainflux.com>

Use shared groups in Users

Signed-off-by: dusanb94 <dusan.borovcanin@mainflux.com>

Remove unused code

Signed-off-by: dusanb94 <dusan.borovcanin@mainflux.com>

Use pkg Groups in Things

Signed-off-by: dusanb94 <dusan.borovcanin@mainflux.com>

Remove Things groups

Signed-off-by: dusanb94 <dusan.borovcanin@mainflux.com>

Make imports consistent

Signed-off-by: dusanb94 <dusan.borovcanin@mainflux.com>

Update Groups networking

Signed-off-by: dusanb94 <dusan.borovcanin@mainflux.com>

Remove things groups-specific API

Signed-off-by: dusanb94 <dusan.borovcanin@mainflux.com>

Move Things Clients to the root

Signed-off-by: dusanb94 <dusan.borovcanin@mainflux.com>

Move Clients to Users root

Signed-off-by: dusanb94 <dusan.borovcanin@mainflux.com>

Temporarily remove tracing

Signed-off-by: dusanb94 <dusan.borovcanin@mainflux.com>

Fix imports

Signed-off-by: dusanb94 <dusan.borovcanin@mainflux.com>

Add buffer config for gRPC

Signed-off-by: dusanb94 <dusan.borovcanin@mainflux.com>

Update auth type for Things

Signed-off-by: dusanb94 <dusan.borovcanin@mainflux.com>

Use Auth for login

Signed-off-by: dusanb94 <dusan.borovcanin@mainflux.com>

Add temporary solution for refresh token

Signed-off-by: dusanb94 <dusan.borovcanin@mainflux.com>

Update Tokenizer interface

Signed-off-by: dusanb94 <dusan.borovcanin@mainflux.com>

Updade tokens issuing

Signed-off-by: dusanb94 <dusan.borovcanin@mainflux.com>

Fix token issuing

Signed-off-by: dusanb94 <dusan.borovcanin@mainflux.com>

Update JWT validator and refactor Tokenizer

Signed-off-by: dusanb94 <dusan.borovcanin@mainflux.com>

Rename access timeout

Signed-off-by: dusanb94 <dusan.borovcanin@mainflux.com>

Rename login to authenticate

Signed-off-by: dusanb94 <dusan.borovcanin@mainflux.com>

Update Identify to use SubjectID

Signed-off-by: dusanb94 <dusan.borovcanin@mainflux.com>

Add Auth to Groups

Signed-off-by: dusanb94 <dusan.borovcanin@mainflux.com>

Use the Auth service for Groups

Signed-off-by: dusanb94 <dusan.borovcanin@mainflux.com>

Update auth schema

Signed-off-by: dusanb94 <dusan.borovcanin@mainflux.com>

Fix Auth for Groups

Signed-off-by: dusanb94 <dusan.borovcanin@mainflux.com>

Add auth for addons (#14)

Signed-off-by: Arvindh <arvindh91@gmail.com>

Speparate Login and Refresh tokens

Signed-off-by: dusanb94 <dusan.borovcanin@mainflux.com>

Merge authN and authZ requests for things

Signed-off-by: dusanb94 <dusan.borovcanin@mainflux.com>

Add connect and disconnect

Signed-off-by: dusanb94 <dusan.borovcanin@mainflux.com>

Update sharing

Signed-off-by: dusanb94 <dusan.borovcanin@mainflux.com>

Fix policies addition and removal

Signed-off-by: dusanb94 <dusan.borovcanin@mainflux.com>

Update relation with roels

Signed-off-by: dusanb94 <dusan.borovcanin@mainflux.com>

Add gRPC to Things

Signed-off-by: dusanb94 <dusan.borovcanin@mainflux.com>

Assign and Unassign members to group and Listing of Group members (#15)

* add auth for addons

Signed-off-by: Arvindh <arvindh91@gmail.com>

* add assign and unassign to group

Signed-off-by: Arvindh <arvindh91@gmail.com>

* add group incomplete repo implementation

Signed-off-by: Arvindh <arvindh91@gmail.com>

* groups for users

Signed-off-by: Arvindh <arvindh91@gmail.com>

* groups for users

Signed-off-by: Arvindh <arvindh91@gmail.com>

* groups for users

Signed-off-by: Arvindh <arvindh91@gmail.com>

* groups for users

Signed-off-by: Arvindh <arvindh91@gmail.com>

---------

Signed-off-by: Arvindh <arvindh91@gmail.com>

Move coap mqtt and ws policies to spicedb (#16)

Signed-off-by: Rodney Osodo <28790446+rodneyosodo@users.noreply.github.com>

Remove old policies

Signed-off-by: dusanb94 <dusan.borovcanin@mainflux.com>

NOISSUE - Things authorize to return thingID (#18)

This commit modifies the authorize endpoint to the grpc endpoint to return thingID. The authorize endpoint allows adapters to get the publisher of the message.

Signed-off-by: Rodney Osodo <28790446+rodneyosodo@users.noreply.github.com>

Add Groups to users service (#17)

* add assign and unassign to group

Signed-off-by: Arvindh <arvindh91@gmail.com>

* add group incomplete repo implementation

Signed-off-by: Arvindh <arvindh91@gmail.com>

* groups for users

Signed-off-by: Arvindh <arvindh91@gmail.com>

* groups for users

Signed-off-by: Arvindh <arvindh91@gmail.com>

* groups for users

Signed-off-by: Arvindh <arvindh91@gmail.com>

* groups for users

Signed-off-by: Arvindh <arvindh91@gmail.com>

* groups for users stable 1

Signed-off-by: Arvindh <arvindh91@gmail.com>

* groups for users stable 2

Signed-off-by: Arvindh <arvindh91@gmail.com>

* groups for users & things

Signed-off-by: Arvindh <arvindh91@gmail.com>

* Amend signature

Signed-off-by: Arvindh <arvindh91@gmail.com>

* fix merge error

Signed-off-by: Arvindh <arvindh91@gmail.com>

---------

Signed-off-by: Arvindh <arvindh91@gmail.com>
Signed-off-by: dusanb94 <dusan.borovcanin@mainflux.com>

* NOISSUE - Fix es code (#21)

Signed-off-by: Rodney Osodo <28790446+rodneyosodo@users.noreply.github.com>
Signed-off-by: dusanb94 <dusan.borovcanin@mainflux.com>

* NOISSUE - Fix Bugs (#20)

* fix bugs

Signed-off-by: Arvindh <arvindh91@gmail.com>

* fix bugs

Signed-off-by: Arvindh <arvindh91@gmail.com>

---------

Signed-off-by: Arvindh <arvindh91@gmail.com>
Signed-off-by: dusanb94 <dusan.borovcanin@mainflux.com>

* NOISSUE - Test e2e (#19)

* fix: connect method

Signed-off-by: Rodney Osodo <28790446+rodneyosodo@users.noreply.github.com>

* fix: e2e

Signed-off-by: Rodney Osodo <28790446+rodneyosodo@users.noreply.github.com>

* fix changes in sdk and e2e

Signed-off-by: Rodney Osodo <28790446+rodneyosodo@users.noreply.github.com>

* feat(docker): remove unnecessary port mapping

Remove the port mapping for MQTT broker in the docker-compose.yml file.

Signed-off-by: Rodney Osodo <28790446+rodneyosodo@users.noreply.github.com>

* Enable group listing

Signed-off-by: Rodney Osodo <28790446+rodneyosodo@users.noreply.github.com>

* feat(responses): update ChannelsPage struct

The ChannelsPage struct in the responses.go file has been updated. The "Channels" field has been renamed to "Groups" to provide more accurate naming. This change ensures consistency and clarity in the codebase.

Signed-off-by: Rodney Osodo <28790446+rodneyosodo@users.noreply.github.com>

* feat(things): add UpdateClientSecret method

Add the UpdateClientSecret method to the things service. This method allows updating the client secret for a specific client identified by the provided token, id, and key parameters.

Signed-off-by: Rodney Osodo <28790446+rodneyosodo@users.noreply.github.com>

---------

Signed-off-by: Rodney Osodo <28790446+rodneyosodo@users.noreply.github.com>
Signed-off-by: dusanb94 <dusan.borovcanin@mainflux.com>

* Use smaller buffers for gRPC

Signed-off-by: dusanb94 <dusan.borovcanin@mainflux.com>

* Clean up tests (#22)

Signed-off-by: Rodney Osodo <28790446+rodneyosodo@users.noreply.github.com>
Signed-off-by: dusanb94 <dusan.borovcanin@mainflux.com>

* Add Connect Disconnect endpoints (#23)

* fix bugs

Signed-off-by: Arvindh <arvindh91@gmail.com>

* fix bugs

Signed-off-by: Arvindh <arvindh91@gmail.com>

* fix list of things in a channel and Add connect disconnect endpoint

Signed-off-by: Arvindh <arvindh91@gmail.com>

* fix list of things in a channel and Add connect disconnect endpoint

Signed-off-by: Arvindh <arvindh91@gmail.com>

---------

Signed-off-by: Arvindh <arvindh91@gmail.com>
Signed-off-by: dusanb94 <dusan.borovcanin@mainflux.com>

* Add: Things share with users (#25)

* fix list of things in a channel and Add connect disconnect endpoint

Signed-off-by: Arvindh <arvindh91@gmail.com>

* add: things share with other users

Signed-off-by: Arvindh <arvindh91@gmail.com>

---------

Signed-off-by: Arvindh <arvindh91@gmail.com>
Signed-off-by: dusanb94 <dusan.borovcanin@mainflux.com>

* NOISSUE - Rename gRPC Services (#24)

* Rename things and users auth service

Signed-off-by: Rodney Osodo <28790446+rodneyosodo@users.noreply.github.com>

* docs: add authorization docs for gRPC services

Signed-off-by: Rodney Osodo <28790446+rodneyosodo@users.noreply.github.com>

* Rename things and users grpc services

Signed-off-by: Rodney Osodo <28790446+rodneyosodo@users.noreply.github.com>

* Remove mainflux.env package

Signed-off-by: Rodney Osodo <28790446+rodneyosodo@users.noreply.github.com>

---------

Signed-off-by: Rodney Osodo <28790446+rodneyosodo@users.noreply.github.com>
Signed-off-by: dusanb94 <dusan.borovcanin@mainflux.com>

* Add: Listing of things, channels, groups, users  (#26)

* add: listing of channels, users, groups, things

Signed-off-by: Arvindh <arvindh91@gmail.com>

* add: listing of channels, users, groups, things

Signed-off-by: Arvindh <arvindh91@gmail.com>

* add: listing of channels, users, groups, things

Signed-off-by: Arvindh <arvindh91@gmail.com>

* add: listing of channels, users, groups, things

Signed-off-by: Arvindh <arvindh91@gmail.com>

---------

Signed-off-by: Arvindh <arvindh91@gmail.com>
Signed-off-by: dusanb94 <dusan.borovcanin@mainflux.com>

* NOISSUE - Clean Up Users (#27)

* feat(groups): rename redis package to events

- Renamed the `redis` package to `events` in the `internal/groups` directory.
- Updated the file paths and names accordingly.
- This change reflects the more accurate purpose of the package and improves code organization.

Signed-off-by: Rodney Osodo <28790446+rodneyosodo@users.noreply.github.com>

* feat(auth): Modify identity method

Change request and response of identity method

Add accessToken and refreshToken to Token response

Signed-off-by: Rodney Osodo <28790446+rodneyosodo@users.noreply.github.com>

* clean up users, remove dead code

Signed-off-by: Rodney Osodo <28790446+rodneyosodo@users.noreply.github.com>

* feat(users): add unit tests for user service

This commit adds unit tests for the user service in the `users` package. The tests cover various scenarios and ensure the correct behavior of the service.

Signed-off-by: Rodney Osodo <28790446+rodneyosodo@users.noreply.github.com>

---------

Signed-off-by: Rodney Osodo <28790446+rodneyosodo@users.noreply.github.com>
Signed-off-by: dusanb94 <dusan.borovcanin@mainflux.com>

* Add: List of user groups & removed repeating code in groups (#29)

* removed repeating code in list groups

Signed-off-by: Arvindh <arvindh91@gmail.com>

* add: list of user group

Signed-off-by: Arvindh <arvindh91@gmail.com>

* fix: otel handler operator name for endpoints

Signed-off-by: Arvindh <arvindh91@gmail.com>

---------

Signed-off-by: Arvindh <arvindh91@gmail.com>
Signed-off-by: dusanb94 <dusan.borovcanin@mainflux.com>

* NOISSUE - Clean Up Things Service (#28)

* Rework things service

Signed-off-by: Rodney Osodo <28790446+rodneyosodo@users.noreply.github.com>

* add tests

Signed-off-by: Rodney Osodo <28790446+rodneyosodo@users.noreply.github.com>

---------

Signed-off-by: Rodney Osodo <28790446+rodneyosodo@users.noreply.github.com>
Signed-off-by: dusanb94 <dusan.borovcanin@mainflux.com>

* NOISSUE - Clean Up Auth Service (#30)

* clean up auth service

Signed-off-by: Rodney Osodo <28790446+rodneyosodo@users.noreply.github.com>

* feat(auth): remove unused import

Remove the unused import of `emptypb` in `auth.pb.go`. This import is not being used in the codebase and can be safely removed.

Signed-off-by: Rodney Osodo <28790446+rodneyosodo@users.noreply.github.com>

---------

Signed-off-by: Rodney Osodo <28790446+rodneyosodo@users.noreply.github.com>
Signed-off-by: dusanb94 <dusan.borovcanin@mainflux.com>

* NOISSUE - Update API docs (#31)

Signed-off-by: rodneyosodo <blackd0t@protonmail.com>
Signed-off-by: dusanb94 <dusan.borovcanin@mainflux.com>

* Remove TODO comments and cleanup the code

Signed-off-by: dusanb94 <dusan.borovcanin@mainflux.com>

* Update dependenices

Signed-off-by: dusanb94 <dusan.borovcanin@mainflux.com>

---------

Signed-off-by: Arvindh <arvindh91@gmail.com>
Signed-off-by: dusanb94 <dusan.borovcanin@mainflux.com>
Signed-off-by: Rodney Osodo <28790446+rodneyosodo@users.noreply.github.com>
Signed-off-by: rodneyosodo <blackd0t@protonmail.com>
Co-authored-by: b1ackd0t <28790446+rodneyosodo@users.noreply.github.com>
Co-authored-by: Arvindh <30824765+arvindh123@users.noreply.github.com>
2023-10-15 22:02:13 +02:00

3383 lines
59 KiB
Go

// Copyright (c) 2021 VMware, Inc. or its affiliates. All Rights Reserved.
// Copyright (c) 2012-2021, Sean Treadway, SoundCloud Ltd.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
/* GENERATED FILE - DO NOT EDIT */
/* Rebuild from the spec/gen.go tool */
package amqp091
import (
"encoding/binary"
"fmt"
"io"
)
// Error codes that can be sent from the server during a connection or
// channel exception or used by the client to indicate a class of error like
// ErrCredentials. The text of the error is likely more interesting than
// these constants.
const (
frameMethod = 1
frameHeader = 2
frameBody = 3
frameHeartbeat = 8
frameMinSize = 4096
frameEnd = 206
replySuccess = 200
ContentTooLarge = 311
NoRoute = 312
NoConsumers = 313
ConnectionForced = 320
InvalidPath = 402
AccessRefused = 403
NotFound = 404
ResourceLocked = 405
PreconditionFailed = 406
FrameError = 501
SyntaxError = 502
CommandInvalid = 503
ChannelError = 504
UnexpectedFrame = 505
ResourceError = 506
NotAllowed = 530
NotImplemented = 540
InternalError = 541
)
func isSoftExceptionCode(code int) bool {
switch code {
case 311:
return true
case 312:
return true
case 313:
return true
case 403:
return true
case 404:
return true
case 405:
return true
case 406:
return true
}
return false
}
type connectionStart struct {
VersionMajor byte
VersionMinor byte
ServerProperties Table
Mechanisms string
Locales string
}
func (msg *connectionStart) id() (uint16, uint16) {
return 10, 10
}
func (msg *connectionStart) wait() bool {
return true
}
func (msg *connectionStart) write(w io.Writer) (err error) {
if err = binary.Write(w, binary.BigEndian, msg.VersionMajor); err != nil {
return
}
if err = binary.Write(w, binary.BigEndian, msg.VersionMinor); err != nil {
return
}
if err = writeTable(w, msg.ServerProperties); err != nil {
return
}
if err = writeLongstr(w, msg.Mechanisms); err != nil {
return
}
if err = writeLongstr(w, msg.Locales); err != nil {
return
}
return
}
func (msg *connectionStart) read(r io.Reader) (err error) {
if err = binary.Read(r, binary.BigEndian, &msg.VersionMajor); err != nil {
return
}
if err = binary.Read(r, binary.BigEndian, &msg.VersionMinor); err != nil {
return
}
if msg.ServerProperties, err = readTable(r); err != nil {
return
}
if msg.Mechanisms, err = readLongstr(r); err != nil {
return
}
if msg.Locales, err = readLongstr(r); err != nil {
return
}
return
}
type connectionStartOk struct {
ClientProperties Table
Mechanism string
Response string
Locale string
}
func (msg *connectionStartOk) id() (uint16, uint16) {
return 10, 11
}
func (msg *connectionStartOk) wait() bool {
return true
}
func (msg *connectionStartOk) write(w io.Writer) (err error) {
if err = writeTable(w, msg.ClientProperties); err != nil {
return
}
if err = writeShortstr(w, msg.Mechanism); err != nil {
return
}
if err = writeLongstr(w, msg.Response); err != nil {
return
}
if err = writeShortstr(w, msg.Locale); err != nil {
return
}
return
}
func (msg *connectionStartOk) read(r io.Reader) (err error) {
if msg.ClientProperties, err = readTable(r); err != nil {
return
}
if msg.Mechanism, err = readShortstr(r); err != nil {
return
}
if msg.Response, err = readLongstr(r); err != nil {
return
}
if msg.Locale, err = readShortstr(r); err != nil {
return
}
return
}
type connectionSecure struct {
Challenge string
}
func (msg *connectionSecure) id() (uint16, uint16) {
return 10, 20
}
func (msg *connectionSecure) wait() bool {
return true
}
func (msg *connectionSecure) write(w io.Writer) (err error) {
if err = writeLongstr(w, msg.Challenge); err != nil {
return
}
return
}
func (msg *connectionSecure) read(r io.Reader) (err error) {
if msg.Challenge, err = readLongstr(r); err != nil {
return
}
return
}
type connectionSecureOk struct {
Response string
}
func (msg *connectionSecureOk) id() (uint16, uint16) {
return 10, 21
}
func (msg *connectionSecureOk) wait() bool {
return true
}
func (msg *connectionSecureOk) write(w io.Writer) (err error) {
if err = writeLongstr(w, msg.Response); err != nil {
return
}
return
}
func (msg *connectionSecureOk) read(r io.Reader) (err error) {
if msg.Response, err = readLongstr(r); err != nil {
return
}
return
}
type connectionTune struct {
ChannelMax uint16
FrameMax uint32
Heartbeat uint16
}
func (msg *connectionTune) id() (uint16, uint16) {
return 10, 30
}
func (msg *connectionTune) wait() bool {
return true
}
func (msg *connectionTune) write(w io.Writer) (err error) {
if err = binary.Write(w, binary.BigEndian, msg.ChannelMax); err != nil {
return
}
if err = binary.Write(w, binary.BigEndian, msg.FrameMax); err != nil {
return
}
if err = binary.Write(w, binary.BigEndian, msg.Heartbeat); err != nil {
return
}
return
}
func (msg *connectionTune) read(r io.Reader) (err error) {
if err = binary.Read(r, binary.BigEndian, &msg.ChannelMax); err != nil {
return
}
if err = binary.Read(r, binary.BigEndian, &msg.FrameMax); err != nil {
return
}
if err = binary.Read(r, binary.BigEndian, &msg.Heartbeat); err != nil {
return
}
return
}
type connectionTuneOk struct {
ChannelMax uint16
FrameMax uint32
Heartbeat uint16
}
func (msg *connectionTuneOk) id() (uint16, uint16) {
return 10, 31
}
func (msg *connectionTuneOk) wait() bool {
return true
}
func (msg *connectionTuneOk) write(w io.Writer) (err error) {
if err = binary.Write(w, binary.BigEndian, msg.ChannelMax); err != nil {
return
}
if err = binary.Write(w, binary.BigEndian, msg.FrameMax); err != nil {
return
}
if err = binary.Write(w, binary.BigEndian, msg.Heartbeat); err != nil {
return
}
return
}
func (msg *connectionTuneOk) read(r io.Reader) (err error) {
if err = binary.Read(r, binary.BigEndian, &msg.ChannelMax); err != nil {
return
}
if err = binary.Read(r, binary.BigEndian, &msg.FrameMax); err != nil {
return
}
if err = binary.Read(r, binary.BigEndian, &msg.Heartbeat); err != nil {
return
}
return
}
type connectionOpen struct {
VirtualHost string
reserved1 string
reserved2 bool
}
func (msg *connectionOpen) id() (uint16, uint16) {
return 10, 40
}
func (msg *connectionOpen) wait() bool {
return true
}
func (msg *connectionOpen) write(w io.Writer) (err error) {
var bits byte
if err = writeShortstr(w, msg.VirtualHost); err != nil {
return
}
if err = writeShortstr(w, msg.reserved1); err != nil {
return
}
if msg.reserved2 {
bits |= 1 << 0
}
if err = binary.Write(w, binary.BigEndian, bits); err != nil {
return
}
return
}
func (msg *connectionOpen) read(r io.Reader) (err error) {
var bits byte
if msg.VirtualHost, err = readShortstr(r); err != nil {
return
}
if msg.reserved1, err = readShortstr(r); err != nil {
return
}
if err = binary.Read(r, binary.BigEndian, &bits); err != nil {
return
}
msg.reserved2 = (bits&(1<<0) > 0)
return
}
type connectionOpenOk struct {
reserved1 string
}
func (msg *connectionOpenOk) id() (uint16, uint16) {
return 10, 41
}
func (msg *connectionOpenOk) wait() bool {
return true
}
func (msg *connectionOpenOk) write(w io.Writer) (err error) {
if err = writeShortstr(w, msg.reserved1); err != nil {
return
}
return
}
func (msg *connectionOpenOk) read(r io.Reader) (err error) {
if msg.reserved1, err = readShortstr(r); err != nil {
return
}
return
}
type connectionClose struct {
ReplyCode uint16
ReplyText string
ClassId uint16
MethodId uint16
}
func (msg *connectionClose) id() (uint16, uint16) {
return 10, 50
}
func (msg *connectionClose) wait() bool {
return true
}
func (msg *connectionClose) write(w io.Writer) (err error) {
if err = binary.Write(w, binary.BigEndian, msg.ReplyCode); err != nil {
return
}
if err = writeShortstr(w, msg.ReplyText); err != nil {
return
}
if err = binary.Write(w, binary.BigEndian, msg.ClassId); err != nil {
return
}
if err = binary.Write(w, binary.BigEndian, msg.MethodId); err != nil {
return
}
return
}
func (msg *connectionClose) read(r io.Reader) (err error) {
if err = binary.Read(r, binary.BigEndian, &msg.ReplyCode); err != nil {
return
}
if msg.ReplyText, err = readShortstr(r); err != nil {
return
}
if err = binary.Read(r, binary.BigEndian, &msg.ClassId); err != nil {
return
}
if err = binary.Read(r, binary.BigEndian, &msg.MethodId); err != nil {
return
}
return
}
type connectionCloseOk struct {
}
func (msg *connectionCloseOk) id() (uint16, uint16) {
return 10, 51
}
func (msg *connectionCloseOk) wait() bool {
return true
}
func (msg *connectionCloseOk) write(w io.Writer) (err error) {
return
}
func (msg *connectionCloseOk) read(r io.Reader) (err error) {
return
}
type connectionBlocked struct {
Reason string
}
func (msg *connectionBlocked) id() (uint16, uint16) {
return 10, 60
}
func (msg *connectionBlocked) wait() bool {
return false
}
func (msg *connectionBlocked) write(w io.Writer) (err error) {
if err = writeShortstr(w, msg.Reason); err != nil {
return
}
return
}
func (msg *connectionBlocked) read(r io.Reader) (err error) {
if msg.Reason, err = readShortstr(r); err != nil {
return
}
return
}
type connectionUnblocked struct {
}
func (msg *connectionUnblocked) id() (uint16, uint16) {
return 10, 61
}
func (msg *connectionUnblocked) wait() bool {
return false
}
func (msg *connectionUnblocked) write(w io.Writer) (err error) {
return
}
func (msg *connectionUnblocked) read(r io.Reader) (err error) {
return
}
type connectionUpdateSecret struct {
NewSecret string
Reason string
}
func (msg *connectionUpdateSecret) id() (uint16, uint16) {
return 10, 70
}
func (msg *connectionUpdateSecret) wait() bool {
return true
}
func (msg *connectionUpdateSecret) write(w io.Writer) (err error) {
if err = writeLongstr(w, msg.NewSecret); err != nil {
return
}
if err = writeShortstr(w, msg.Reason); err != nil {
return
}
return
}
func (msg *connectionUpdateSecret) read(r io.Reader) (err error) {
if msg.NewSecret, err = readLongstr(r); err != nil {
return
}
if msg.Reason, err = readShortstr(r); err != nil {
return
}
return
}
type connectionUpdateSecretOk struct {
}
func (msg *connectionUpdateSecretOk) id() (uint16, uint16) {
return 10, 71
}
func (msg *connectionUpdateSecretOk) wait() bool {
return true
}
func (msg *connectionUpdateSecretOk) write(w io.Writer) (err error) {
return
}
func (msg *connectionUpdateSecretOk) read(r io.Reader) (err error) {
return
}
type channelOpen struct {
reserved1 string
}
func (msg *channelOpen) id() (uint16, uint16) {
return 20, 10
}
func (msg *channelOpen) wait() bool {
return true
}
func (msg *channelOpen) write(w io.Writer) (err error) {
if err = writeShortstr(w, msg.reserved1); err != nil {
return
}
return
}
func (msg *channelOpen) read(r io.Reader) (err error) {
if msg.reserved1, err = readShortstr(r); err != nil {
return
}
return
}
type channelOpenOk struct {
reserved1 string
}
func (msg *channelOpenOk) id() (uint16, uint16) {
return 20, 11
}
func (msg *channelOpenOk) wait() bool {
return true
}
func (msg *channelOpenOk) write(w io.Writer) (err error) {
if err = writeLongstr(w, msg.reserved1); err != nil {
return
}
return
}
func (msg *channelOpenOk) read(r io.Reader) (err error) {
if msg.reserved1, err = readLongstr(r); err != nil {
return
}
return
}
type channelFlow struct {
Active bool
}
func (msg *channelFlow) id() (uint16, uint16) {
return 20, 20
}
func (msg *channelFlow) wait() bool {
return true
}
func (msg *channelFlow) write(w io.Writer) (err error) {
var bits byte
if msg.Active {
bits |= 1 << 0
}
if err = binary.Write(w, binary.BigEndian, bits); err != nil {
return
}
return
}
func (msg *channelFlow) read(r io.Reader) (err error) {
var bits byte
if err = binary.Read(r, binary.BigEndian, &bits); err != nil {
return
}
msg.Active = (bits&(1<<0) > 0)
return
}
type channelFlowOk struct {
Active bool
}
func (msg *channelFlowOk) id() (uint16, uint16) {
return 20, 21
}
func (msg *channelFlowOk) wait() bool {
return false
}
func (msg *channelFlowOk) write(w io.Writer) (err error) {
var bits byte
if msg.Active {
bits |= 1 << 0
}
if err = binary.Write(w, binary.BigEndian, bits); err != nil {
return
}
return
}
func (msg *channelFlowOk) read(r io.Reader) (err error) {
var bits byte
if err = binary.Read(r, binary.BigEndian, &bits); err != nil {
return
}
msg.Active = (bits&(1<<0) > 0)
return
}
type channelClose struct {
ReplyCode uint16
ReplyText string
ClassId uint16
MethodId uint16
}
func (msg *channelClose) id() (uint16, uint16) {
return 20, 40
}
func (msg *channelClose) wait() bool {
return true
}
func (msg *channelClose) write(w io.Writer) (err error) {
if err = binary.Write(w, binary.BigEndian, msg.ReplyCode); err != nil {
return
}
if err = writeShortstr(w, msg.ReplyText); err != nil {
return
}
if err = binary.Write(w, binary.BigEndian, msg.ClassId); err != nil {
return
}
if err = binary.Write(w, binary.BigEndian, msg.MethodId); err != nil {
return
}
return
}
func (msg *channelClose) read(r io.Reader) (err error) {
if err = binary.Read(r, binary.BigEndian, &msg.ReplyCode); err != nil {
return
}
if msg.ReplyText, err = readShortstr(r); err != nil {
return
}
if err = binary.Read(r, binary.BigEndian, &msg.ClassId); err != nil {
return
}
if err = binary.Read(r, binary.BigEndian, &msg.MethodId); err != nil {
return
}
return
}
type channelCloseOk struct {
}
func (msg *channelCloseOk) id() (uint16, uint16) {
return 20, 41
}
func (msg *channelCloseOk) wait() bool {
return true
}
func (msg *channelCloseOk) write(w io.Writer) (err error) {
return
}
func (msg *channelCloseOk) read(r io.Reader) (err error) {
return
}
type exchangeDeclare struct {
reserved1 uint16
Exchange string
Type string
Passive bool
Durable bool
AutoDelete bool
Internal bool
NoWait bool
Arguments Table
}
func (msg *exchangeDeclare) id() (uint16, uint16) {
return 40, 10
}
func (msg *exchangeDeclare) wait() bool {
return true && !msg.NoWait
}
func (msg *exchangeDeclare) write(w io.Writer) (err error) {
var bits byte
if err = binary.Write(w, binary.BigEndian, msg.reserved1); err != nil {
return
}
if err = writeShortstr(w, msg.Exchange); err != nil {
return
}
if err = writeShortstr(w, msg.Type); err != nil {
return
}
if msg.Passive {
bits |= 1 << 0
}
if msg.Durable {
bits |= 1 << 1
}
if msg.AutoDelete {
bits |= 1 << 2
}
if msg.Internal {
bits |= 1 << 3
}
if msg.NoWait {
bits |= 1 << 4
}
if err = binary.Write(w, binary.BigEndian, bits); err != nil {
return
}
if err = writeTable(w, msg.Arguments); err != nil {
return
}
return
}
func (msg *exchangeDeclare) read(r io.Reader) (err error) {
var bits byte
if err = binary.Read(r, binary.BigEndian, &msg.reserved1); err != nil {
return
}
if msg.Exchange, err = readShortstr(r); err != nil {
return
}
if msg.Type, err = readShortstr(r); err != nil {
return
}
if err = binary.Read(r, binary.BigEndian, &bits); err != nil {
return
}
msg.Passive = (bits&(1<<0) > 0)
msg.Durable = (bits&(1<<1) > 0)
msg.AutoDelete = (bits&(1<<2) > 0)
msg.Internal = (bits&(1<<3) > 0)
msg.NoWait = (bits&(1<<4) > 0)
if msg.Arguments, err = readTable(r); err != nil {
return
}
return
}
type exchangeDeclareOk struct {
}
func (msg *exchangeDeclareOk) id() (uint16, uint16) {
return 40, 11
}
func (msg *exchangeDeclareOk) wait() bool {
return true
}
func (msg *exchangeDeclareOk) write(w io.Writer) (err error) {
return
}
func (msg *exchangeDeclareOk) read(r io.Reader) (err error) {
return
}
type exchangeDelete struct {
reserved1 uint16
Exchange string
IfUnused bool
NoWait bool
}
func (msg *exchangeDelete) id() (uint16, uint16) {
return 40, 20
}
func (msg *exchangeDelete) wait() bool {
return true && !msg.NoWait
}
func (msg *exchangeDelete) write(w io.Writer) (err error) {
var bits byte
if err = binary.Write(w, binary.BigEndian, msg.reserved1); err != nil {
return
}
if err = writeShortstr(w, msg.Exchange); err != nil {
return
}
if msg.IfUnused {
bits |= 1 << 0
}
if msg.NoWait {
bits |= 1 << 1
}
if err = binary.Write(w, binary.BigEndian, bits); err != nil {
return
}
return
}
func (msg *exchangeDelete) read(r io.Reader) (err error) {
var bits byte
if err = binary.Read(r, binary.BigEndian, &msg.reserved1); err != nil {
return
}
if msg.Exchange, err = readShortstr(r); err != nil {
return
}
if err = binary.Read(r, binary.BigEndian, &bits); err != nil {
return
}
msg.IfUnused = (bits&(1<<0) > 0)
msg.NoWait = (bits&(1<<1) > 0)
return
}
type exchangeDeleteOk struct {
}
func (msg *exchangeDeleteOk) id() (uint16, uint16) {
return 40, 21
}
func (msg *exchangeDeleteOk) wait() bool {
return true
}
func (msg *exchangeDeleteOk) write(w io.Writer) (err error) {
return
}
func (msg *exchangeDeleteOk) read(r io.Reader) (err error) {
return
}
type exchangeBind struct {
reserved1 uint16
Destination string
Source string
RoutingKey string
NoWait bool
Arguments Table
}
func (msg *exchangeBind) id() (uint16, uint16) {
return 40, 30
}
func (msg *exchangeBind) wait() bool {
return true && !msg.NoWait
}
func (msg *exchangeBind) write(w io.Writer) (err error) {
var bits byte
if err = binary.Write(w, binary.BigEndian, msg.reserved1); err != nil {
return
}
if err = writeShortstr(w, msg.Destination); err != nil {
return
}
if err = writeShortstr(w, msg.Source); err != nil {
return
}
if err = writeShortstr(w, msg.RoutingKey); err != nil {
return
}
if msg.NoWait {
bits |= 1 << 0
}
if err = binary.Write(w, binary.BigEndian, bits); err != nil {
return
}
if err = writeTable(w, msg.Arguments); err != nil {
return
}
return
}
func (msg *exchangeBind) read(r io.Reader) (err error) {
var bits byte
if err = binary.Read(r, binary.BigEndian, &msg.reserved1); err != nil {
return
}
if msg.Destination, err = readShortstr(r); err != nil {
return
}
if msg.Source, err = readShortstr(r); err != nil {
return
}
if msg.RoutingKey, err = readShortstr(r); err != nil {
return
}
if err = binary.Read(r, binary.BigEndian, &bits); err != nil {
return
}
msg.NoWait = (bits&(1<<0) > 0)
if msg.Arguments, err = readTable(r); err != nil {
return
}
return
}
type exchangeBindOk struct {
}
func (msg *exchangeBindOk) id() (uint16, uint16) {
return 40, 31
}
func (msg *exchangeBindOk) wait() bool {
return true
}
func (msg *exchangeBindOk) write(w io.Writer) (err error) {
return
}
func (msg *exchangeBindOk) read(r io.Reader) (err error) {
return
}
type exchangeUnbind struct {
reserved1 uint16
Destination string
Source string
RoutingKey string
NoWait bool
Arguments Table
}
func (msg *exchangeUnbind) id() (uint16, uint16) {
return 40, 40
}
func (msg *exchangeUnbind) wait() bool {
return true && !msg.NoWait
}
func (msg *exchangeUnbind) write(w io.Writer) (err error) {
var bits byte
if err = binary.Write(w, binary.BigEndian, msg.reserved1); err != nil {
return
}
if err = writeShortstr(w, msg.Destination); err != nil {
return
}
if err = writeShortstr(w, msg.Source); err != nil {
return
}
if err = writeShortstr(w, msg.RoutingKey); err != nil {
return
}
if msg.NoWait {
bits |= 1 << 0
}
if err = binary.Write(w, binary.BigEndian, bits); err != nil {
return
}
if err = writeTable(w, msg.Arguments); err != nil {
return
}
return
}
func (msg *exchangeUnbind) read(r io.Reader) (err error) {
var bits byte
if err = binary.Read(r, binary.BigEndian, &msg.reserved1); err != nil {
return
}
if msg.Destination, err = readShortstr(r); err != nil {
return
}
if msg.Source, err = readShortstr(r); err != nil {
return
}
if msg.RoutingKey, err = readShortstr(r); err != nil {
return
}
if err = binary.Read(r, binary.BigEndian, &bits); err != nil {
return
}
msg.NoWait = (bits&(1<<0) > 0)
if msg.Arguments, err = readTable(r); err != nil {
return
}
return
}
type exchangeUnbindOk struct {
}
func (msg *exchangeUnbindOk) id() (uint16, uint16) {
return 40, 51
}
func (msg *exchangeUnbindOk) wait() bool {
return true
}
func (msg *exchangeUnbindOk) write(w io.Writer) (err error) {
return
}
func (msg *exchangeUnbindOk) read(r io.Reader) (err error) {
return
}
type queueDeclare struct {
reserved1 uint16
Queue string
Passive bool
Durable bool
Exclusive bool
AutoDelete bool
NoWait bool
Arguments Table
}
func (msg *queueDeclare) id() (uint16, uint16) {
return 50, 10
}
func (msg *queueDeclare) wait() bool {
return true && !msg.NoWait
}
func (msg *queueDeclare) write(w io.Writer) (err error) {
var bits byte
if err = binary.Write(w, binary.BigEndian, msg.reserved1); err != nil {
return
}
if err = writeShortstr(w, msg.Queue); err != nil {
return
}
if msg.Passive {
bits |= 1 << 0
}
if msg.Durable {
bits |= 1 << 1
}
if msg.Exclusive {
bits |= 1 << 2
}
if msg.AutoDelete {
bits |= 1 << 3
}
if msg.NoWait {
bits |= 1 << 4
}
if err = binary.Write(w, binary.BigEndian, bits); err != nil {
return
}
if err = writeTable(w, msg.Arguments); err != nil {
return
}
return
}
func (msg *queueDeclare) read(r io.Reader) (err error) {
var bits byte
if err = binary.Read(r, binary.BigEndian, &msg.reserved1); err != nil {
return
}
if msg.Queue, err = readShortstr(r); err != nil {
return
}
if err = binary.Read(r, binary.BigEndian, &bits); err != nil {
return
}
msg.Passive = (bits&(1<<0) > 0)
msg.Durable = (bits&(1<<1) > 0)
msg.Exclusive = (bits&(1<<2) > 0)
msg.AutoDelete = (bits&(1<<3) > 0)
msg.NoWait = (bits&(1<<4) > 0)
if msg.Arguments, err = readTable(r); err != nil {
return
}
return
}
type queueDeclareOk struct {
Queue string
MessageCount uint32
ConsumerCount uint32
}
func (msg *queueDeclareOk) id() (uint16, uint16) {
return 50, 11
}
func (msg *queueDeclareOk) wait() bool {
return true
}
func (msg *queueDeclareOk) write(w io.Writer) (err error) {
if err = writeShortstr(w, msg.Queue); err != nil {
return
}
if err = binary.Write(w, binary.BigEndian, msg.MessageCount); err != nil {
return
}
if err = binary.Write(w, binary.BigEndian, msg.ConsumerCount); err != nil {
return
}
return
}
func (msg *queueDeclareOk) read(r io.Reader) (err error) {
if msg.Queue, err = readShortstr(r); err != nil {
return
}
if err = binary.Read(r, binary.BigEndian, &msg.MessageCount); err != nil {
return
}
if err = binary.Read(r, binary.BigEndian, &msg.ConsumerCount); err != nil {
return
}
return
}
type queueBind struct {
reserved1 uint16
Queue string
Exchange string
RoutingKey string
NoWait bool
Arguments Table
}
func (msg *queueBind) id() (uint16, uint16) {
return 50, 20
}
func (msg *queueBind) wait() bool {
return true && !msg.NoWait
}
func (msg *queueBind) write(w io.Writer) (err error) {
var bits byte
if err = binary.Write(w, binary.BigEndian, msg.reserved1); err != nil {
return
}
if err = writeShortstr(w, msg.Queue); err != nil {
return
}
if err = writeShortstr(w, msg.Exchange); err != nil {
return
}
if err = writeShortstr(w, msg.RoutingKey); err != nil {
return
}
if msg.NoWait {
bits |= 1 << 0
}
if err = binary.Write(w, binary.BigEndian, bits); err != nil {
return
}
if err = writeTable(w, msg.Arguments); err != nil {
return
}
return
}
func (msg *queueBind) read(r io.Reader) (err error) {
var bits byte
if err = binary.Read(r, binary.BigEndian, &msg.reserved1); err != nil {
return
}
if msg.Queue, err = readShortstr(r); err != nil {
return
}
if msg.Exchange, err = readShortstr(r); err != nil {
return
}
if msg.RoutingKey, err = readShortstr(r); err != nil {
return
}
if err = binary.Read(r, binary.BigEndian, &bits); err != nil {
return
}
msg.NoWait = (bits&(1<<0) > 0)
if msg.Arguments, err = readTable(r); err != nil {
return
}
return
}
type queueBindOk struct {
}
func (msg *queueBindOk) id() (uint16, uint16) {
return 50, 21
}
func (msg *queueBindOk) wait() bool {
return true
}
func (msg *queueBindOk) write(w io.Writer) (err error) {
return
}
func (msg *queueBindOk) read(r io.Reader) (err error) {
return
}
type queueUnbind struct {
reserved1 uint16
Queue string
Exchange string
RoutingKey string
Arguments Table
}
func (msg *queueUnbind) id() (uint16, uint16) {
return 50, 50
}
func (msg *queueUnbind) wait() bool {
return true
}
func (msg *queueUnbind) write(w io.Writer) (err error) {
if err = binary.Write(w, binary.BigEndian, msg.reserved1); err != nil {
return
}
if err = writeShortstr(w, msg.Queue); err != nil {
return
}
if err = writeShortstr(w, msg.Exchange); err != nil {
return
}
if err = writeShortstr(w, msg.RoutingKey); err != nil {
return
}
if err = writeTable(w, msg.Arguments); err != nil {
return
}
return
}
func (msg *queueUnbind) read(r io.Reader) (err error) {
if err = binary.Read(r, binary.BigEndian, &msg.reserved1); err != nil {
return
}
if msg.Queue, err = readShortstr(r); err != nil {
return
}
if msg.Exchange, err = readShortstr(r); err != nil {
return
}
if msg.RoutingKey, err = readShortstr(r); err != nil {
return
}
if msg.Arguments, err = readTable(r); err != nil {
return
}
return
}
type queueUnbindOk struct {
}
func (msg *queueUnbindOk) id() (uint16, uint16) {
return 50, 51
}
func (msg *queueUnbindOk) wait() bool {
return true
}
func (msg *queueUnbindOk) write(w io.Writer) (err error) {
return
}
func (msg *queueUnbindOk) read(r io.Reader) (err error) {
return
}
type queuePurge struct {
reserved1 uint16
Queue string
NoWait bool
}
func (msg *queuePurge) id() (uint16, uint16) {
return 50, 30
}
func (msg *queuePurge) wait() bool {
return true && !msg.NoWait
}
func (msg *queuePurge) write(w io.Writer) (err error) {
var bits byte
if err = binary.Write(w, binary.BigEndian, msg.reserved1); err != nil {
return
}
if err = writeShortstr(w, msg.Queue); err != nil {
return
}
if msg.NoWait {
bits |= 1 << 0
}
if err = binary.Write(w, binary.BigEndian, bits); err != nil {
return
}
return
}
func (msg *queuePurge) read(r io.Reader) (err error) {
var bits byte
if err = binary.Read(r, binary.BigEndian, &msg.reserved1); err != nil {
return
}
if msg.Queue, err = readShortstr(r); err != nil {
return
}
if err = binary.Read(r, binary.BigEndian, &bits); err != nil {
return
}
msg.NoWait = (bits&(1<<0) > 0)
return
}
type queuePurgeOk struct {
MessageCount uint32
}
func (msg *queuePurgeOk) id() (uint16, uint16) {
return 50, 31
}
func (msg *queuePurgeOk) wait() bool {
return true
}
func (msg *queuePurgeOk) write(w io.Writer) (err error) {
if err = binary.Write(w, binary.BigEndian, msg.MessageCount); err != nil {
return
}
return
}
func (msg *queuePurgeOk) read(r io.Reader) (err error) {
if err = binary.Read(r, binary.BigEndian, &msg.MessageCount); err != nil {
return
}
return
}
type queueDelete struct {
reserved1 uint16
Queue string
IfUnused bool
IfEmpty bool
NoWait bool
}
func (msg *queueDelete) id() (uint16, uint16) {
return 50, 40
}
func (msg *queueDelete) wait() bool {
return true && !msg.NoWait
}
func (msg *queueDelete) write(w io.Writer) (err error) {
var bits byte
if err = binary.Write(w, binary.BigEndian, msg.reserved1); err != nil {
return
}
if err = writeShortstr(w, msg.Queue); err != nil {
return
}
if msg.IfUnused {
bits |= 1 << 0
}
if msg.IfEmpty {
bits |= 1 << 1
}
if msg.NoWait {
bits |= 1 << 2
}
if err = binary.Write(w, binary.BigEndian, bits); err != nil {
return
}
return
}
func (msg *queueDelete) read(r io.Reader) (err error) {
var bits byte
if err = binary.Read(r, binary.BigEndian, &msg.reserved1); err != nil {
return
}
if msg.Queue, err = readShortstr(r); err != nil {
return
}
if err = binary.Read(r, binary.BigEndian, &bits); err != nil {
return
}
msg.IfUnused = (bits&(1<<0) > 0)
msg.IfEmpty = (bits&(1<<1) > 0)
msg.NoWait = (bits&(1<<2) > 0)
return
}
type queueDeleteOk struct {
MessageCount uint32
}
func (msg *queueDeleteOk) id() (uint16, uint16) {
return 50, 41
}
func (msg *queueDeleteOk) wait() bool {
return true
}
func (msg *queueDeleteOk) write(w io.Writer) (err error) {
if err = binary.Write(w, binary.BigEndian, msg.MessageCount); err != nil {
return
}
return
}
func (msg *queueDeleteOk) read(r io.Reader) (err error) {
if err = binary.Read(r, binary.BigEndian, &msg.MessageCount); err != nil {
return
}
return
}
type basicQos struct {
PrefetchSize uint32
PrefetchCount uint16
Global bool
}
func (msg *basicQos) id() (uint16, uint16) {
return 60, 10
}
func (msg *basicQos) wait() bool {
return true
}
func (msg *basicQos) write(w io.Writer) (err error) {
var bits byte
if err = binary.Write(w, binary.BigEndian, msg.PrefetchSize); err != nil {
return
}
if err = binary.Write(w, binary.BigEndian, msg.PrefetchCount); err != nil {
return
}
if msg.Global {
bits |= 1 << 0
}
if err = binary.Write(w, binary.BigEndian, bits); err != nil {
return
}
return
}
func (msg *basicQos) read(r io.Reader) (err error) {
var bits byte
if err = binary.Read(r, binary.BigEndian, &msg.PrefetchSize); err != nil {
return
}
if err = binary.Read(r, binary.BigEndian, &msg.PrefetchCount); err != nil {
return
}
if err = binary.Read(r, binary.BigEndian, &bits); err != nil {
return
}
msg.Global = (bits&(1<<0) > 0)
return
}
type basicQosOk struct {
}
func (msg *basicQosOk) id() (uint16, uint16) {
return 60, 11
}
func (msg *basicQosOk) wait() bool {
return true
}
func (msg *basicQosOk) write(w io.Writer) (err error) {
return
}
func (msg *basicQosOk) read(r io.Reader) (err error) {
return
}
type basicConsume struct {
reserved1 uint16
Queue string
ConsumerTag string
NoLocal bool
NoAck bool
Exclusive bool
NoWait bool
Arguments Table
}
func (msg *basicConsume) id() (uint16, uint16) {
return 60, 20
}
func (msg *basicConsume) wait() bool {
return true && !msg.NoWait
}
func (msg *basicConsume) write(w io.Writer) (err error) {
var bits byte
if err = binary.Write(w, binary.BigEndian, msg.reserved1); err != nil {
return
}
if err = writeShortstr(w, msg.Queue); err != nil {
return
}
if err = writeShortstr(w, msg.ConsumerTag); err != nil {
return
}
if msg.NoLocal {
bits |= 1 << 0
}
if msg.NoAck {
bits |= 1 << 1
}
if msg.Exclusive {
bits |= 1 << 2
}
if msg.NoWait {
bits |= 1 << 3
}
if err = binary.Write(w, binary.BigEndian, bits); err != nil {
return
}
if err = writeTable(w, msg.Arguments); err != nil {
return
}
return
}
func (msg *basicConsume) read(r io.Reader) (err error) {
var bits byte
if err = binary.Read(r, binary.BigEndian, &msg.reserved1); err != nil {
return
}
if msg.Queue, err = readShortstr(r); err != nil {
return
}
if msg.ConsumerTag, err = readShortstr(r); err != nil {
return
}
if err = binary.Read(r, binary.BigEndian, &bits); err != nil {
return
}
msg.NoLocal = (bits&(1<<0) > 0)
msg.NoAck = (bits&(1<<1) > 0)
msg.Exclusive = (bits&(1<<2) > 0)
msg.NoWait = (bits&(1<<3) > 0)
if msg.Arguments, err = readTable(r); err != nil {
return
}
return
}
type basicConsumeOk struct {
ConsumerTag string
}
func (msg *basicConsumeOk) id() (uint16, uint16) {
return 60, 21
}
func (msg *basicConsumeOk) wait() bool {
return true
}
func (msg *basicConsumeOk) write(w io.Writer) (err error) {
if err = writeShortstr(w, msg.ConsumerTag); err != nil {
return
}
return
}
func (msg *basicConsumeOk) read(r io.Reader) (err error) {
if msg.ConsumerTag, err = readShortstr(r); err != nil {
return
}
return
}
type basicCancel struct {
ConsumerTag string
NoWait bool
}
func (msg *basicCancel) id() (uint16, uint16) {
return 60, 30
}
func (msg *basicCancel) wait() bool {
return true && !msg.NoWait
}
func (msg *basicCancel) write(w io.Writer) (err error) {
var bits byte
if err = writeShortstr(w, msg.ConsumerTag); err != nil {
return
}
if msg.NoWait {
bits |= 1 << 0
}
if err = binary.Write(w, binary.BigEndian, bits); err != nil {
return
}
return
}
func (msg *basicCancel) read(r io.Reader) (err error) {
var bits byte
if msg.ConsumerTag, err = readShortstr(r); err != nil {
return
}
if err = binary.Read(r, binary.BigEndian, &bits); err != nil {
return
}
msg.NoWait = (bits&(1<<0) > 0)
return
}
type basicCancelOk struct {
ConsumerTag string
}
func (msg *basicCancelOk) id() (uint16, uint16) {
return 60, 31
}
func (msg *basicCancelOk) wait() bool {
return true
}
func (msg *basicCancelOk) write(w io.Writer) (err error) {
if err = writeShortstr(w, msg.ConsumerTag); err != nil {
return
}
return
}
func (msg *basicCancelOk) read(r io.Reader) (err error) {
if msg.ConsumerTag, err = readShortstr(r); err != nil {
return
}
return
}
type basicPublish struct {
reserved1 uint16
Exchange string
RoutingKey string
Mandatory bool
Immediate bool
Properties properties
Body []byte
}
func (msg *basicPublish) id() (uint16, uint16) {
return 60, 40
}
func (msg *basicPublish) wait() bool {
return false
}
func (msg *basicPublish) getContent() (properties, []byte) {
return msg.Properties, msg.Body
}
func (msg *basicPublish) setContent(props properties, body []byte) {
msg.Properties, msg.Body = props, body
}
func (msg *basicPublish) write(w io.Writer) (err error) {
var bits byte
if err = binary.Write(w, binary.BigEndian, msg.reserved1); err != nil {
return
}
if err = writeShortstr(w, msg.Exchange); err != nil {
return
}
if err = writeShortstr(w, msg.RoutingKey); err != nil {
return
}
if msg.Mandatory {
bits |= 1 << 0
}
if msg.Immediate {
bits |= 1 << 1
}
if err = binary.Write(w, binary.BigEndian, bits); err != nil {
return
}
return
}
func (msg *basicPublish) read(r io.Reader) (err error) {
var bits byte
if err = binary.Read(r, binary.BigEndian, &msg.reserved1); err != nil {
return
}
if msg.Exchange, err = readShortstr(r); err != nil {
return
}
if msg.RoutingKey, err = readShortstr(r); err != nil {
return
}
if err = binary.Read(r, binary.BigEndian, &bits); err != nil {
return
}
msg.Mandatory = (bits&(1<<0) > 0)
msg.Immediate = (bits&(1<<1) > 0)
return
}
type basicReturn struct {
ReplyCode uint16
ReplyText string
Exchange string
RoutingKey string
Properties properties
Body []byte
}
func (msg *basicReturn) id() (uint16, uint16) {
return 60, 50
}
func (msg *basicReturn) wait() bool {
return false
}
func (msg *basicReturn) getContent() (properties, []byte) {
return msg.Properties, msg.Body
}
func (msg *basicReturn) setContent(props properties, body []byte) {
msg.Properties, msg.Body = props, body
}
func (msg *basicReturn) write(w io.Writer) (err error) {
if err = binary.Write(w, binary.BigEndian, msg.ReplyCode); err != nil {
return
}
if err = writeShortstr(w, msg.ReplyText); err != nil {
return
}
if err = writeShortstr(w, msg.Exchange); err != nil {
return
}
if err = writeShortstr(w, msg.RoutingKey); err != nil {
return
}
return
}
func (msg *basicReturn) read(r io.Reader) (err error) {
if err = binary.Read(r, binary.BigEndian, &msg.ReplyCode); err != nil {
return
}
if msg.ReplyText, err = readShortstr(r); err != nil {
return
}
if msg.Exchange, err = readShortstr(r); err != nil {
return
}
if msg.RoutingKey, err = readShortstr(r); err != nil {
return
}
return
}
type basicDeliver struct {
ConsumerTag string
DeliveryTag uint64
Redelivered bool
Exchange string
RoutingKey string
Properties properties
Body []byte
}
func (msg *basicDeliver) id() (uint16, uint16) {
return 60, 60
}
func (msg *basicDeliver) wait() bool {
return false
}
func (msg *basicDeliver) getContent() (properties, []byte) {
return msg.Properties, msg.Body
}
func (msg *basicDeliver) setContent(props properties, body []byte) {
msg.Properties, msg.Body = props, body
}
func (msg *basicDeliver) write(w io.Writer) (err error) {
var bits byte
if err = writeShortstr(w, msg.ConsumerTag); err != nil {
return
}
if err = binary.Write(w, binary.BigEndian, msg.DeliveryTag); err != nil {
return
}
if msg.Redelivered {
bits |= 1 << 0
}
if err = binary.Write(w, binary.BigEndian, bits); err != nil {
return
}
if err = writeShortstr(w, msg.Exchange); err != nil {
return
}
if err = writeShortstr(w, msg.RoutingKey); err != nil {
return
}
return
}
func (msg *basicDeliver) read(r io.Reader) (err error) {
var bits byte
if msg.ConsumerTag, err = readShortstr(r); err != nil {
return
}
if err = binary.Read(r, binary.BigEndian, &msg.DeliveryTag); err != nil {
return
}
if err = binary.Read(r, binary.BigEndian, &bits); err != nil {
return
}
msg.Redelivered = (bits&(1<<0) > 0)
if msg.Exchange, err = readShortstr(r); err != nil {
return
}
if msg.RoutingKey, err = readShortstr(r); err != nil {
return
}
return
}
type basicGet struct {
reserved1 uint16
Queue string
NoAck bool
}
func (msg *basicGet) id() (uint16, uint16) {
return 60, 70
}
func (msg *basicGet) wait() bool {
return true
}
func (msg *basicGet) write(w io.Writer) (err error) {
var bits byte
if err = binary.Write(w, binary.BigEndian, msg.reserved1); err != nil {
return
}
if err = writeShortstr(w, msg.Queue); err != nil {
return
}
if msg.NoAck {
bits |= 1 << 0
}
if err = binary.Write(w, binary.BigEndian, bits); err != nil {
return
}
return
}
func (msg *basicGet) read(r io.Reader) (err error) {
var bits byte
if err = binary.Read(r, binary.BigEndian, &msg.reserved1); err != nil {
return
}
if msg.Queue, err = readShortstr(r); err != nil {
return
}
if err = binary.Read(r, binary.BigEndian, &bits); err != nil {
return
}
msg.NoAck = (bits&(1<<0) > 0)
return
}
type basicGetOk struct {
DeliveryTag uint64
Redelivered bool
Exchange string
RoutingKey string
MessageCount uint32
Properties properties
Body []byte
}
func (msg *basicGetOk) id() (uint16, uint16) {
return 60, 71
}
func (msg *basicGetOk) wait() bool {
return true
}
func (msg *basicGetOk) getContent() (properties, []byte) {
return msg.Properties, msg.Body
}
func (msg *basicGetOk) setContent(props properties, body []byte) {
msg.Properties, msg.Body = props, body
}
func (msg *basicGetOk) write(w io.Writer) (err error) {
var bits byte
if err = binary.Write(w, binary.BigEndian, msg.DeliveryTag); err != nil {
return
}
if msg.Redelivered {
bits |= 1 << 0
}
if err = binary.Write(w, binary.BigEndian, bits); err != nil {
return
}
if err = writeShortstr(w, msg.Exchange); err != nil {
return
}
if err = writeShortstr(w, msg.RoutingKey); err != nil {
return
}
if err = binary.Write(w, binary.BigEndian, msg.MessageCount); err != nil {
return
}
return
}
func (msg *basicGetOk) read(r io.Reader) (err error) {
var bits byte
if err = binary.Read(r, binary.BigEndian, &msg.DeliveryTag); err != nil {
return
}
if err = binary.Read(r, binary.BigEndian, &bits); err != nil {
return
}
msg.Redelivered = (bits&(1<<0) > 0)
if msg.Exchange, err = readShortstr(r); err != nil {
return
}
if msg.RoutingKey, err = readShortstr(r); err != nil {
return
}
if err = binary.Read(r, binary.BigEndian, &msg.MessageCount); err != nil {
return
}
return
}
type basicGetEmpty struct {
reserved1 string
}
func (msg *basicGetEmpty) id() (uint16, uint16) {
return 60, 72
}
func (msg *basicGetEmpty) wait() bool {
return true
}
func (msg *basicGetEmpty) write(w io.Writer) (err error) {
if err = writeShortstr(w, msg.reserved1); err != nil {
return
}
return
}
func (msg *basicGetEmpty) read(r io.Reader) (err error) {
if msg.reserved1, err = readShortstr(r); err != nil {
return
}
return
}
type basicAck struct {
DeliveryTag uint64
Multiple bool
}
func (msg *basicAck) id() (uint16, uint16) {
return 60, 80
}
func (msg *basicAck) wait() bool {
return false
}
func (msg *basicAck) write(w io.Writer) (err error) {
var bits byte
if err = binary.Write(w, binary.BigEndian, msg.DeliveryTag); err != nil {
return
}
if msg.Multiple {
bits |= 1 << 0
}
if err = binary.Write(w, binary.BigEndian, bits); err != nil {
return
}
return
}
func (msg *basicAck) read(r io.Reader) (err error) {
var bits byte
if err = binary.Read(r, binary.BigEndian, &msg.DeliveryTag); err != nil {
return
}
if err = binary.Read(r, binary.BigEndian, &bits); err != nil {
return
}
msg.Multiple = (bits&(1<<0) > 0)
return
}
type basicReject struct {
DeliveryTag uint64
Requeue bool
}
func (msg *basicReject) id() (uint16, uint16) {
return 60, 90
}
func (msg *basicReject) wait() bool {
return false
}
func (msg *basicReject) write(w io.Writer) (err error) {
var bits byte
if err = binary.Write(w, binary.BigEndian, msg.DeliveryTag); err != nil {
return
}
if msg.Requeue {
bits |= 1 << 0
}
if err = binary.Write(w, binary.BigEndian, bits); err != nil {
return
}
return
}
func (msg *basicReject) read(r io.Reader) (err error) {
var bits byte
if err = binary.Read(r, binary.BigEndian, &msg.DeliveryTag); err != nil {
return
}
if err = binary.Read(r, binary.BigEndian, &bits); err != nil {
return
}
msg.Requeue = (bits&(1<<0) > 0)
return
}
type basicRecoverAsync struct {
Requeue bool
}
func (msg *basicRecoverAsync) id() (uint16, uint16) {
return 60, 100
}
func (msg *basicRecoverAsync) wait() bool {
return false
}
func (msg *basicRecoverAsync) write(w io.Writer) (err error) {
var bits byte
if msg.Requeue {
bits |= 1 << 0
}
if err = binary.Write(w, binary.BigEndian, bits); err != nil {
return
}
return
}
func (msg *basicRecoverAsync) read(r io.Reader) (err error) {
var bits byte
if err = binary.Read(r, binary.BigEndian, &bits); err != nil {
return
}
msg.Requeue = (bits&(1<<0) > 0)
return
}
type basicRecover struct {
Requeue bool
}
func (msg *basicRecover) id() (uint16, uint16) {
return 60, 110
}
func (msg *basicRecover) wait() bool {
return true
}
func (msg *basicRecover) write(w io.Writer) (err error) {
var bits byte
if msg.Requeue {
bits |= 1 << 0
}
if err = binary.Write(w, binary.BigEndian, bits); err != nil {
return
}
return
}
func (msg *basicRecover) read(r io.Reader) (err error) {
var bits byte
if err = binary.Read(r, binary.BigEndian, &bits); err != nil {
return
}
msg.Requeue = (bits&(1<<0) > 0)
return
}
type basicRecoverOk struct {
}
func (msg *basicRecoverOk) id() (uint16, uint16) {
return 60, 111
}
func (msg *basicRecoverOk) wait() bool {
return true
}
func (msg *basicRecoverOk) write(w io.Writer) (err error) {
return
}
func (msg *basicRecoverOk) read(r io.Reader) (err error) {
return
}
type basicNack struct {
DeliveryTag uint64
Multiple bool
Requeue bool
}
func (msg *basicNack) id() (uint16, uint16) {
return 60, 120
}
func (msg *basicNack) wait() bool {
return false
}
func (msg *basicNack) write(w io.Writer) (err error) {
var bits byte
if err = binary.Write(w, binary.BigEndian, msg.DeliveryTag); err != nil {
return
}
if msg.Multiple {
bits |= 1 << 0
}
if msg.Requeue {
bits |= 1 << 1
}
if err = binary.Write(w, binary.BigEndian, bits); err != nil {
return
}
return
}
func (msg *basicNack) read(r io.Reader) (err error) {
var bits byte
if err = binary.Read(r, binary.BigEndian, &msg.DeliveryTag); err != nil {
return
}
if err = binary.Read(r, binary.BigEndian, &bits); err != nil {
return
}
msg.Multiple = (bits&(1<<0) > 0)
msg.Requeue = (bits&(1<<1) > 0)
return
}
type txSelect struct {
}
func (msg *txSelect) id() (uint16, uint16) {
return 90, 10
}
func (msg *txSelect) wait() bool {
return true
}
func (msg *txSelect) write(w io.Writer) (err error) {
return
}
func (msg *txSelect) read(r io.Reader) (err error) {
return
}
type txSelectOk struct {
}
func (msg *txSelectOk) id() (uint16, uint16) {
return 90, 11
}
func (msg *txSelectOk) wait() bool {
return true
}
func (msg *txSelectOk) write(w io.Writer) (err error) {
return
}
func (msg *txSelectOk) read(r io.Reader) (err error) {
return
}
type txCommit struct {
}
func (msg *txCommit) id() (uint16, uint16) {
return 90, 20
}
func (msg *txCommit) wait() bool {
return true
}
func (msg *txCommit) write(w io.Writer) (err error) {
return
}
func (msg *txCommit) read(r io.Reader) (err error) {
return
}
type txCommitOk struct {
}
func (msg *txCommitOk) id() (uint16, uint16) {
return 90, 21
}
func (msg *txCommitOk) wait() bool {
return true
}
func (msg *txCommitOk) write(w io.Writer) (err error) {
return
}
func (msg *txCommitOk) read(r io.Reader) (err error) {
return
}
type txRollback struct {
}
func (msg *txRollback) id() (uint16, uint16) {
return 90, 30
}
func (msg *txRollback) wait() bool {
return true
}
func (msg *txRollback) write(w io.Writer) (err error) {
return
}
func (msg *txRollback) read(r io.Reader) (err error) {
return
}
type txRollbackOk struct {
}
func (msg *txRollbackOk) id() (uint16, uint16) {
return 90, 31
}
func (msg *txRollbackOk) wait() bool {
return true
}
func (msg *txRollbackOk) write(w io.Writer) (err error) {
return
}
func (msg *txRollbackOk) read(r io.Reader) (err error) {
return
}
type confirmSelect struct {
Nowait bool
}
func (msg *confirmSelect) id() (uint16, uint16) {
return 85, 10
}
func (msg *confirmSelect) wait() bool {
return true
}
func (msg *confirmSelect) write(w io.Writer) (err error) {
var bits byte
if msg.Nowait {
bits |= 1 << 0
}
if err = binary.Write(w, binary.BigEndian, bits); err != nil {
return
}
return
}
func (msg *confirmSelect) read(r io.Reader) (err error) {
var bits byte
if err = binary.Read(r, binary.BigEndian, &bits); err != nil {
return
}
msg.Nowait = (bits&(1<<0) > 0)
return
}
type confirmSelectOk struct {
}
func (msg *confirmSelectOk) id() (uint16, uint16) {
return 85, 11
}
func (msg *confirmSelectOk) wait() bool {
return true
}
func (msg *confirmSelectOk) write(w io.Writer) (err error) {
return
}
func (msg *confirmSelectOk) read(r io.Reader) (err error) {
return
}
func (r *reader) parseMethodFrame(channel uint16, size uint32) (f frame, err error) {
mf := &methodFrame{
ChannelId: channel,
}
if err = binary.Read(r.r, binary.BigEndian, &mf.ClassId); err != nil {
return
}
if err = binary.Read(r.r, binary.BigEndian, &mf.MethodId); err != nil {
return
}
switch mf.ClassId {
case 10: // connection
switch mf.MethodId {
case 10: // connection start
// fmt.Println("NextMethod: class:10 method:10")
method := &connectionStart{}
if err = method.read(r.r); err != nil {
return
}
mf.Method = method
case 11: // connection start-ok
// fmt.Println("NextMethod: class:10 method:11")
method := &connectionStartOk{}
if err = method.read(r.r); err != nil {
return
}
mf.Method = method
case 20: // connection secure
// fmt.Println("NextMethod: class:10 method:20")
method := &connectionSecure{}
if err = method.read(r.r); err != nil {
return
}
mf.Method = method
case 21: // connection secure-ok
// fmt.Println("NextMethod: class:10 method:21")
method := &connectionSecureOk{}
if err = method.read(r.r); err != nil {
return
}
mf.Method = method
case 30: // connection tune
// fmt.Println("NextMethod: class:10 method:30")
method := &connectionTune{}
if err = method.read(r.r); err != nil {
return
}
mf.Method = method
case 31: // connection tune-ok
// fmt.Println("NextMethod: class:10 method:31")
method := &connectionTuneOk{}
if err = method.read(r.r); err != nil {
return
}
mf.Method = method
case 40: // connection open
// fmt.Println("NextMethod: class:10 method:40")
method := &connectionOpen{}
if err = method.read(r.r); err != nil {
return
}
mf.Method = method
case 41: // connection open-ok
// fmt.Println("NextMethod: class:10 method:41")
method := &connectionOpenOk{}
if err = method.read(r.r); err != nil {
return
}
mf.Method = method
case 50: // connection close
// fmt.Println("NextMethod: class:10 method:50")
method := &connectionClose{}
if err = method.read(r.r); err != nil {
return
}
mf.Method = method
case 51: // connection close-ok
// fmt.Println("NextMethod: class:10 method:51")
method := &connectionCloseOk{}
if err = method.read(r.r); err != nil {
return
}
mf.Method = method
case 60: // connection blocked
// fmt.Println("NextMethod: class:10 method:60")
method := &connectionBlocked{}
if err = method.read(r.r); err != nil {
return
}
mf.Method = method
case 61: // connection unblocked
// fmt.Println("NextMethod: class:10 method:61")
method := &connectionUnblocked{}
if err = method.read(r.r); err != nil {
return
}
mf.Method = method
case 70: // connection update-secret
// fmt.Println("NextMethod: class:10 method:70")
method := &connectionUpdateSecret{}
if err = method.read(r.r); err != nil {
return
}
mf.Method = method
case 71: // connection update-secret-ok
// fmt.Println("NextMethod: class:10 method:71")
method := &connectionUpdateSecretOk{}
if err = method.read(r.r); err != nil {
return
}
mf.Method = method
default:
return nil, fmt.Errorf("Bad method frame, unknown method %d for class %d", mf.MethodId, mf.ClassId)
}
case 20: // channel
switch mf.MethodId {
case 10: // channel open
// fmt.Println("NextMethod: class:20 method:10")
method := &channelOpen{}
if err = method.read(r.r); err != nil {
return
}
mf.Method = method
case 11: // channel open-ok
// fmt.Println("NextMethod: class:20 method:11")
method := &channelOpenOk{}
if err = method.read(r.r); err != nil {
return
}
mf.Method = method
case 20: // channel flow
// fmt.Println("NextMethod: class:20 method:20")
method := &channelFlow{}
if err = method.read(r.r); err != nil {
return
}
mf.Method = method
case 21: // channel flow-ok
// fmt.Println("NextMethod: class:20 method:21")
method := &channelFlowOk{}
if err = method.read(r.r); err != nil {
return
}
mf.Method = method
case 40: // channel close
// fmt.Println("NextMethod: class:20 method:40")
method := &channelClose{}
if err = method.read(r.r); err != nil {
return
}
mf.Method = method
case 41: // channel close-ok
// fmt.Println("NextMethod: class:20 method:41")
method := &channelCloseOk{}
if err = method.read(r.r); err != nil {
return
}
mf.Method = method
default:
return nil, fmt.Errorf("Bad method frame, unknown method %d for class %d", mf.MethodId, mf.ClassId)
}
case 40: // exchange
switch mf.MethodId {
case 10: // exchange declare
// fmt.Println("NextMethod: class:40 method:10")
method := &exchangeDeclare{}
if err = method.read(r.r); err != nil {
return
}
mf.Method = method
case 11: // exchange declare-ok
// fmt.Println("NextMethod: class:40 method:11")
method := &exchangeDeclareOk{}
if err = method.read(r.r); err != nil {
return
}
mf.Method = method
case 20: // exchange delete
// fmt.Println("NextMethod: class:40 method:20")
method := &exchangeDelete{}
if err = method.read(r.r); err != nil {
return
}
mf.Method = method
case 21: // exchange delete-ok
// fmt.Println("NextMethod: class:40 method:21")
method := &exchangeDeleteOk{}
if err = method.read(r.r); err != nil {
return
}
mf.Method = method
case 30: // exchange bind
// fmt.Println("NextMethod: class:40 method:30")
method := &exchangeBind{}
if err = method.read(r.r); err != nil {
return
}
mf.Method = method
case 31: // exchange bind-ok
// fmt.Println("NextMethod: class:40 method:31")
method := &exchangeBindOk{}
if err = method.read(r.r); err != nil {
return
}
mf.Method = method
case 40: // exchange unbind
// fmt.Println("NextMethod: class:40 method:40")
method := &exchangeUnbind{}
if err = method.read(r.r); err != nil {
return
}
mf.Method = method
case 51: // exchange unbind-ok
// fmt.Println("NextMethod: class:40 method:51")
method := &exchangeUnbindOk{}
if err = method.read(r.r); err != nil {
return
}
mf.Method = method
default:
return nil, fmt.Errorf("Bad method frame, unknown method %d for class %d", mf.MethodId, mf.ClassId)
}
case 50: // queue
switch mf.MethodId {
case 10: // queue declare
// fmt.Println("NextMethod: class:50 method:10")
method := &queueDeclare{}
if err = method.read(r.r); err != nil {
return
}
mf.Method = method
case 11: // queue declare-ok
// fmt.Println("NextMethod: class:50 method:11")
method := &queueDeclareOk{}
if err = method.read(r.r); err != nil {
return
}
mf.Method = method
case 20: // queue bind
// fmt.Println("NextMethod: class:50 method:20")
method := &queueBind{}
if err = method.read(r.r); err != nil {
return
}
mf.Method = method
case 21: // queue bind-ok
// fmt.Println("NextMethod: class:50 method:21")
method := &queueBindOk{}
if err = method.read(r.r); err != nil {
return
}
mf.Method = method
case 50: // queue unbind
// fmt.Println("NextMethod: class:50 method:50")
method := &queueUnbind{}
if err = method.read(r.r); err != nil {
return
}
mf.Method = method
case 51: // queue unbind-ok
// fmt.Println("NextMethod: class:50 method:51")
method := &queueUnbindOk{}
if err = method.read(r.r); err != nil {
return
}
mf.Method = method
case 30: // queue purge
// fmt.Println("NextMethod: class:50 method:30")
method := &queuePurge{}
if err = method.read(r.r); err != nil {
return
}
mf.Method = method
case 31: // queue purge-ok
// fmt.Println("NextMethod: class:50 method:31")
method := &queuePurgeOk{}
if err = method.read(r.r); err != nil {
return
}
mf.Method = method
case 40: // queue delete
// fmt.Println("NextMethod: class:50 method:40")
method := &queueDelete{}
if err = method.read(r.r); err != nil {
return
}
mf.Method = method
case 41: // queue delete-ok
// fmt.Println("NextMethod: class:50 method:41")
method := &queueDeleteOk{}
if err = method.read(r.r); err != nil {
return
}
mf.Method = method
default:
return nil, fmt.Errorf("Bad method frame, unknown method %d for class %d", mf.MethodId, mf.ClassId)
}
case 60: // basic
switch mf.MethodId {
case 10: // basic qos
// fmt.Println("NextMethod: class:60 method:10")
method := &basicQos{}
if err = method.read(r.r); err != nil {
return
}
mf.Method = method
case 11: // basic qos-ok
// fmt.Println("NextMethod: class:60 method:11")
method := &basicQosOk{}
if err = method.read(r.r); err != nil {
return
}
mf.Method = method
case 20: // basic consume
// fmt.Println("NextMethod: class:60 method:20")
method := &basicConsume{}
if err = method.read(r.r); err != nil {
return
}
mf.Method = method
case 21: // basic consume-ok
// fmt.Println("NextMethod: class:60 method:21")
method := &basicConsumeOk{}
if err = method.read(r.r); err != nil {
return
}
mf.Method = method
case 30: // basic cancel
// fmt.Println("NextMethod: class:60 method:30")
method := &basicCancel{}
if err = method.read(r.r); err != nil {
return
}
mf.Method = method
case 31: // basic cancel-ok
// fmt.Println("NextMethod: class:60 method:31")
method := &basicCancelOk{}
if err = method.read(r.r); err != nil {
return
}
mf.Method = method
case 40: // basic publish
// fmt.Println("NextMethod: class:60 method:40")
method := &basicPublish{}
if err = method.read(r.r); err != nil {
return
}
mf.Method = method
case 50: // basic return
// fmt.Println("NextMethod: class:60 method:50")
method := &basicReturn{}
if err = method.read(r.r); err != nil {
return
}
mf.Method = method
case 60: // basic deliver
// fmt.Println("NextMethod: class:60 method:60")
method := &basicDeliver{}
if err = method.read(r.r); err != nil {
return
}
mf.Method = method
case 70: // basic get
// fmt.Println("NextMethod: class:60 method:70")
method := &basicGet{}
if err = method.read(r.r); err != nil {
return
}
mf.Method = method
case 71: // basic get-ok
// fmt.Println("NextMethod: class:60 method:71")
method := &basicGetOk{}
if err = method.read(r.r); err != nil {
return
}
mf.Method = method
case 72: // basic get-empty
// fmt.Println("NextMethod: class:60 method:72")
method := &basicGetEmpty{}
if err = method.read(r.r); err != nil {
return
}
mf.Method = method
case 80: // basic ack
// fmt.Println("NextMethod: class:60 method:80")
method := &basicAck{}
if err = method.read(r.r); err != nil {
return
}
mf.Method = method
case 90: // basic reject
// fmt.Println("NextMethod: class:60 method:90")
method := &basicReject{}
if err = method.read(r.r); err != nil {
return
}
mf.Method = method
case 100: // basic recover-async
// fmt.Println("NextMethod: class:60 method:100")
method := &basicRecoverAsync{}
if err = method.read(r.r); err != nil {
return
}
mf.Method = method
case 110: // basic recover
// fmt.Println("NextMethod: class:60 method:110")
method := &basicRecover{}
if err = method.read(r.r); err != nil {
return
}
mf.Method = method
case 111: // basic recover-ok
// fmt.Println("NextMethod: class:60 method:111")
method := &basicRecoverOk{}
if err = method.read(r.r); err != nil {
return
}
mf.Method = method
case 120: // basic nack
// fmt.Println("NextMethod: class:60 method:120")
method := &basicNack{}
if err = method.read(r.r); err != nil {
return
}
mf.Method = method
default:
return nil, fmt.Errorf("Bad method frame, unknown method %d for class %d", mf.MethodId, mf.ClassId)
}
case 90: // tx
switch mf.MethodId {
case 10: // tx select
// fmt.Println("NextMethod: class:90 method:10")
method := &txSelect{}
if err = method.read(r.r); err != nil {
return
}
mf.Method = method
case 11: // tx select-ok
// fmt.Println("NextMethod: class:90 method:11")
method := &txSelectOk{}
if err = method.read(r.r); err != nil {
return
}
mf.Method = method
case 20: // tx commit
// fmt.Println("NextMethod: class:90 method:20")
method := &txCommit{}
if err = method.read(r.r); err != nil {
return
}
mf.Method = method
case 21: // tx commit-ok
// fmt.Println("NextMethod: class:90 method:21")
method := &txCommitOk{}
if err = method.read(r.r); err != nil {
return
}
mf.Method = method
case 30: // tx rollback
// fmt.Println("NextMethod: class:90 method:30")
method := &txRollback{}
if err = method.read(r.r); err != nil {
return
}
mf.Method = method
case 31: // tx rollback-ok
// fmt.Println("NextMethod: class:90 method:31")
method := &txRollbackOk{}
if err = method.read(r.r); err != nil {
return
}
mf.Method = method
default:
return nil, fmt.Errorf("Bad method frame, unknown method %d for class %d", mf.MethodId, mf.ClassId)
}
case 85: // confirm
switch mf.MethodId {
case 10: // confirm select
// fmt.Println("NextMethod: class:85 method:10")
method := &confirmSelect{}
if err = method.read(r.r); err != nil {
return
}
mf.Method = method
case 11: // confirm select-ok
// fmt.Println("NextMethod: class:85 method:11")
method := &confirmSelectOk{}
if err = method.read(r.r); err != nil {
return
}
mf.Method = method
default:
return nil, fmt.Errorf("Bad method frame, unknown method %d for class %d", mf.MethodId, mf.ClassId)
}
default:
return nil, fmt.Errorf("Bad method frame, unknown class %d", mf.ClassId)
}
return mf, nil
}