func (q *RequestQueue) MarshalBinary(encoder *bin.Encoder) error {
	return nil
}
TODO: fill up later
package serum
import (
	"strings"
	bin "github.com/streamingfast/binary"
	"github.com/streamingfast/solana-go"
)
type RequestQueue struct {
	SerumPadding [5]byte `json:"-"`
	AccountFlags AccountFlag
	Head         bin.Uint64 `bin:"sliceoffsetof=Requests,80"`
	Count      bin.Uint64 `bin:"sizeof=Requests"`
	NextSeqNum bin.Uint64
	Requests   []*Request
	EndPadding [7]byte `json:"-"`
}
func (r *RequestQueue) Decode(data []byte) error {
	decoder := bin.NewDecoder(data)
	return decoder.Decode(&r)
}
func (q *RequestQueue) UnmarshalBinary(decoder *bin.Decoder) (err error) {
	if err = decoder.SkipBytes(5); err != nil {
		return err
	}
	if err = decoder.Decode(&q.AccountFlags); err != nil {
		return err
	}
	if err = decoder.Decode(&q.Head); err != nil {
		return err
	}
	if err = decoder.Decode(&q.Count); err != nil {
		return err
	}
	if err = decoder.Decode(&q.NextSeqNum); err != nil {
		return err
	}
	ringbufStartByte := decoder.Position()
	ringbufByteSize := uint(decoder.Remaining() - 7)
	ringbugLength := ringbufByteSize / EVENT_BYTE_SIZE
	q.Requests = make([]*Request, q.Count)
	for i := uint(0); i < uint(q.Count); i++ {
		itemIndex := ((uint(q.Head) + i) % ringbugLength)
		offset := ringbufStartByte + (itemIndex * EVENT_BYTE_SIZE)
		if err = decoder.SetPosition(offset); err != nil {
			return err
		}
		if err = decoder.Decode(&q.Requests[i]); err != nil {
			return err
		}
	}
	return nil
}