// Code generated by protoc-gen-go-lite. DO NOT EDIT.
// protoc-gen-go-lite version: v0.11.0
// source: github.com/aperturerobotics/bifrost/stream/api/api.proto

package stream_api

import (
	fmt "fmt"
	io "io"
	slices "slices"
	strings "strings"

	accept "github.com/aperturerobotics/bifrost/stream/api/accept"
	dial "github.com/aperturerobotics/bifrost/stream/api/dial"
	rpc "github.com/aperturerobotics/bifrost/stream/api/rpc"
	forwarding "github.com/aperturerobotics/bifrost/stream/forwarding"
	listening "github.com/aperturerobotics/bifrost/stream/listening"
	exec "github.com/aperturerobotics/controllerbus/controller/exec"
	protobuf_go_lite "github.com/aperturerobotics/protobuf-go-lite"
	json "github.com/aperturerobotics/protobuf-go-lite/json"
)

// ForwardStreamsRequest is the request type for ForwardStreams.
type ForwardStreamsRequest struct {
	unknownFields    []byte
	ForwardingConfig *forwarding.Config `protobuf:"bytes,1,opt,name=forwarding_config,json=forwardingConfig,proto3" json:"forwardingConfig,omitempty"`
}

func (x *ForwardStreamsRequest) Reset() {
	*x = ForwardStreamsRequest{}
}

func (*ForwardStreamsRequest) ProtoMessage() {}

func (x *ForwardStreamsRequest) GetForwardingConfig() *forwarding.Config {
	if x != nil {
		return x.ForwardingConfig
	}
	return nil
}

// ForwardStreamsResponse is the response type for ForwardStreams.
type ForwardStreamsResponse struct {
	unknownFields []byte
	// ControllerStatus is the status of the forwarding controller.
	ControllerStatus exec.ControllerStatus `protobuf:"varint,1,opt,name=controller_status,json=controllerStatus,proto3" json:"controllerStatus,omitempty"`
}

func (x *ForwardStreamsResponse) Reset() {
	*x = ForwardStreamsResponse{}
}

func (*ForwardStreamsResponse) ProtoMessage() {}

func (x *ForwardStreamsResponse) GetControllerStatus() exec.ControllerStatus {
	if x != nil {
		return x.ControllerStatus
	}
	return exec.ControllerStatus(0)
}

// ListenStreamsRequest is the request type for ListenStreams.
type ListenStreamsRequest struct {
	unknownFields   []byte
	ListeningConfig *listening.Config `protobuf:"bytes,1,opt,name=listening_config,json=listeningConfig,proto3" json:"listeningConfig,omitempty"`
}

func (x *ListenStreamsRequest) Reset() {
	*x = ListenStreamsRequest{}
}

func (*ListenStreamsRequest) ProtoMessage() {}

func (x *ListenStreamsRequest) GetListeningConfig() *listening.Config {
	if x != nil {
		return x.ListeningConfig
	}
	return nil
}

// ListenStreamsResponse is the response type for ListenStreams.
type ListenStreamsResponse struct {
	unknownFields []byte
	// ControllerStatus is the status of the forwarding controller.
	ControllerStatus exec.ControllerStatus `protobuf:"varint,1,opt,name=controller_status,json=controllerStatus,proto3" json:"controllerStatus,omitempty"`
}

func (x *ListenStreamsResponse) Reset() {
	*x = ListenStreamsResponse{}
}

func (*ListenStreamsResponse) ProtoMessage() {}

func (x *ListenStreamsResponse) GetControllerStatus() exec.ControllerStatus {
	if x != nil {
		return x.ControllerStatus
	}
	return exec.ControllerStatus(0)
}

// AcceptStreamRequest is the request type for AcceptStream.
type AcceptStreamRequest struct {
	unknownFields []byte
	// Config is the configuration for the accept.
	// The first packet will contain this value.
	Config *accept.Config `protobuf:"bytes,1,opt,name=config,proto3" json:"config,omitempty"`
	// Data is a data packet.
	Data *rpc.Data `protobuf:"bytes,2,opt,name=data,proto3" json:"data,omitempty"`
}

func (x *AcceptStreamRequest) Reset() {
	*x = AcceptStreamRequest{}
}

func (*AcceptStreamRequest) ProtoMessage() {}

func (x *AcceptStreamRequest) GetConfig() *accept.Config {
	if x != nil {
		return x.Config
	}
	return nil
}

func (x *AcceptStreamRequest) GetData() *rpc.Data {
	if x != nil {
		return x.Data
	}
	return nil
}

// AcceptStreamResponse is the response type for AcceptStream.
type AcceptStreamResponse struct {
	unknownFields []byte
	// Data is a data packet.
	Data *rpc.Data `protobuf:"bytes,1,opt,name=data,proto3" json:"data,omitempty"`
}

func (x *AcceptStreamResponse) Reset() {
	*x = AcceptStreamResponse{}
}

func (*AcceptStreamResponse) ProtoMessage() {}

func (x *AcceptStreamResponse) GetData() *rpc.Data {
	if x != nil {
		return x.Data
	}
	return nil
}

// DialStreamRequest is the request type for DialStream.
type DialStreamRequest struct {
	unknownFields []byte
	// Config is the configuration for the dial.
	// The first packet will contain this value.
	Config *dial.Config `protobuf:"bytes,1,opt,name=config,proto3" json:"config,omitempty"`
	// Data is a data packet.
	Data *rpc.Data `protobuf:"bytes,2,opt,name=data,proto3" json:"data,omitempty"`
}

func (x *DialStreamRequest) Reset() {
	*x = DialStreamRequest{}
}

func (*DialStreamRequest) ProtoMessage() {}

func (x *DialStreamRequest) GetConfig() *dial.Config {
	if x != nil {
		return x.Config
	}
	return nil
}

func (x *DialStreamRequest) GetData() *rpc.Data {
	if x != nil {
		return x.Data
	}
	return nil
}

// DialStreamResponse is the response type for DialStream.
type DialStreamResponse struct {
	unknownFields []byte
	// Data is a data packet.
	Data *rpc.Data `protobuf:"bytes,1,opt,name=data,proto3" json:"data,omitempty"`
}

func (x *DialStreamResponse) Reset() {
	*x = DialStreamResponse{}
}

func (*DialStreamResponse) ProtoMessage() {}

func (x *DialStreamResponse) GetData() *rpc.Data {
	if x != nil {
		return x.Data
	}
	return nil
}

func (m *ForwardStreamsRequest) CloneVT() *ForwardStreamsRequest {
	if m == nil {
		return (*ForwardStreamsRequest)(nil)
	}
	r := new(ForwardStreamsRequest)
	if rhs := m.ForwardingConfig; rhs != nil {
		r.ForwardingConfig = rhs.CloneVT()
	}
	if len(m.unknownFields) > 0 {
		r.unknownFields = slices.Clone(m.unknownFields)
	}
	return r
}

func (m *ForwardStreamsRequest) CloneMessageVT() protobuf_go_lite.CloneMessage {
	return m.CloneVT()
}

func (m *ForwardStreamsResponse) CloneVT() *ForwardStreamsResponse {
	if m == nil {
		return (*ForwardStreamsResponse)(nil)
	}
	r := new(ForwardStreamsResponse)
	r.ControllerStatus = m.ControllerStatus
	if len(m.unknownFields) > 0 {
		r.unknownFields = slices.Clone(m.unknownFields)
	}
	return r
}

func (m *ForwardStreamsResponse) CloneMessageVT() protobuf_go_lite.CloneMessage {
	return m.CloneVT()
}

func (m *ListenStreamsRequest) CloneVT() *ListenStreamsRequest {
	if m == nil {
		return (*ListenStreamsRequest)(nil)
	}
	r := new(ListenStreamsRequest)
	if rhs := m.ListeningConfig; rhs != nil {
		r.ListeningConfig = rhs.CloneVT()
	}
	if len(m.unknownFields) > 0 {
		r.unknownFields = slices.Clone(m.unknownFields)
	}
	return r
}

func (m *ListenStreamsRequest) CloneMessageVT() protobuf_go_lite.CloneMessage {
	return m.CloneVT()
}

