func (*SBInstanceEvent) XXX_OneofWrappers() []interface{} {
	return []interface{}{
		(*SBInstanceEvent_Deliver)(nil),
		(*SBInstanceEvent_MessageReceived)(nil),
		(*SBInstanceEvent_PendingRequests)(nil),
		(*SBInstanceEvent_Tick)(nil),
		(*SBInstanceEvent_CutBatch)(nil),
		(*SBInstanceEvent_BatchReady)(nil),
		(*SBInstanceEvent_WaitForRequests)(nil),
		(*SBInstanceEvent_RequestsReady)(nil),
		(*SBInstanceEvent_PbftPersistPreprepare)(nil),
	}
}
XXX_OneofWrappers is for the internal use of the proto package.
package isspb
import (
	fmt "fmt"
	proto "github.com/golang/protobuf/proto"
	isspbftpb "github.com/hyperledger-labs/mirbft/pkg/pb/isspbftpb"
	requestpb "github.com/hyperledger-labs/mirbft/pkg/pb/requestpb"
	math "math"
)
var _ = proto.Marshal
var _ = fmt.Errorf
var _ = math.Inf
const _ = proto.ProtoPackageIsVersion3  
type ISSMessage struct {
	Type                 isISSMessage_Type `protobuf_oneof:"type"`
	XXX_NoUnkeyedLiteral struct{}          `json:"-"`
	XXX_unrecognized     []byte            `json:"-"`
	XXX_sizecache        int32             `json:"-"`
}
func (m *ISSMessage) Reset()         { *m = ISSMessage{} }
func (m *ISSMessage) String() string { return proto.CompactTextString(m) }
func (*ISSMessage) ProtoMessage()    {}
func (*ISSMessage) Descriptor() ([]byte, []int) {
	return fileDescriptor_67c987db0a07e2d8, []int{0}
}
func (m *ISSMessage) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_ISSMessage.Unmarshal(m, b)
}
func (m *ISSMessage) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_ISSMessage.Marshal(b, m, deterministic)
}
func (m *ISSMessage) XXX_Merge(src proto.Message) {
	xxx_messageInfo_ISSMessage.Merge(m, src)
}
func (m *ISSMessage) XXX_Size() int {
	return xxx_messageInfo_ISSMessage.Size(m)
}
func (m *ISSMessage) XXX_DiscardUnknown() {
	xxx_messageInfo_ISSMessage.DiscardUnknown(m)
}
var xxx_messageInfo_ISSMessage proto.InternalMessageInfo
type isISSMessage_Type interface {
	isISSMessage_Type()
}
type ISSMessage_Sb struct {
	Sb *SBMessage `protobuf:"bytes,1,opt,name=sb,proto3,oneof"`
}
func (*ISSMessage_Sb) isISSMessage_Type() {}
func (m *ISSMessage) GetType() isISSMessage_Type {
	if m != nil {
		return m.Type
	}
	return nil
}
func (m *ISSMessage) GetSb() *SBMessage {
	if x, ok := m.GetType().(*ISSMessage_Sb); ok {
		return x.Sb
	}
	return nil
}
func (*ISSMessage) XXX_OneofWrappers() []interface{} {
	return []interface{}{
		(*ISSMessage_Sb)(nil),
	}
}
type SBMessage struct {
	Epoch                uint64             `protobuf:"varint,1,opt,name=epoch,proto3" json:"epoch,omitempty"`
	Instance             uint64             `protobuf:"varint,2,opt,name=instance,proto3" json:"instance,omitempty"`
	Msg                  *SBInstanceMessage `protobuf:"bytes,3,opt,name=msg,proto3" json:"msg,omitempty"`
	XXX_NoUnkeyedLiteral struct{}           `json:"-"`
	XXX_unrecognized     []byte             `json:"-"`
	XXX_sizecache        int32              `json:"-"`
}
func (m *SBMessage) Reset()         { *m = SBMessage{} }
func (m *SBMessage) String() string { return proto.CompactTextString(m) }
func (*SBMessage) ProtoMessage()    {}
func (*SBMessage) Descriptor() ([]byte, []int) {
	return fileDescriptor_67c987db0a07e2d8, []int{1}
}
func (m *SBMessage) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_SBMessage.Unmarshal(m, b)
}
func (m *SBMessage) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_SBMessage.Marshal(b, m, deterministic)
}
func (m *SBMessage) XXX_Merge(src proto.Message) {
	xxx_messageInfo_SBMessage.Merge(m, src)
}
func (m *SBMessage) XXX_Size() int {
	return xxx_messageInfo_SBMessage.Size(m)
}
func (m *SBMessage) XXX_DiscardUnknown() {
	xxx_messageInfo_SBMessage.DiscardUnknown(m)
}
var xxx_messageInfo_SBMessage proto.InternalMessageInfo
func (m *SBMessage) GetEpoch() uint64 {
	if m != nil {
		return m.Epoch
	}
	return 0
}
func (m *SBMessage) GetInstance() uint64 {
	if m != nil {
		return m.Instance
	}
	return 0
}
func (m *SBMessage) GetMsg() *SBInstanceMessage {
	if m != nil {
		return m.Msg
	}
	return nil
}
type SBInstanceMessage struct {
	Type                 isSBInstanceMessage_Type `protobuf_oneof:"type"`
	XXX_NoUnkeyedLiteral struct{}                 `json:"-"`
	XXX_unrecognized     []byte                   `json:"-"`
	XXX_sizecache        int32                    `json:"-"`
}
func (m *SBInstanceMessage) Reset()         { *m = SBInstanceMessage{} }
func (m *SBInstanceMessage) String() string { return proto.CompactTextString(m) }
func (*SBInstanceMessage) ProtoMessage()    {}
func (*SBInstanceMessage) Descriptor() ([]byte, []int) {
	return fileDescriptor_67c987db0a07e2d8, []int{2}
}
func (m *SBInstanceMessage) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_SBInstanceMessage.Unmarshal(m, b)
}
func (m *SBInstanceMessage) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_SBInstanceMessage.Marshal(b, m, deterministic)
}
func (m *SBInstanceMessage) XXX_Merge(src proto.Message) {
	xxx_messageInfo_SBInstanceMessage.Merge(m, src)
}
func (m *SBInstanceMessage) XXX_Size() int {
	return xxx_messageInfo_SBInstanceMessage.Size(m)
}
func (m *SBInstanceMessage) XXX_DiscardUnknown() {
	xxx_messageInfo_SBInstanceMessage.DiscardUnknown(m)
}
var xxx_messageInfo_SBInstanceMessage proto.InternalMessageInfo
type isSBInstanceMessage_Type interface {
	isSBInstanceMessage_Type()
}
type SBInstanceMessage_PbftPreprepare struct {
	PbftPreprepare *isspbftpb.Preprepare `protobuf:"bytes,3,opt,name=pbft_preprepare,json=pbftPreprepare,proto3,oneof"`
}
func (*SBInstanceMessage_PbftPreprepare) isSBInstanceMessage_Type() {}
func (m *SBInstanceMessage) GetType() isSBInstanceMessage_Type {
	if m != nil {
		return m.Type
	}
	return nil
}
func (m *SBInstanceMessage) GetPbftPreprepare() *isspbftpb.Preprepare {
	if x, ok := m.GetType().(*SBInstanceMessage_PbftPreprepare); ok {
		return x.PbftPreprepare
	}
	return nil
}
func (*SBInstanceMessage) XXX_OneofWrappers() []interface{} {
	return []interface{}{
		(*SBInstanceMessage_PbftPreprepare)(nil),
	}
}
type ISSEvent struct {
	Type                 isISSEvent_Type `protobuf_oneof:"type"`
	XXX_NoUnkeyedLiteral struct{}        `json:"-"`
	XXX_unrecognized     []byte          `json:"-"`
	XXX_sizecache        int32           `json:"-"`
}
func (m *ISSEvent) Reset()         { *m = ISSEvent{} }
func (m *ISSEvent) String() string { return proto.CompactTextString(m) }
func (*ISSEvent) ProtoMessage()    {}
func (*ISSEvent) Descriptor() ([]byte, []int) {
	return fileDescriptor_67c987db0a07e2d8, []int{3}
}
func (m *ISSEvent) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_ISSEvent.Unmarshal(m, b)
}
func (m *ISSEvent) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_ISSEvent.Marshal(b, m, deterministic)
}
func (m *ISSEvent) XXX_Merge(src proto.Message) {
	xxx_messageInfo_ISSEvent.Merge(m, src)
}
func (m *ISSEvent) XXX_Size() int {
	return xxx_messageInfo_ISSEvent.Size(m)
}
func (m *ISSEvent) XXX_DiscardUnknown() {
	xxx_messageInfo_ISSEvent.DiscardUnknown(m)
}
var xxx_messageInfo_ISSEvent proto.InternalMessageInfo
type isISSEvent_Type interface {
	isISSEvent_Type()
}
type ISSEvent_Sb struct {
	Sb *SBEvent `protobuf:"bytes,1,opt,name=sb,proto3,oneof"`
}
func (*ISSEvent_Sb) isISSEvent_Type() {}
func (m *ISSEvent) GetType() isISSEvent_Type {
	if m != nil {
		return m.Type
	}
	return nil
}
func (m *ISSEvent) GetSb() *SBEvent {
	if x, ok := m.GetType().(*ISSEvent_Sb); ok {
		return x.Sb
	}
	return nil
}
func (*ISSEvent) XXX_OneofWrappers() []interface{} {
	return []interface{}{
		(*ISSEvent_Sb)(nil),
	}
}
type SBEvent struct {
	Epoch                uint64           `protobuf:"varint,1,opt,name=epoch,proto3" json:"epoch,omitempty"`
	Instance             uint64           `protobuf:"varint,2,opt,name=instance,proto3" json:"instance,omitempty"`
	Event                *SBInstanceEvent `protobuf:"bytes,3,opt,name=event,proto3" json:"event,omitempty"`
	XXX_NoUnkeyedLiteral struct{}         `json:"-"`
	XXX_unrecognized     []byte           `json:"-"`
	XXX_sizecache        int32            `json:"-"`
}
func (m *SBEvent) Reset()         { *m = SBEvent{} }
func (m *SBEvent) String() string { return proto.CompactTextString(m) }
func (*SBEvent) ProtoMessage()    {}
func (*SBEvent) Descriptor() ([]byte, []int) {
	return fileDescriptor_67c987db0a07e2d8, []int{4}
}
func (m *SBEvent) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_SBEvent.Unmarshal(m, b)
}
func (m *SBEvent) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_SBEvent.Marshal(b, m, deterministic)
}
func (m *SBEvent) XXX_Merge(src proto.Message) {
	xxx_messageInfo_SBEvent.Merge(m, src)
}
func (m *SBEvent) XXX_Size() int {
	return xxx_messageInfo_SBEvent.Size(m)
}
func (m *SBEvent) XXX_DiscardUnknown() {
	xxx_messageInfo_SBEvent.DiscardUnknown(m)
}
var xxx_messageInfo_SBEvent proto.InternalMessageInfo
func (m *SBEvent) GetEpoch() uint64 {
	if m != nil {
		return m.Epoch
	}
	return 0
}
func (m *SBEvent) GetInstance() uint64 {
	if m != nil {
		return m.Instance
	}
	return 0
}
func (m *SBEvent) GetEvent() *SBInstanceEvent {
	if m != nil {
		return m.Event
	}
	return nil
}
type SBInstanceEvent struct {
	Type                 isSBInstanceEvent_Type `protobuf_oneof:"type"`
	XXX_NoUnkeyedLiteral struct{}               `json:"-"`
	XXX_unrecognized     []byte                 `json:"-"`
	XXX_sizecache        int32                  `json:"-"`
}
func (m *SBInstanceEvent) Reset()         { *m = SBInstanceEvent{} }
func (m *SBInstanceEvent) String() string { return proto.CompactTextString(m) }
func (*SBInstanceEvent) ProtoMessage()    {}
func (*SBInstanceEvent) Descriptor() ([]byte, []int) {
	return fileDescriptor_67c987db0a07e2d8, []int{5}
}
func (m *SBInstanceEvent) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_SBInstanceEvent.Unmarshal(m, b)
}
func (m *SBInstanceEvent) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_SBInstanceEvent.Marshal(b, m, deterministic)
}
func (m *SBInstanceEvent) XXX_Merge(src proto.Message) {
	xxx_messageInfo_SBInstanceEvent.Merge(m, src)
}
func (m *SBInstanceEvent) XXX_Size() int {
	return xxx_messageInfo_SBInstanceEvent.Size(m)
}
func (m *SBInstanceEvent) XXX_DiscardUnknown() {
	xxx_messageInfo_SBInstanceEvent.DiscardUnknown(m)
}
var xxx_messageInfo_SBInstanceEvent proto.InternalMessageInfo
type isSBInstanceEvent_Type interface {
	isSBInstanceEvent_Type()
}
type SBInstanceEvent_Deliver struct {
	Deliver *SBDeliver `protobuf:"bytes,1,opt,name=deliver,proto3,oneof"`
}
type SBInstanceEvent_MessageReceived struct {
	MessageReceived *SBMessageReceived `protobuf:"bytes,2,opt,name=message_received,json=messageReceived,proto3,oneof"`
}
type SBInstanceEvent_PendingRequests struct {
	PendingRequests *SBPendingRequests `protobuf:"bytes,3,opt,name=pending_requests,json=pendingRequests,proto3,oneof"`
}
type SBInstanceEvent_Tick struct {
	Tick *SBTick `protobuf:"bytes,4,opt,name=tick,proto3,oneof"`
}
type SBInstanceEvent_CutBatch struct {
	CutBatch *SBCutBatch `protobuf:"bytes,5,opt,name=cut_batch,json=cutBatch,proto3,oneof"`
}
type SBInstanceEvent_BatchReady struct {
	BatchReady *SBBatchReady `protobuf:"bytes,6,opt,name=batch_ready,json=batchReady,proto3,oneof"`
}
type SBInstanceEvent_WaitForRequests struct {
	WaitForRequests *SBWaitForRequests `protobuf:"bytes,7,opt,name=wait_for_requests,json=waitForRequests,proto3,oneof"`
}
type SBInstanceEvent_RequestsReady struct {
	RequestsReady *SBRequestsReady `protobuf:"bytes,8,opt,name=requests_ready,json=requestsReady,proto3,oneof"`
}
type SBInstanceEvent_PbftPersistPreprepare struct {
	PbftPersistPreprepare *isspbftpb.PersistPreprepare `protobuf:"bytes,9,opt,name=pbft_persist_preprepare,json=pbftPersistPreprepare,proto3,oneof"`
}
func (*SBInstanceEvent_Deliver) isSBInstanceEvent_Type() {}
func (*SBInstanceEvent_MessageReceived) isSBInstanceEvent_Type() {}
func (*SBInstanceEvent_PendingRequests) isSBInstanceEvent_Type() {}
func (*SBInstanceEvent_Tick) isSBInstanceEvent_Type() {}
func (*SBInstanceEvent_CutBatch) isSBInstanceEvent_Type() {}
func (*SBInstanceEvent_BatchReady) isSBInstanceEvent_Type() {}
func (*SBInstanceEvent_WaitForRequests) isSBInstanceEvent_Type() {}
func (*SBInstanceEvent_RequestsReady) isSBInstanceEvent_Type() {}
func (*SBInstanceEvent_PbftPersistPreprepare) isSBInstanceEvent_Type() {}
func (m *SBInstanceEvent) GetType() isSBInstanceEvent_Type {
	if m != nil {
		return m.Type
	}
	return nil
}
func (m *SBInstanceEvent) GetDeliver() *SBDeliver {
	if x, ok := m.GetType().(*SBInstanceEvent_Deliver); ok {
		return x.Deliver
	}
	return nil
}
func (m *SBInstanceEvent) GetMessageReceived() *SBMessageReceived {
	if x, ok := m.GetType().(*SBInstanceEvent_MessageReceived); ok {
		return x.MessageReceived
	}
	return nil
}
func (m *SBInstanceEvent) GetPendingRequests() *SBPendingRequests {
	if x, ok := m.GetType().(*SBInstanceEvent_PendingRequests); ok {
		return x.PendingRequests
	}
	return nil
}
func (m *SBInstanceEvent) GetTick() *SBTick {
	if x, ok := m.GetType().(*SBInstanceEvent_Tick); ok {
		return x.Tick
	}
	return nil
}
func (m *SBInstanceEvent) GetCutBatch() *SBCutBatch {
	if x, ok := m.GetType().(*SBInstanceEvent_CutBatch); ok {
		return x.CutBatch
	}
	return nil
}
func (m *SBInstanceEvent) GetBatchReady() *SBBatchReady {
	if x, ok := m.GetType().(*SBInstanceEvent_BatchReady); ok {
		return x.BatchReady
	}
	return nil
}
func (m *SBInstanceEvent) GetWaitForRequests() *SBWaitForRequests {
	if x, ok := m.GetType().(*SBInstanceEvent_WaitForRequests); ok {
		return x.WaitForRequests
	}
	return nil
}
func (m *SBInstanceEvent) GetRequestsReady() *SBRequestsReady {
	if x, ok := m.GetType().(*SBInstanceEvent_RequestsReady); ok {
		return x.RequestsReady
	}
	return nil
}
func (m *SBInstanceEvent) GetPbftPersistPreprepare() *isspbftpb.PersistPreprepare {
	if x, ok := m.GetType().(*SBInstanceEvent_PbftPersistPreprepare); ok {
		return x.PbftPersistPreprepare
	}
	return nil
}