func (i *IE) SubsequentTimeThreshold() (uint32, error) {
	if len(i.Payload) < 4 {
		return 0, io.ErrUnexpectedEOF
	}
	switch i.Type {
	case SubsequentTimeThreshold:
		return binary.BigEndian.Uint32(i.Payload[0:4]), nil
	case CreateURR:
		ies, err := i.CreateURR()
		if err != nil {
			return 0, err
		}
		for _, x := range ies {
			if x.Type == SubsequentTimeThreshold {
				return x.SubsequentTimeThreshold()
			}
		}
		return 0, ErrIENotFound
	case UpdateURR:
		ies, err := i.UpdateURR()
		if err != nil {
			return 0, err
		}
		for _, x := range ies {
			if x.Type == SubsequentTimeThreshold {
				return x.SubsequentTimeThreshold()
			}
		}
		return 0, ErrIENotFound
	case AdditionalMonitoringTime:
		ies, err := i.AdditionalMonitoringTime()
		if err != nil {
			return 0, err
		}
		for _, x := range ies {
			if x.Type == SubsequentTimeThreshold {
				return x.SubsequentTimeThreshold()
			}
		}
		return 0, ErrIENotFound
	default:
		return 0, &InvalidTypeError{Type: i.Type}
	}
}
SubsequentTimeThreshold returns SubsequentTimeThreshold in uint32 if the type of IE matches.
package ie
import (
	"encoding/binary"
	"io"
)
func NewSubsequentTimeThreshold(threshold uint32) *IE {
	return newUint32ValIE(SubsequentTimeThreshold, threshold)
}