func (m *ListenStreamsResponse) CloneVT() *ListenStreamsResponse {
	if m == nil {
		return (*ListenStreamsResponse)(nil)
	}
	r := new(ListenStreamsResponse)
	r.ControllerStatus = m.ControllerStatus
	if len(m.unknownFields) > 0 {
		r.unknownFields = slices.Clone(m.unknownFields)
	}
	return r
}

func (m *ListenStreamsResponse) CloneMessageVT() protobuf_go_lite.CloneMessage {
	return m.CloneVT()
}

func (m *AcceptStreamRequest) CloneVT() *AcceptStreamRequest {
	if m == nil {
		return (*AcceptStreamRequest)(nil)
	}
	r := new(AcceptStreamRequest)
	if rhs := m.Config; rhs != nil {
		r.Config = rhs.CloneVT()
	}
	if rhs := m.Data; rhs != nil {
		r.Data = rhs.CloneVT()
	}
	if len(m.unknownFields) > 0 {
		r.unknownFields = slices.Clone(m.unknownFields)
	}
	return r
}

func (m *AcceptStreamRequest) CloneMessageVT() protobuf_go_lite.CloneMessage {
	return m.CloneVT()
}

func (m *AcceptStreamResponse) CloneVT() *AcceptStreamResponse {
	if m == nil {
		return (*AcceptStreamResponse)(nil)
	}
	r := new(AcceptStreamResponse)
	if rhs := m.Data; rhs != nil {
		r.Data = rhs.CloneVT()
	}
	if len(m.unknownFields) > 0 {
		r.unknownFields = slices.Clone(m.unknownFields)
	}
	return r
}

func (m *AcceptStreamResponse) CloneMessageVT() protobuf_go_lite.CloneMessage {
	return m.CloneVT()
}

func (m *DialStreamRequest) CloneVT() *DialStreamRequest {
	if m == nil {
		return (*DialStreamRequest)(nil)
	}
	r := new(DialStreamRequest)
	if rhs := m.Config; rhs != nil {
		r.Config = rhs.CloneVT()
	}
	if rhs := m.Data; rhs != nil {
		r.Data = rhs.CloneVT()
	}
	if len(m.unknownFields) > 0 {
		r.unknownFields = slices.Clone(m.unknownFields)
	}
	return r
}

func (m *DialStreamRequest) CloneMessageVT() protobuf_go_lite.CloneMessage {
	return m.CloneVT()
}

func (m *DialStreamResponse) CloneVT() *DialStreamResponse {
	if m == nil {
		return (*DialStreamResponse)(nil)
	}
	r := new(DialStreamResponse)
	if rhs := m.Data; rhs != nil {
		r.Data = rhs.CloneVT()
	}
	if len(m.unknownFields) > 0 {
		r.unknownFields = slices.Clone(m.unknownFields)
	}
	return r
}

func (m *DialStreamResponse) CloneMessageVT() protobuf_go_lite.CloneMessage {
	return m.CloneVT()
}

func (this *ForwardStreamsRequest) EqualVT(that *ForwardStreamsRequest) bool {
	if this == that {
		return true
	} else if this == nil || that == nil {
		return false
	}
	if !this.ForwardingConfig.EqualVT(that.ForwardingConfig) {
		return false
	}
	return string(this.unknownFields) == string(that.unknownFields)
}

func (this *ForwardStreamsRequest) EqualMessageVT(thatMsg any) bool {
	that, ok := thatMsg.(*ForwardStreamsRequest)
	if !ok {
		return false
	}
	return this.EqualVT(that)
}
func (this *ForwardStreamsResponse) EqualVT(that *ForwardStreamsResponse) bool {
	if this == that {
		return true
	} else if this == nil || that == nil {
		return false
	}
	if this.ControllerStatus != that.ControllerStatus {
		return false
	}
	return string(this.unknownFields) == string(that.unknownFields)
}

func (this *ForwardStreamsResponse) EqualMessageVT(thatMsg any) bool {
	that, ok := thatMsg.(*ForwardStreamsResponse)
	if !ok {
		return false
	}
	return this.EqualVT(that)
}
func (this *ListenStreamsRequest) EqualVT(that *ListenStreamsRequest) bool {
	if this == that {
		return true
	} else if this == nil || that == nil {
		return false
	}
	if !this.ListeningConfig.EqualVT(that.ListeningConfig) {
		return false
	}
	return string(this.unknownFields) == string(that.unknownFields)
}

func (this *ListenStreamsRequest) EqualMessageVT(thatMsg any) bool {
	that, ok := thatMsg.(*ListenStreamsRequest)
	if !ok {
		return false
	}
	return this.EqualVT(that)
}
func (this *ListenStreamsResponse) EqualVT(that *ListenStreamsResponse) bool {
	if this == that {
		return true
	} else if this == nil || that == nil {
		return false
	}
	if this.ControllerStatus != that.ControllerStatus {
		return false
	}
	return string(this.unknownFields) == string(that.unknownFields)
}

func (this *ListenStreamsResponse) EqualMessageVT(thatMsg any) bool {
	that, ok := thatMsg.(*ListenStreamsResponse)
	if !ok {
		return false
	}
	return this.EqualVT(that)
}
func (this *AcceptStreamRequest) EqualVT(that *AcceptStreamRequest) bool {
	if this == that {
		return true
	} else if this == nil || that == nil {
		return false
	}
	if !this.Config.EqualVT(that.Config) {
		return false
	}
	if !this.Data.EqualVT(that.Data) {
		return false
	}
	return string(this.unknownFields) == string(that.unknownFields)
}

func (this *AcceptStreamRequest) EqualMessageVT(thatMsg any) bool {
	that, ok := thatMsg.(*AcceptStreamRequest)
	if !ok {
		return false
	}
	return this.EqualVT(that)
}
func (this *AcceptStreamResponse) EqualVT(that *AcceptStreamResponse) bool {
	if this == that {
		return true
	} else if this == nil || that == nil {
		return false
	}
	if !this.Data.EqualVT(that.Data) {
		return false
	}
	return string(this.unknownFields) == string(that.unknownFields)
}

func (this *AcceptStreamResponse) EqualMessageVT(thatMsg any) bool {
	that, ok := thatMsg.(*AcceptStreamResponse)
	if !ok {
		return false
	}
	return this.EqualVT(that)
}
func (this *DialStreamRequest) EqualVT(that *DialStreamRequest) bool {
	if this == that {
		return true
	} else if this == nil || that == nil {
		return false
	}
	if !this.Config.EqualVT(that.Config) {
		return false
	}
	if !this.Data.EqualVT(that.Data) {
		return false
	}
	return string(this.unknownFields) == string(that.unknownFields)
}

func (this *DialStreamRequest) EqualMessageVT(thatMsg any) bool {
	that, ok := thatMsg.(*DialStreamRequest)
	if !ok {
		return false
	}
	return this.EqualVT(that)
}
func (this *DialStreamResponse) EqualVT(that *DialStreamResponse) bool {
	if this == that {
		return true
	} else if this == nil || that == nil {
		return false
	}
	if !this.Data.EqualVT(that.Data) {
		return false
	}
	return string(this.unknownFields) == string(that.unknownFields)
}

func (this *DialStreamResponse) EqualMessageVT(thatMsg any) bool {
	that, ok := thatMsg.(*DialStreamResponse)
	if !ok {
		return false
	}
	return this.EqualVT(that)
}

// MarshalProtoJSON marshals the ForwardStreamsRequest message to JSON.
func (x *ForwardStreamsRequest) MarshalProtoJSON(s *json.MarshalState) {
	if x == nil {
		s.WriteNil()
		return
	}
	s.WriteObjectStart()
	var wroteField bool
	if x.ForwardingConfig != nil || s.HasField("forwardingConfig") {
		s.WriteMoreIf(&wroteField)
		s.WriteObjectField("forwardingConfig")
		x.ForwardingConfig.MarshalProtoJSON(s.WithField("forwardingConfig"))
	}
	s.WriteObjectEnd()
}

// MarshalJSON marshals the ForwardStreamsRequest to JSON.
func (x *ForwardStreamsRequest) MarshalJSON() ([]byte, error) {
	return json.DefaultMarshalerConfig.Marshal(x)
}

// UnmarshalProtoJSON unmarshals the ForwardStreamsRequest message from JSON.
func (x *ForwardStreamsRequest) UnmarshalProtoJSON(s *json.UnmarshalState) {
	if s.ReadNil() {
		return
	}
	s.ReadObject(func(key string) {
		switch key {
		default:
			s.Skip() // ignore unknown field
		case "forwarding_config", "forwardingConfig":
			if s.ReadNil() {
				x.ForwardingConfig = nil
				return
			}
			x.ForwardingConfig = &forwarding.Config{}
			x.ForwardingConfig.UnmarshalProtoJSON(s.WithField("forwarding_config", true))
		}
	})
}

// UnmarshalJSON unmarshals the ForwardStreamsRequest from JSON.
func (x *ForwardStreamsRequest) UnmarshalJSON(b []byte) error {
	return json.DefaultUnmarshalerConfig.Unmarshal(b, x)
}

// MarshalProtoJSON marshals the ForwardStreamsResponse message to JSON.
func (x *ForwardStreamsResponse) MarshalProtoJSON(s *json.MarshalState) {
	if x == nil {
		s.WriteNil()
		return
	}
	s.WriteObjectStart()
	var wroteField bool
	if x.ControllerStatus != 0 || s.HasField("controllerStatus") {
		s.WriteMoreIf(&wroteField)
		s.WriteObjectField("controllerStatus")
		x.ControllerStatus.MarshalProtoJSON(s)
	}
	s.WriteObjectEnd()
}

// MarshalJSON marshals the ForwardStreamsResponse to JSON.
func (x *ForwardStreamsResponse) MarshalJSON() ([]byte, error) {
	return json.DefaultMarshalerConfig.Marshal(x)
}

// UnmarshalProtoJSON unmarshals the ForwardStreamsResponse message from JSON.
func (x *ForwardStreamsResponse) UnmarshalProtoJSON(s *json.UnmarshalState) {
	if s.ReadNil() {
		return
	}
	s.ReadObject(func(key string) {
		switch key {
		default:
			s.Skip() // ignore unknown field
		case "controller_status", "controllerStatus":
			s.AddField("controller_status")
			x.ControllerStatus.UnmarshalProtoJSON(s)
		}
	})
}

// UnmarshalJSON unmarshals the ForwardStreamsResponse from JSON.
func (x *ForwardStreamsResponse) UnmarshalJSON(b []byte) error {
	return json.DefaultUnmarshalerConfig.Unmarshal(b, x)
}

// MarshalProtoJSON marshals the ListenStreamsRequest message to JSON.
func (x *ListenStreamsRequest) MarshalProtoJSON(s *json.MarshalState) {
	if x == nil {
		s.WriteNil()
		return
	}
	s.WriteObjectStart()
	var wroteField bool
	if x.ListeningConfig != nil || s.HasField("listeningConfig") {
		s.WriteMoreIf(&wroteField)
		s.WriteObjectField("listeningConfig")
		x.ListeningConfig.MarshalProtoJSON(s.WithField("listeningConfig"))
	}
	s.WriteObjectEnd()
}

// MarshalJSON marshals the ListenStreamsRequest to JSON.
func (x *ListenStreamsRequest) MarshalJSON() ([]byte, error) {
	return json.DefaultMarshalerConfig.Marshal(x)
}

// UnmarshalProtoJSON unmarshals the ListenStreamsRequest message from JSON.
func (x *ListenStreamsRequest) UnmarshalProtoJSON(s *json.UnmarshalState) {
	if s.ReadNil() {
		return
	}
	s.ReadObject(func(key string) {
		switch key {
		default:
			s.Skip() // ignore unknown field
		case "listening_config", "listeningConfig":
			if s.ReadNil() {
				x.ListeningConfig = nil
				return
			}
			x.ListeningConfig = &listening.Config{}
			x.ListeningConfig.UnmarshalProtoJSON(s.WithField("listening_config", true))
		}
	})
}

// UnmarshalJSON unmarshals the ListenStreamsRequest from JSON.
func (x *ListenStreamsRequest) UnmarshalJSON(b []byte) error {
	return json.DefaultUnmarshalerConfig.Unmarshal(b, x)
}

// MarshalProtoJSON marshals the ListenStreamsResponse message to JSON.
func (x *ListenStreamsResponse) MarshalProtoJSON(s *json.MarshalState) {
	if x == nil {
		s.WriteNil()
		return
	}
	s.WriteObjectStart()
	var wroteField bool
	if x.ControllerStatus != 0 || s.HasField("controllerStatus") {
		s.WriteMoreIf(&wroteField)
		s.WriteObjectField("controllerStatus")
		x.ControllerStatus.MarshalProtoJSON(s)
	}
	s.WriteObjectEnd()
}

// MarshalJSON marshals the ListenStreamsResponse to JSON.
func (x *ListenStreamsResponse) MarshalJSON() ([]byte, error) {
	return json.DefaultMarshalerConfig.Marshal(x)
}

// UnmarshalProtoJSON unmarshals the ListenStreamsResponse message from JSON.
func (x *ListenStreamsResponse) UnmarshalProtoJSON(s *json.UnmarshalState) {
	if s.ReadNil() {
		return
	}
	s.ReadObject(func(key string) {
		switch key {
		default:
			s.Skip() // ignore unknown field
		case "controller_status", "controllerStatus":
			s.AddField("controller_status")
			x.ControllerStatus.UnmarshalProtoJSON(s)
		}
	})
}

// UnmarshalJSON unmarshals the ListenStreamsResponse from JSON.
func (x *ListenStreamsResponse) UnmarshalJSON(b []byte) error {
	return json.DefaultUnmarshalerConfig.Unmarshal(b, x)
}

// MarshalProtoJSON marshals the AcceptStreamRequest message to JSON.
func (x *AcceptStreamRequest) MarshalProtoJSON(s *json.MarshalState) {
	if x == nil {
		s.WriteNil()
		return
	}
	s.WriteObjectStart()
	var wroteField bool
	if x.Config != nil || s.HasField("config") {
		s.WriteMoreIf(&wroteField)
		s.WriteObjectField("config")
		x.Config.MarshalProtoJSON(s.WithField("config"))
	}
	if x.Data != nil || s.HasField("data") {
		s.WriteMoreIf(&wroteField)
		s.WriteObjectField("data")
		x.Data.MarshalProtoJSON(s.WithField("data"))
	}
	s.WriteObjectEnd()
}

// MarshalJSON marshals the AcceptStreamRequest to JSON.
func (x *AcceptStreamRequest) MarshalJSON() ([]byte, error) {
	return json.DefaultMarshalerConfig.Marshal(x)
}

// UnmarshalProtoJSON unmarshals the AcceptStreamRequest message from JSON.
func (x *AcceptStreamRequest) UnmarshalProtoJSON(s *json.UnmarshalState) {
	if s.ReadNil() {
		return
	}
	s.ReadObject(func(key string) {
		switch key {
		default:
			s.Skip() // ignore unknown field
		case "config":
			if s.ReadNil() {
				x.Config = nil
				return
			}
			x.Config = &accept.Config{}
			x.Config.UnmarshalProtoJSON(s.WithField("config", true))
		case "data":
			if s.ReadNil() {
				x.Data = nil
				return
			}
			x.Data = &rpc.Data{}
			x.Data.UnmarshalProtoJSON(s.WithField("data", true))
		}
	})
}

// UnmarshalJSON unmarshals the AcceptStreamRequest from JSON.
func (x *AcceptStreamRequest) UnmarshalJSON(b []byte) error {
	return json.DefaultUnmarshalerConfig.Unmarshal(b, x)
}

// MarshalProtoJSON marshals the AcceptStreamResponse message to JSON.
func (x *AcceptStreamResponse) MarshalProtoJSON(s *json.MarshalState) {
	if x == nil {
		s.WriteNil()
		return
	}
	s.WriteObjectStart()
	var wroteField bool
	if x.Data != nil || s.HasField("data") {
		s.WriteMoreIf(&wroteField)
		s.WriteObjectField("data")
		x.Data.MarshalProtoJSON(s.WithField("data"))
	}
	s.WriteObjectEnd()
}

// MarshalJSON marshals the AcceptStreamResponse to JSON.
func (x *AcceptStreamResponse) MarshalJSON() ([]byte, error) {
	return json.DefaultMarshalerConfig.Marshal(x)
}

// UnmarshalProtoJSON unmarshals the AcceptStreamResponse message from JSON.
func (x *AcceptStreamResponse) UnmarshalProtoJSON(s *json.UnmarshalState) {
	if s.ReadNil() {
		return
	}
	s.ReadObject(func(key string) {
		switch key {
		default:
			s.Skip() // ignore unknown field
		case "data":
			if s.ReadNil() {
				x.Data = nil
				return
			}
			x.Data = &rpc.Data{}
			x.Data.UnmarshalProtoJSON(s.WithField("data", true))
		}
	})
}

// UnmarshalJSON unmarshals the AcceptStreamResponse from JSON.
func (x *AcceptStreamResponse) UnmarshalJSON(b []byte) error {
	return json.DefaultUnmarshalerConfig.Unmarshal(b, x)
}

// MarshalProtoJSON marshals the DialStreamRequest message to JSON.
func (x *DialStreamRequest) MarshalProtoJSON(s *json.MarshalState) {
	if x == nil {
		s.WriteNil()
		return
	}
	s.WriteObjectStart()
	var wroteField bool
	if x.Config != nil || s.HasField("config") {
		s.WriteMoreIf(&wroteField)
		s.WriteObjectField("config")
		x.Config.MarshalProtoJSON(s.WithField("config"))
	}
	if x.Data != nil || s.HasField("data") {
		s.WriteMoreIf(&wroteField)
		s.WriteObjectField("data")
		x.Data.MarshalProtoJSON(s.WithField("data"))
	}
	s.WriteObjectEnd()
}

// MarshalJSON marshals the DialStreamRequest to JSON.
func (x *DialStreamRequest) MarshalJSON() ([]byte, error) {
	return json.DefaultMarshalerConfig.Marshal(x)
}

// UnmarshalProtoJSON unmarshals the DialStreamRequest message from JSON.
func (x *DialStreamRequest) UnmarshalProtoJSON(s *json.UnmarshalState) {
	if s.ReadNil() {
		return
	}
	s.ReadObject(func(key string) {
		switch key {
		default:
			s.Skip() // ignore unknown field
		case "config":
			if s.ReadNil() {
				x.Config = nil
				return
			}
			x.Config = &dial.Config{}
			x.Config.UnmarshalProtoJSON(s.WithField("config", true))
		case "data":
			if s.ReadNil() {
				x.Data = nil
				return
			}
			x.Data = &rpc.Data{}
			x.Data.UnmarshalProtoJSON(s.WithField("data", true))
		}
	})
}

// UnmarshalJSON unmarshals the DialStreamRequest from JSON.
func (x *DialStreamRequest) UnmarshalJSON(b []byte) error {
	return json.DefaultUnmarshalerConfig.Unmarshal(b, x)
}

// MarshalProtoJSON marshals the DialStreamResponse message to JSON.
func (x *DialStreamResponse) MarshalProtoJSON(s *json.MarshalState) {
	if x == nil {
		s.WriteNil()
		return
	}
	s.WriteObjectStart()
	var wroteField bool
	if x.Data != nil || s.HasField("data") {
		s.WriteMoreIf(&wroteField)
		s.WriteObjectField("data")
		x.Data.MarshalProtoJSON(s.WithField("data"))
	}
	s.WriteObjectEnd()
}

// MarshalJSON marshals the DialStreamResponse to JSON.
func (x *DialStreamResponse) MarshalJSON() ([]byte, error) {
	return json.DefaultMarshalerConfig.Marshal(x)
}

// UnmarshalProtoJSON unmarshals the DialStreamResponse message from JSON.
func (x *DialStreamResponse) UnmarshalProtoJSON(s *json.UnmarshalState) {
	if s.ReadNil() {
		return
	}
	s.ReadObject(func(key string) {
		switch key {
		default:
			s.Skip() // ignore unknown field
		case "data":
			if s.ReadNil() {
				x.Data = nil
				return
			}
			x.Data = &rpc.Data{}
			x.Data.UnmarshalProtoJSON(s.WithField("data", true))
		}
	})
}

// UnmarshalJSON unmarshals the DialStreamResponse from JSON.
func (x *DialStreamResponse) UnmarshalJSON(b []byte) error {
	return json.DefaultUnmarshalerConfig.Unmarshal(b, x)
}

func (m *ForwardStreamsRequest) MarshalVT() (dAtA []byte, err error) {
	if m == nil {
		return nil, nil
	}
	size := m.SizeVT()
	dAtA = make([]byte, size)
	n, err := m.MarshalToSizedBufferVT(dAtA[:size])
	if err != nil {
		return nil, err
	}
	return dAtA[:n], nil
}

func (m *ForwardStreamsRequest) MarshalToVT(dAtA []byte) (int, error) {
	size := m.SizeVT()
	return m.MarshalToSizedBufferVT(dAtA[:size])
}

func (m *ForwardStreamsRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
	if m == nil {
		return 0, nil
	}
	i := len(dAtA)
	_ = i
	var l int
	_ = l
	if m.unknownFields != nil {
		i -= len(m.unknownFields)
		copy(dAtA[i:], m.unknownFields)
	}
	if m.ForwardingConfig != nil {
		size, err := m.ForwardingConfig.MarshalToSizedBufferVT(dAtA[:i])
		if err != nil {
			return 0, err
		}
		i -= size
		i = protobuf_go_lite.EncodeVarint(dAtA, i, uint64(size))
		i--
		dAtA[i] = 0xa
	}
	return len(dAtA) - i, nil
}

func (m *ForwardStreamsResponse) MarshalVT() (dAtA []byte, err error) {
	if m == nil {
		return nil, nil
	}
	size := m.SizeVT()
	dAtA = make([]byte, size)
	n, err := m.MarshalToSizedBufferVT(dAtA[:size])
	if err != nil {
		return nil, err
	}
	return dAtA[:n], nil
}

func (m *ForwardStreamsResponse) MarshalToVT(dAtA []byte) (int, error) {
	size := m.SizeVT()
	return m.MarshalToSizedBufferVT(dAtA[:size])
}

func (m *ForwardStreamsResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
	if m == nil {
		return 0, nil
	}
	i := len(dAtA)
	_ = i
	var l int
	_ = l
	if m.unknownFields != nil {
		i -= len(m.unknownFields)
		copy(dAtA[i:], m.unknownFields)
	}
	if m.ControllerStatus != 0 {
		i = protobuf_go_lite.EncodeVarint(dAtA, i, uint64(m.ControllerStatus))
		i--
		dAtA[i] = 0x8
	}
	return len(dAtA) - i, nil
}

func (m *ListenStreamsRequest) MarshalVT() (dAtA []byte, err error) {
	if m == nil {
		return nil, nil
	}
	size := m.SizeVT()
	dAtA = make([]byte, size)
	n, err := m.MarshalToSizedBufferVT(dAtA[:size])
	if err != nil {
		return nil, err
	}
	return dAtA[:n], nil
}

func (m *ListenStreamsRequest) MarshalToVT(dAtA []byte) (int, error) {
	size := m.SizeVT()
	return m.MarshalToSizedBufferVT(dAtA[:size])
}

func (m *ListenStreamsRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
	if m == nil {
		return 0, nil
	}
	i := len(dAtA)
	_ = i
	var l int
	_ = l
	if m.unknownFields != nil {
		i -= len(m.unknownFields)
		copy(dAtA[i:], m.unknownFields)
	}
	if m.ListeningConfig != nil {
		size, err := m.ListeningConfig.MarshalToSizedBufferVT(dAtA[:i])
		if err != nil {
			return 0, err
		}
		i -= size
		i = protobuf_go_lite.EncodeVarint(dAtA, i, uint64(size))
		i--
		dAtA[i] = 0xa
	}
	return len(dAtA) - i, nil
}

func (m *ListenStreamsResponse) MarshalVT() (dAtA []byte, err error) {
	if m == nil {
		return nil, nil
	}
	size := m.SizeVT()
	dAtA = make([]byte, size)
	n, err := m.MarshalToSizedBufferVT(dAtA[:size])
	if err != nil {
		return nil, err
	}
	return dAtA[:n], nil
}

func (m *ListenStreamsResponse) MarshalToVT(dAtA []byte) (int, error) {
	size := m.SizeVT()
	return m.MarshalToSizedBufferVT(dAtA[:size])
}

func (m *ListenStreamsResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
	if m == nil {
		return 0, nil
	}
	i := len(dAtA)
	_ = i
	var l int
	_ = l
	if m.unknownFields != nil {
		i -= len(m.unknownFields)
		copy(dAtA[i:], m.unknownFields)
	}
	if m.ControllerStatus != 0 {
		i = protobuf_go_lite.EncodeVarint(dAtA, i, uint64(m.ControllerStatus))
		i--
		dAtA[i] = 0x8
	}
	return len(dAtA) - i, nil
}

func (m *AcceptStreamRequest) MarshalVT() (dAtA []byte, err error) {
	if m == nil {
		return nil, nil
	}
	size := m.SizeVT()
	dAtA = make([]byte, size)
	n, err := m.MarshalToSizedBufferVT(dAtA[:size])
	if err != nil {
		return nil, err
	}
	return dAtA[:n], nil
}

func (m *AcceptStreamRequest) MarshalToVT(dAtA []byte) (int, error) {
	size := m.SizeVT()
	return m.MarshalToSizedBufferVT(dAtA[:size])
}

func (m *AcceptStreamRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
	if m == nil {
		return 0, nil
	}
	i := len(dAtA)
	_ = i
	var l int
	_ = l
	if m.unknownFields != nil {
		i -= len(m.unknownFields)
		copy(dAtA[i:], m.unknownFields)
	}
	if m.Data != nil {
		size, err := m.Data.MarshalToSizedBufferVT(dAtA[:i])
		if err != nil {
			return 0, err
		}
		i -= size
		i = protobuf_go_lite.EncodeVarint(dAtA, i, uint64(size))
		i--
		dAtA[i] = 0x12
	}
	if m.Config != nil {
		size, err := m.Config.MarshalToSizedBufferVT(dAtA[:i])
		if err != nil {
			return 0, err
		}
		i -= size
		i = protobuf_go_lite.EncodeVarint(dAtA, i, uint64(size))
		i--
		dAtA[i] = 0xa
	}
	return len(dAtA) - i, nil
}

func (m *AcceptStreamResponse) MarshalVT() (dAtA []byte, err error) {
	if m == nil {
		return nil, nil
	}
	size := m.SizeVT()
	dAtA = make([]byte, size)
	n, err := m.MarshalToSizedBufferVT(dAtA[:size])
	if err != nil {
		return nil, err
	}
	return dAtA[:n], nil
}

func (m *AcceptStreamResponse) MarshalToVT(dAtA []byte) (int, error) {
	size := m.SizeVT()
	return m.MarshalToSizedBufferVT(dAtA[:size])
}

func (m *AcceptStreamResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
	if m == nil {
		return 0, nil
	}
	i := len(dAtA)
	_ = i
	var l int
	_ = l
	if m.unknownFields != nil {
		i -= len(m.unknownFields)
		copy(dAtA[i:], m.unknownFields)
	}
	if m.Data != nil {
		size, err := m.Data.MarshalToSizedBufferVT(dAtA[:i])
		if err != nil {
			return 0, err
		}
		i -= size
		i = protobuf_go_lite.EncodeVarint(dAtA, i, uint64(size))
		i--
		dAtA[i] = 0xa
	}
	return len(dAtA) - i, nil
}

func (m *DialStreamRequest) MarshalVT() (dAtA []byte, err error) {
	if m == nil {
		return nil, nil
	}
	size := m.SizeVT()
	dAtA = make([]byte, size)
	n, err := m.MarshalToSizedBufferVT(dAtA[:size])
	if err != nil {
		return nil, err
	}
	return dAtA[:n], nil
}

func (m *DialStreamRequest) MarshalToVT(dAtA []byte) (int, error) {
	size := m.SizeVT()
	return m.MarshalToSizedBufferVT(dAtA[:size])
}

func (m *DialStreamRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
	if m == nil {
		return 0, nil
	}
	i := len(dAtA)
	_ = i
	var l int
	_ = l
	if m.unknownFields != nil {
		i -= len(m.unknownFields)
		copy(dAtA[i:], m.unknownFields)
	}
	if m.Data != nil {
		size, err := m.Data.MarshalToSizedBufferVT(dAtA[:i])
		if err != nil {
			return 0, err
		}
		i -= size
		i = protobuf_go_lite.EncodeVarint(dAtA, i, uint64(size))
		i--
		dAtA[i] = 0x12
	}
	if m.Config != nil {
		size, err := m.Config.MarshalToSizedBufferVT(dAtA[:i])
		if err != nil {
			return 0, err
		}
		i -= size
		i = protobuf_go_lite.EncodeVarint(dAtA, i, uint64(size))
		i--
		dAtA[i] = 0xa
	}
	return len(dAtA) - i, nil
}

func (m *DialStreamResponse) MarshalVT() (dAtA []byte, err error) {
	if m == nil {
		return nil, nil
	}
	size := m.SizeVT()
	dAtA = make([]byte, size)
	n, err := m.MarshalToSizedBufferVT(dAtA[:size])
	if err != nil {
		return nil, err
	}
	return dAtA[:n], nil
}

func (m *DialStreamResponse) MarshalToVT(dAtA []byte) (int, error) {
	size := m.SizeVT()
	return m.MarshalToSizedBufferVT(dAtA[:size])
}

func (m *DialStreamResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
	if m == nil {
		return 0, nil
	}
	i := len(dAtA)
	_ = i
	var l int
	_ = l
	if m.unknownFields != nil {
		i -= len(m.unknownFields)
		copy(dAtA[i:], m.unknownFields)
	}
	if m.Data != nil {
		size, err := m.Data.MarshalToSizedBufferVT(dAtA[:i])
		if err != nil {
			return 0, err
		}
		i -= size
		i = protobuf_go_lite.EncodeVarint(dAtA, i, uint64(size))
		i--
		dAtA[i] = 0xa
	}
	return len(dAtA) - i, nil
}

func (m *ForwardStreamsRequest) SizeVT() (n int) {
	if m == nil {
		return 0
	}
	var l int
	_ = l
	if m.ForwardingConfig != nil {
		l = m.ForwardingConfig.SizeVT()
		n += 1 + l + protobuf_go_lite.SizeOfVarint(uint64(l))
	}
	n += len(m.unknownFields)
	return n
}

func (m *ForwardStreamsResponse) SizeVT() (n int) {
	if m == nil {
		return 0
	}
	var l int
	_ = l
	if m.ControllerStatus != 0 {
		n += 1 + protobuf_go_lite.SizeOfVarint(uint64(m.ControllerStatus))
	}
	n += len(m.unknownFields)
	return n
}

func (m *ListenStreamsRequest) SizeVT() (n int) {
	if m == nil {
		return 0
	}
	var l int
	_ = l
	if m.ListeningConfig != nil {
		l = m.ListeningConfig.SizeVT()
		n += 1 + l + protobuf_go_lite.SizeOfVarint(uint64(l))
	}
	n += len(m.unknownFields)
	return n
}

func (m *ListenStreamsResponse) SizeVT() (n int) {
	if m == nil {
		return 0
	}
	var l int
	_ = l
	if m.ControllerStatus != 0 {
		n += 1 + protobuf_go_lite.SizeOfVarint(uint64(m.ControllerStatus))
	}
	n += len(m.unknownFields)
	return n
}

func (m *AcceptStreamRequest) SizeVT() (n int) {
	if m == nil {
		return 0
	}
	var l int
	_ = l
	if m.Config != nil {
		l = m.Config.SizeVT()
		n += 1 + l + protobuf_go_lite.SizeOfVarint(uint64(l))
	}
	if m.Data != nil {
		l = m.Data.SizeVT()
		n += 1 + l + protobuf_go_lite.SizeOfVarint(uint64(l))
	}
	n += len(m.unknownFields)
	return n
}

func (m *AcceptStreamResponse) SizeVT() (n int) {
	if m == nil {
		return 0
	}
	var l int
	_ = l
	if m.Data != nil {
		l = m.Data.SizeVT()
		n += 1 + l + protobuf_go_lite.SizeOfVarint(uint64(l))
	}
	n += len(m.unknownFields)
	return n
}

func (m *DialStreamRequest) SizeVT() (n int) {
	if m == nil {
		return 0
	}
	var l int
	_ = l
	if m.Config != nil {
		l = m.Config.SizeVT()
		n += 1 + l + protobuf_go_lite.SizeOfVarint(uint64(l))
	}
	if m.Data != nil {
		l = m.Data.SizeVT()
		n += 1 + l + protobuf_go_lite.SizeOfVarint(uint64(l))
	}
	n += len(m.unknownFields)
	return n
}

func (m *DialStreamResponse) SizeVT() (n int) {
	if m == nil {
		return 0
	}
	var l int
	_ = l
	if m.Data != nil {
		l = m.Data.SizeVT()
		n += 1 + l + protobuf_go_lite.SizeOfVarint(uint64(l))
	}
	n += len(m.unknownFields)
	return n
}

func (x *ForwardStreamsRequest) MarshalProtoText() string {
	var sb strings.Builder
	sb.WriteString("ForwardStreamsRequest {")
	if x.ForwardingConfig != nil {
		if sb.Len() > 23 {
			sb.WriteString(" ")
		}
		sb.WriteString("forwarding_config: ")
		sb.WriteString(x.ForwardingConfig.MarshalProtoText())
	}
	sb.WriteString("}")
	return sb.String()
}

func (x *ForwardStreamsRequest) String() string {
	return x.MarshalProtoText()
}
func (x *ForwardStreamsResponse) MarshalProtoText() string {
	var sb strings.Builder
	sb.WriteString("ForwardStreamsResponse {")
	if x.ControllerStatus != 0 {
		if sb.Len() > 24 {
			sb.WriteString(" ")
		}
		sb.WriteString("controller_status: ")
		sb.WriteString("\"")
		sb.WriteString(exec.ControllerStatus(x.ControllerStatus).String())
		sb.WriteString("\"")
	}
	sb.WriteString("}")
	return sb.String()
}

func (x *ForwardStreamsResponse) String() string {
	return x.MarshalProtoText()
}
func (x *ListenStreamsRequest) MarshalProtoText() string {
	var sb strings.Builder
	sb.WriteString("ListenStreamsRequest {")
	if x.ListeningConfig != nil {
		if sb.Len() > 22 {
			sb.WriteString(" ")
		}
		sb.WriteString("listening_config: ")
		sb.WriteString(x.ListeningConfig.MarshalProtoText())
	}
	sb.WriteString("}")
	return sb.String()
}

func (x *ListenStreamsRequest) String() string {
	return x.MarshalProtoText()
}
func (x *ListenStreamsResponse) MarshalProtoText() string {
	var sb strings.Builder
	sb.WriteString("ListenStreamsResponse {")
	if x.ControllerStatus != 0 {
		if sb.Len() > 23 {
			sb.WriteString(" ")
		}
		sb.WriteString("controller_status: ")
		sb.WriteString("\"")
		sb.WriteString(exec.ControllerStatus(x.ControllerStatus).String())
		sb.WriteString("\"")
	}
	sb.WriteString("}")
	return sb.String()
}

func (x *ListenStreamsResponse) String() string {
	return x.MarshalProtoText()
}
func (x *AcceptStreamRequest) MarshalProtoText() string {
	var sb strings.Builder
	sb.WriteString("AcceptStreamRequest {")
	if x.Config != nil {
		if sb.Len() > 21 {
			sb.WriteString(" ")
		}
		sb.WriteString("config: ")
		sb.WriteString(x.Config.MarshalProtoText())
	}
	if x.Data != nil {
		if sb.Len() > 21 {
			sb.WriteString(" ")
		}
		sb.WriteString("data: ")
		sb.WriteString(x.Data.MarshalProtoText())
	}
	sb.WriteString("}")
	return sb.String()
}

func (x *AcceptStreamRequest) String() string {
	return x.MarshalProtoText()
}
func (x *AcceptStreamResponse) MarshalProtoText() string {
	var sb strings.Builder
	sb.WriteString("AcceptStreamResponse {")
	if x.Data != nil {
		if sb.Len() > 22 {
			sb.WriteString(" ")
		}
		sb.WriteString("data: ")
		sb.WriteString(x.Data.MarshalProtoText())
	}
	sb.WriteString("}")
	return sb.String()
}

func (x *AcceptStreamResponse) String() string {
	return x.MarshalProtoText()
}
func (x *DialStreamRequest) MarshalProtoText() string {
	var sb strings.Builder
	sb.WriteString("DialStreamRequest {")
	if x.Config != nil {
		if sb.Len() > 19 {
			sb.WriteString(" ")
		}
		sb.WriteString("config: ")
		sb.WriteString(x.Config.MarshalProtoText())
	}
	if x.Data != nil {
		if sb.Len() > 19 {
			sb.WriteString(" ")
		}
		sb.WriteString("data: ")
		sb.WriteString(x.Data.MarshalProtoText())
	}
	sb.WriteString("}")
	return sb.String()
}

func (x *DialStreamRequest) String() string {
	return x.MarshalProtoText()
}
func (x *DialStreamResponse) MarshalProtoText() string {
	var sb strings.Builder
	sb.WriteString("DialStreamResponse {")
	if x.Data != nil {
		if sb.Len() > 20 {
			sb.WriteString(" ")
		}
		sb.WriteString("data: ")
		sb.WriteString(x.Data.MarshalProtoText())
	}
	sb.WriteString("}")
	return sb.String()
}

func (x *DialStreamResponse) String() string {
	return x.MarshalProtoText()
}
func (m *ForwardStreamsRequest) UnmarshalVT(dAtA []byte) error {
	l := len(dAtA)
	iNdEx := 0
	for iNdEx < l {
		preIndex := iNdEx
		var wire uint64
		for shift := uint(0); ; shift += 7 {
			if shift >= 64 {
				return protobuf_go_lite.ErrIntOverflow
			}
			if iNdEx >= l {
				return io.ErrUnexpectedEOF
			}
			b := dAtA[iNdEx]
			iNdEx++
			wire |= uint64(b&0x7F) << shift
			if b < 0x80 {
				break
			}
		}
		fieldNum := int32(wire >> 3)
		wireType := int(wire & 0x7)
		if wireType == 4 {
			return fmt.Errorf("proto: ForwardStreamsRequest: wiretype end group for non-group")
		}
		if fieldNum <= 0 {
			return fmt.Errorf("proto: ForwardStreamsRequest: illegal tag %d (wire type %d)", fieldNum, wire)
		}
		switch fieldNum {
		case 1:
			if wireType != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field ForwardingConfig", wireType)
			}
			var msglen int
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return protobuf_go_lite.ErrIntOverflow
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				msglen |= int(b&0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			if msglen < 0 {
				return protobuf_go_lite.ErrInvalidLength
			}
			postIndex := iNdEx + msglen
			if postIndex < 0 {
				return protobuf_go_lite.ErrInvalidLength
			}
			if postIndex > l {
				return io.ErrUnexpectedEOF
			}
			if m.ForwardingConfig == nil {
				m.ForwardingConfig = &forwarding.Config{}
			}
			if err := m.ForwardingConfig.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil {
				return err
			}
			iNdEx = postIndex
		default:
			iNdEx = preIndex
			skippy, err := protobuf_go_lite.Skip(dAtA[iNdEx:])
			if err != nil {
				return err
			}
			if (skippy < 0) || (iNdEx+skippy) < 0 {
				return protobuf_go_lite.ErrInvalidLength
			}
			if (iNdEx + skippy) > l {
				return io.ErrUnexpectedEOF
			}
			m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...)
			iNdEx += skippy
		}
	}

	if iNdEx > l {
		return io.ErrUnexpectedEOF
	}
	return nil
}
func (m *ForwardStreamsResponse) UnmarshalVT(dAtA []byte) error {
	l := len(dAtA)
	iNdEx := 0
	for iNdEx < l {
		preIndex := iNdEx
		var wire uint64
		for shift := uint(0); ; shift += 7 {
			if shift >= 64 {
				return protobuf_go_lite.ErrIntOverflow
			}
			if iNdEx >= l {
				return io.ErrUnexpectedEOF
			}
			b := dAtA[iNdEx]
			iNdEx++
			wire |= uint64(b&0x7F) << shift
			if b < 0x80 {
				break
			}
		}
		fieldNum := int32(wire >> 3)
		wireType := int(wire & 0x7)
		if wireType == 4 {
			return fmt.Errorf("proto: ForwardStreamsResponse: wiretype end group for non-group")
		}
		if fieldNum <= 0 {
			return fmt.Errorf("proto: ForwardStreamsResponse: illegal tag %d (wire type %d)", fieldNum, wire)
		}
		switch fieldNum {
		case 1:
			if wireType != 0 {
				return fmt.Errorf("proto: wrong wireType = %d for field ControllerStatus", wireType)
			}
			m.ControllerStatus = 0
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return protobuf_go_lite.ErrIntOverflow
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				m.ControllerStatus |= exec.ControllerStatus(b&0x7F) << shift
				if b < 0x80 {
					break
				}
			}
		default:
			iNdEx = preIndex
			skippy, err := protobuf_go_lite.Skip(dAtA[iNdEx:])
			if err != nil {
				return err
			}
			if (skippy < 0) || (iNdEx+skippy) < 0 {
				return protobuf_go_lite.ErrInvalidLength
			}
			if (iNdEx + skippy) > l {
				return io.ErrUnexpectedEOF
			}
			m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...)
			iNdEx += skippy
		}
	}

	if iNdEx > l {
		return io.ErrUnexpectedEOF
	}
	return nil
}
func (m *ListenStreamsRequest) UnmarshalVT(dAtA []byte) error {
	l := len(dAtA)
	iNdEx := 0
	for iNdEx < l {
		preIndex := iNdEx
		var wire uint64
		for shift := uint(0); ; shift += 7 {
			if shift >= 64 {
				return protobuf_go_lite.ErrIntOverflow
			}
			if iNdEx >= l {
				return io.ErrUnexpectedEOF
			}
			b := dAtA[iNdEx]
			iNdEx++
			wire |= uint64(b&0x7F) << shift
			if b < 0x80 {
				break
			}
		}
		fieldNum := int32(wire >> 3)
		wireType := int(wire & 0x7)
		if wireType == 4 {
			return fmt.Errorf("proto: ListenStreamsRequest: wiretype end group for non-group")
		}
		if fieldNum <= 0 {
			return fmt.Errorf("proto: ListenStreamsRequest: illegal tag %d (wire type %d)", fieldNum, wire)
		}
		switch fieldNum {
		case 1:
			if wireType != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field ListeningConfig", wireType)
			}
			var msglen int
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return protobuf_go_lite.ErrIntOverflow
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				msglen |= int(b&0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			if msglen < 0 {
				return protobuf_go_lite.ErrInvalidLength
			}
			postIndex := iNdEx + msglen
			if postIndex < 0 {
				return protobuf_go_lite.ErrInvalidLength
			}
			if postIndex > l {
				return io.ErrUnexpectedEOF
			}
			if m.ListeningConfig == nil {
				m.ListeningConfig = &listening.Config{}
			}
			if err := m.ListeningConfig.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil {
				return err
			}
			iNdEx = postIndex
		default:
			iNdEx = preIndex
			skippy, err := protobuf_go_lite.Skip(dAtA[iNdEx:])
			if err != nil {
				return err
			}
			if (skippy < 0) || (iNdEx+skippy) < 0 {
				return protobuf_go_lite.ErrInvalidLength
			}
			if (iNdEx + skippy) > l {
				return io.ErrUnexpectedEOF
			}
			m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...)
			iNdEx += skippy
		}
	}

	if iNdEx > l {
		return io.ErrUnexpectedEOF
	}
	return nil
}
func (m *ListenStreamsResponse) UnmarshalVT(dAtA []byte) error {
	l := len(dAtA)
	iNdEx := 0
	for iNdEx < l {
		preIndex := iNdEx
		var wire uint64
		for shift := uint(0); ; shift += 7 {
			if shift >= 64 {
				return protobuf_go_lite.ErrIntOverflow
			}
			if iNdEx >= l {
				return io.ErrUnexpectedEOF
			}
			b := dAtA[iNdEx]
			iNdEx++
			wire |= uint64(b&0x7F) << shift
			if b < 0x80 {
				break
			}
		}
		fieldNum := int32(wire >> 3)
		wireType := int(wire & 0x7)
		if wireType == 4 {
			return fmt.Errorf("proto: ListenStreamsResponse: wiretype end group for non-group")
		}
		if fieldNum <= 0 {
			return fmt.Errorf("proto: ListenStreamsResponse: illegal tag %d (wire type %d)", fieldNum, wire)
		}
		switch fieldNum {
		case 1:
			if wireType != 0 {
				return fmt.Errorf("proto: wrong wireType = %d for field ControllerStatus", wireType)
			}
			m.ControllerStatus = 0
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return protobuf_go_lite.ErrIntOverflow
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				m.ControllerStatus |= exec.ControllerStatus(b&0x7F) << shift
				if b < 0x80 {
					break
				}
			}
		default:
			iNdEx = preIndex
			skippy, err := protobuf_go_lite.Skip(dAtA[iNdEx:])
			if err != nil {
				return err
			}
			if (skippy < 0) || (iNdEx+skippy) < 0 {
				return protobuf_go_lite.ErrInvalidLength
			}
			if (iNdEx + skippy) > l {
				return io.ErrUnexpectedEOF
			}
			m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...)
			iNdEx += skippy
		}
	}

	if iNdEx > l {
		return io.ErrUnexpectedEOF
	}
	return nil
}
func (m *AcceptStreamRequest) UnmarshalVT(dAtA []byte) error {
	l := len(dAtA)
	iNdEx := 0
	for iNdEx < l {
		preIndex := iNdEx
		var wire uint64
		for shift := uint(0); ; shift += 7 {
			if shift >= 64 {
				return protobuf_go_lite.ErrIntOverflow
			}
			if iNdEx >= l {
				return io.ErrUnexpectedEOF
			}
			b := dAtA[iNdEx]
			iNdEx++
			wire |= uint64(b&0x7F) << shift
			if b < 0x80 {
				break
			}
		}
		fieldNum := int32(wire >> 3)
		wireType := int(wire & 0x7)
		if wireType == 4 {
			return fmt.Errorf("proto: AcceptStreamRequest: wiretype end group for non-group")
		}
		if fieldNum <= 0 {
			return fmt.Errorf("proto: AcceptStreamRequest: illegal tag %d (wire type %d)", fieldNum, wire)
		}
		switch fieldNum {
		case 1:
			if wireType != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field Config", wireType)
			}
			var msglen int
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return protobuf_go_lite.ErrIntOverflow
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				msglen |= int(b&0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			if msglen < 0 {
				return protobuf_go_lite.ErrInvalidLength
			}
			postIndex := iNdEx + msglen
			if postIndex < 0 {
				return protobuf_go_lite.ErrInvalidLength
			}
			if postIndex > l {
				return io.ErrUnexpectedEOF
			}
			if m.Config == nil {
				m.Config = &accept.Config{}
			}
			if err := m.Config.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil {
				return err
			}
			iNdEx = postIndex
		case 2:
			if wireType != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field Data", wireType)
			}
			var msglen int
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return protobuf_go_lite.ErrIntOverflow
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				msglen |= int(b&0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			if msglen < 0 {
				return protobuf_go_lite.ErrInvalidLength
			}
			postIndex := iNdEx + msglen
			if postIndex < 0 {
				return protobuf_go_lite.ErrInvalidLength
			}
			if postIndex > l {
				return io.ErrUnexpectedEOF
			}
			if m.Data == nil {
				m.Data = &rpc.Data{}
			}
			if err := m.Data.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil {
				return err
			}
			iNdEx = postIndex
		default:
			iNdEx = preIndex
			skippy, err := protobuf_go_lite.Skip(dAtA[iNdEx:])
			if err != nil {
				return err
			}
			if (skippy < 0) || (iNdEx+skippy) < 0 {
				return protobuf_go_lite.ErrInvalidLength
			}
			if (iNdEx + skippy) > l {
				return io.ErrUnexpectedEOF
			}
			m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...)
			iNdEx += skippy
		}
	}

	if iNdEx > l {
		return io.ErrUnexpectedEOF
	}
	return nil
}
func (m *AcceptStreamResponse) UnmarshalVT(dAtA []byte) error {
	l := len(dAtA)
	iNdEx := 0
	for iNdEx < l {
		preIndex := iNdEx
		var wire uint64
		for shift := uint(0); ; shift += 7 {
			if shift >= 64 {
				return protobuf_go_lite.ErrIntOverflow
			}
			if iNdEx >= l {
				return io.ErrUnexpectedEOF
			}
			b := dAtA[iNdEx]
			iNdEx++
			wire |= uint64(b&0x7F) << shift
			if b < 0x80 {
				break
			}
		}
		fieldNum := int32(wire >> 3)
		wireType := int(wire & 0x7)
		if wireType == 4 {
			return fmt.Errorf("proto: AcceptStreamResponse: wiretype end group for non-group")
		}
		if fieldNum <= 0 {
			return fmt.Errorf("proto: AcceptStreamResponse: illegal tag %d (wire type %d)", fieldNum, wire)
		}
		switch fieldNum {
		case 1:
			if wireType != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field Data", wireType)
			}
			var msglen int
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return protobuf_go_lite.ErrIntOverflow
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				msglen |= int(b&0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			if msglen < 0 {
				return protobuf_go_lite.ErrInvalidLength
			}
			postIndex := iNdEx + msglen
			if postIndex < 0 {
				return protobuf_go_lite.ErrInvalidLength
			}
			if postIndex > l {
				return io.ErrUnexpectedEOF
			}
			if m.Data == nil {
				m.Data = &rpc.Data{}
			}
			if err := m.Data.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil {
				return err
			}
			iNdEx = postIndex
		default:
			iNdEx = preIndex
			skippy, err := protobuf_go_lite.Skip(dAtA[iNdEx:])
			if err != nil {
				return err
			}
			if (skippy < 0) || (iNdEx+skippy) < 0 {
				return protobuf_go_lite.ErrInvalidLength
			}
			if (iNdEx + skippy) > l {
				return io.ErrUnexpectedEOF
			}
			m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...)
			iNdEx += skippy
		}
	}

	if iNdEx > l {
		return io.ErrUnexpectedEOF
	}
	return nil
}
func (m *DialStreamRequest) UnmarshalVT(dAtA []byte) error {
	l := len(dAtA)
	iNdEx := 0
	for iNdEx < l {
		preIndex := iNdEx
		var wire uint64
		for shift := uint(0); ; shift += 7 {
			if shift >= 64 {
				return protobuf_go_lite.ErrIntOverflow
			}
			if iNdEx >= l {
				return io.ErrUnexpectedEOF
			}
			b := dAtA[iNdEx]
			iNdEx++
			wire |= uint64(b&0x7F) << shift
			if b < 0x80 {
				break
			}
		}
		fieldNum := int32(wire >> 3)
		wireType := int(wire & 0x7)
		if wireType == 4 {
			return fmt.Errorf("proto: DialStreamRequest: wiretype end group for non-group")
		}
		if fieldNum <= 0 {
			return fmt.Errorf("proto: DialStreamRequest: illegal tag %d (wire type %d)", fieldNum, wire)
		}
		switch fieldNum {
		case 1:
			if wireType != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field Config", wireType)
			}
			var msglen int
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return protobuf_go_lite.ErrIntOverflow
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				msglen |= int(b&0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			if msglen < 0 {
				return protobuf_go_lite.ErrInvalidLength
			}
			postIndex := iNdEx + msglen
			if postIndex < 0 {
				return protobuf_go_lite.ErrInvalidLength
			}
			if postIndex > l {
				return io.ErrUnexpectedEOF
			}
			if m.Config == nil {
				m.Config = &dial.Config{}
			}
			if err := m.Config.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil {
				return err
			}
			iNdEx = postIndex
		case 2:
			if wireType != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field Data", wireType)
			}
			var msglen int
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return protobuf_go_lite.ErrIntOverflow
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				msglen |= int(b&0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			if msglen < 0 {
				return protobuf_go_lite.ErrInvalidLength
			}
			postIndex := iNdEx + msglen
			if postIndex < 0 {
				return protobuf_go_lite.ErrInvalidLength
			}
			if postIndex > l {
				return io.ErrUnexpectedEOF
			}
			if m.Data == nil {
				m.Data = &rpc.Data{}
			}
			if err := m.Data.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil {
				return err
			}
			iNdEx = postIndex
		default:
			iNdEx = preIndex
			skippy, err := protobuf_go_lite.Skip(dAtA[iNdEx:])
			if err != nil {
				return err
			}
			if (skippy < 0) || (iNdEx+skippy) < 0 {
				return protobuf_go_lite.ErrInvalidLength
			}
			if (iNdEx + skippy) > l {
				return io.ErrUnexpectedEOF
			}
			m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...)
			iNdEx += skippy
		}
	}

	if iNdEx > l {
		return io.ErrUnexpectedEOF
	}
	return nil
}
func (m *DialStreamResponse) UnmarshalVT(dAtA []byte) error {
	l := len(dAtA)
	iNdEx := 0
	for iNdEx < l {
		preIndex := iNdEx
		var wire uint64
		for shift := uint(0); ; shift += 7 {
			if shift >= 64 {
				return protobuf_go_lite.ErrIntOverflow
			}
			if iNdEx >= l {
				return io.ErrUnexpectedEOF
			}
			b := dAtA[iNdEx]
			iNdEx++
			wire |= uint64(b&0x7F) << shift
			if b < 0x80 {
				break
			}
		}
		fieldNum := int32(wire >> 3)
		wireType := int(wire & 0x7)
		if wireType == 4 {
			return fmt.Errorf("proto: DialStreamResponse: wiretype end group for non-group")
		}
		if fieldNum <= 0 {
			return fmt.Errorf("proto: DialStreamResponse: illegal tag %d (wire type %d)", fieldNum, wire)
		}
		switch fieldNum {
		case 1:
			if wireType != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field Data", wireType)
			}
			var msglen int
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return protobuf_go_lite.ErrIntOverflow
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				msglen |= int(b&0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			if msglen < 0 {
				return protobuf_go_lite.ErrInvalidLength
			}
			postIndex := iNdEx + msglen
			if postIndex < 0 {
				return protobuf_go_lite.ErrInvalidLength
			}
			if postIndex > l {
				return io.ErrUnexpectedEOF
			}
			if m.Data == nil {
				m.Data = &rpc.Data{}
			}
			if err := m.Data.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil {
				return err
			}
			iNdEx = postIndex
		default:
			iNdEx = preIndex
			skippy, err := protobuf_go_lite.Skip(dAtA[iNdEx:])
			if err != nil {
				return err
			}
			if (skippy < 0) || (iNdEx+skippy) < 0 {
				return protobuf_go_lite.ErrInvalidLength
			}
			if (iNdEx + skippy) > l {
				return io.ErrUnexpectedEOF
			}
			m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...)
			iNdEx += skippy
		}
	}

	if iNdEx > l {
		return io.ErrUnexpectedEOF
	}
	return nil
}
