iaa

package
v0.0.0-...-9bd9f91 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 5, 2024 License: BSD-3-Clause Imports: 8 Imported by: 0

Documentation

Overview

Package iaa provides utils for using IAA abilities.

Index

Constants

View Source
const (
	// StatsMode.
	CompressionFlagStatsMode CompressionFlag = 1
	// A partial output word is written to the output stream. If it would overflow the output buffer, it
	// is saved in the AECS, so that the job can be completed by a subsequent descriptor. This value
	// should be used for a Decompress descriptor that is the last (or only) descriptor in a job. For filter
	// operations, output flushing is automatic and this flag is ignored.
	CompressionFlagFlushOutput = 1 << 1
	// End append EOB.
	CompressionFlagEndAppendEOB = 1 << 2
	// End append EOB non-B-final.
	CompressionFlagEndAppendEOBNonBFinal = 2 << 2
	// End append EOB and B-final.
	CompressionFlagEndAppendEOBAndBFinal = 3 << 2
	// Generate all literals.
	CompressionFlagGenerateAllLiterals = 1 << 4
	// Set compress using big endian
	CompressionFlagCompressBigEndian = 1 << 5
)

Compression flags.

Variables

This section is empty.

Functions

func DeviceReady

func DeviceReady() bool

DeviceReady checks if the device is ready

func LoadContext

func LoadContext() *device.Context

LoadContext load iaa context

Types

type CRC64CompletionRecord

type CRC64CompletionRecord struct {
	Header       device.CompletionRecordHeader // The completion record header.
	FaultAddress uint64                        // The fault address for the completion record.
	InvalidFlags uint32                        // The invalid flags for the completion record.

	CRC64 uint64 // The CRC result for the completion record.
	// contains filtered or unexported fields
}

CRC64CompletionRecord represents an IAA CRC64 completion record.

func (*CRC64CompletionRecord) CheckError

func (c *CRC64CompletionRecord) CheckError() error

CheckError checks if error happened.

func (*CRC64CompletionRecord) GetHeader

func (c *CRC64CompletionRecord) GetHeader() (crh CompletionRecordHeader)

GetHeader returns the completion record header.

func (*CRC64CompletionRecord) String

func (c *CRC64CompletionRecord) String() string

String returns a string representation of the CRC64 completion record.

type CRC64Descriptor

type CRC64Descriptor struct {
	Header         uint32  `bf:"pasid 20;reversed 11;priv 1"` // The descriptor header.
	FlagsAndOpCode uint32  `bf:"flags 24;opcode 8"`           // The descriptor flags and opcode.
	CompletionAddr uintptr // The completion address for the descriptor.
	Src1Addr       uintptr // The source address for the descriptor.

	Size      uint32  // The size of the descriptor.
	IntHandle uint16  // The interrupt handle for the descriptor.
	CRCFlag   CRCFlag // The CRC flag for the descriptor.

	CRCPolynomial uint64 // The CRC polynomial for the descriptor.
	// contains filtered or unexported fields
}

CRC64Descriptor represents an Intel(R) Ethernet CRC64 descriptor.

func (*CRC64Descriptor) AddCRCFlag

func (d *CRC64Descriptor) AddCRCFlag(c CRCFlag)

AddCRCFlag adds a CRC flag to the descriptor.

func (*CRC64Descriptor) GetCRCFlag

func (d *CRC64Descriptor) GetCRCFlag() CRCFlag

GetCRCFlag returns the CRC flag for the descriptor.

func (*CRC64Descriptor) SetCRCFlag

func (d *CRC64Descriptor) SetCRCFlag(c CRCFlag)

SetCRCFlag sets the CRC flag for the descriptor.

func (*CRC64Descriptor) SetCompleteRecord

func (d *CRC64Descriptor) SetCompleteRecord(cr uintptr)

SetCompleteRecord sets the completion address for the descriptor.

func (*CRC64Descriptor) SetFlags

func (d *CRC64Descriptor) SetFlags(value DescriptorFlag)

SetFlags sets the flags value for the descriptor.

func (*CRC64Descriptor) SetOpcode

func (d *CRC64Descriptor) SetOpcode(value Opcode)

SetOpcode sets the opcode value for the descriptor.

func (*CRC64Descriptor) SetPoly

func (d *CRC64Descriptor) SetPoly(poly uint64)

SetPoly sets the CRC polynomial value for the descriptor.

func (*CRC64Descriptor) SetSourceData

func (d *CRC64Descriptor) SetSourceData(data []byte)

SetSourceData sets the source data for the descriptor.

type CRCFlag

type CRCFlag uint16

CRCFlag is an enumeration type for CRC flags.

const (
	// CRCMostSignificant Indicates using the most significant bit for CRC calculation.
	CRCMostSignificant CRCFlag = 1 << 15
	// InvertCRC Indicates inverting the CRC result.
	InvertCRC CRCFlag = 1 << 14
)

type CompletionRecord

type CompletionRecord struct {
	Header       device.CompletionRecordHeader
	FaultAddress uint64
	InvalidFlags uint32

	OutputSize uint32
	OutputBits uint8

	XORCheckSum          uint16
	CRC                  uint32
	MinOrFirst           uint32
	MaxOrLast            uint32
	SumOrPopulationCount uint32
	// contains filtered or unexported fields
}

CompletionRecord is a representation of a completion record.

func NewCompletionRecord

func NewCompletionRecord() *CompletionRecord

NewCompletionRecord returns a new CompletionRecord.

func (*CompletionRecord) CheckError

func (c *CompletionRecord) CheckError() error

CheckError checks if error happened.

func (*CompletionRecord) GetHeader

func (c *CompletionRecord) GetHeader() (crh CompletionRecordHeader)

GetHeader returns the CompletionRecordHeader.

func (*CompletionRecord) Reset

func (c *CompletionRecord) Reset()

Reset resets the CompletionRecord.

func (*CompletionRecord) String

func (c *CompletionRecord) String() string

String returns a string representation of the CompletionRecord.

type CompletionRecordHeader

type CompletionRecordHeader struct {
	StatusCode
	StatusReadFault bool
	ErrorCode       ErrorCode
	Completed       uint32
}

CompletionRecordHeader is the header of a CompletionRecord.

func (CompletionRecordHeader) String

func (crh CompletionRecordHeader) String() string

String returns a string representation of the CompletionRecordHeader.

type CompressAECS

type CompressAECS struct {
	CRC         uint32 // CRC
	XORChecksum uint16 // XOR checksum

	NumAccBitsValid       uint32
	OutputAccumulatorData [256]byte // output accumulator data
	Histogram             Histogram // Histogram
	// contains filtered or unexported fields
}

CompressAECS is AECS for compression operation

func (*CompressAECS) Reset

func (c *CompressAECS) Reset()

Reset resets the values of CompressAECS to their zero values.

func (*CompressAECS) ResetKeepHistogram

func (c *CompressAECS) ResetKeepHistogram()

ResetKeepHistogram resets the values of CompressAECS to their zero values but keep the histogram.

type CompressionFlag

type CompressionFlag uint16

CompressionFlag is used to specify options for compression.

func (CompressionFlag) Indexing

Indexing sets the indexing type.

type DecompressAECS

type DecompressAECS struct {
	FilterAECS

	// The IAA output accumulator is 8 bytes in size
	OutputAccumulatorData [8]byte
	// Number of valid data bits in output accumulator max 63
	OutputBitsValid uint8

	// Total number of consumed bits on input.
	BitOffsetForIndexing uint32
	// The IAA input accumulator is 256 bytes in size.
	InputAccumulatorData [256]byte
	// The number of bytes valid in the corresponding Quadword in the Input
	// Accumulator. Valid values are 0 to 64
	SizeQWs [32]uint8
	// contains filtered or unexported fields
}

DecompressAECS is AECS for decompression operation

type DecompressionFlag

type DecompressionFlag uint16

DecompressionFlag is used to specify options for decompression.

const (
	// DecompressionFlagEnableDecompression is used to Enable Decompression.
	// If Operation is Decompress, this flag must be set.
	DecompressionFlagEnableDecompression DecompressionFlag = 1 << iota
	// A partial output word is written to the output stream. If it would overflow the output buffer, it
	// is saved in the AECS, so that the job can be completed by a subsequent descriptor. This value
	// should be used for a Decompress descriptor that is the last (or only) descriptor in a job. For filter
	// operations, output flushing is automatic and this flag is ignored.
	DecompressionFlagFlushOutput
	// Stop decompression when an EOB code is encountered.
	DecompressionFlagStopOnEOB
	// Check for an EOB code and stop decompression if it is encountered.
	DecompressionFlagCheckForEOB
	// Selects the B-final EOB code.
	DecompressionFlagSelectBFinalEOB
	// Decompress big endian.
	DecompressionFlagBigEndian
	// Ignore end bits.
	DecompressionFlagIgnoreEndBits
	// Suppress output.
	DecompressionFlagSupressOutput
)

Decompression flags.

func (DecompressionFlag) Indexing

Indexing sets the indexing type.

func (DecompressionFlag) String

func (d DecompressionFlag) String() string

String returns a string representation of the decompression flags.

type Descriptor

type Descriptor struct {
	Header         uint32  // A header field that contains the pasid, reversed and priv flags
	FlagsAndOpCode uint32  // A field that contains the flags and opcode
	CompletionAddr uintptr // The completion address
	Src1Addr       uintptr // The source 1 address
	DestAddr       uintptr // The destination address
	Size           uint32  // The size of the descriptor
	IntHandle      uint16  // The interrupt handle

	Src2Addr            uintptr     // The source 2 address
	MaxDestionationSize uint32      // The maximum size of the destination
	Src2Size            uint32      // The source 2 size
	FilterFlags         FilterFlags // Filter flags
	ElementsNumber      uint32      // The number of elements
	// contains filtered or unexported fields
}

Descriptor represents a descriptor for IAA engine.

func NewDescriptor

func NewDescriptor() *Descriptor

NewDescriptor returns a new descriptor.

func (*Descriptor) AddCompressionFlag

func (d *Descriptor) AddCompressionFlag(c CompressionFlag)

AddCompressionFlag adds the compression flag.

func (*Descriptor) GetCompressionFlag

func (d *Descriptor) GetCompressionFlag() CompressionFlag

GetCompressionFlag returns the compression flag.

func (*Descriptor) GetDecompressionFlag

func (d *Descriptor) GetDecompressionFlag() DecompressionFlag

GetDecompressionFlag returns the decompression flag.

func (*Descriptor) GetFlags

func (d *Descriptor) GetFlags() DescriptorFlag

GetFlags returns the descriptor flags.

func (*Descriptor) GetOpcode

func (d *Descriptor) GetOpcode() Opcode

GetOpcode returns the opcode.

func (*Descriptor) Reset

func (d *Descriptor) Reset()

Reset resets the descriptor

func (*Descriptor) SetCompleteRecord

func (d *Descriptor) SetCompleteRecord(cr uintptr)

SetCompleteRecord sets the completion record.

func (*Descriptor) SetCompressionFlag

func (d *Descriptor) SetCompressionFlag(c CompressionFlag)

SetCompressionFlag sets the compression flag.

func (*Descriptor) SetDecompressionFlag

func (d *Descriptor) SetDecompressionFlag(c DecompressionFlag)

SetDecompressionFlag sets the decompression flag.

func (*Descriptor) SetFlag

func (d *Descriptor) SetFlag(value DescriptorFlag)

SetFlag sets the descriptor flag.

func (*Descriptor) SetFlags

func (d *Descriptor) SetFlags(value DescriptorFlag)

SetFlags sets the descriptor flags.

func (*Descriptor) SetOpcode

func (d *Descriptor) SetOpcode(value Opcode)

SetOpcode sets the opcode.

func (*Descriptor) String

func (d *Descriptor) String() string

String returns a string representation of the descriptor.

type DescriptorFlag

type DescriptorFlag uint32

DescriptorFlag represents a descriptor flag.

const (

	// FlagBlockOnFault specifies whether the device waits for page faults to be resolved and then continues the operation.
	FlagBlockOnFault DescriptorFlag
	// FlagCompletionRecordValid specifies whether the descriptor completion record is valid.
	FlagCompletionRecordValid
	// FlagRequestCompletionRecord specifies whether the descriptor requests a completion record.
	FlagRequestCompletionRecord
	// FlagRequestCompletionInterrupt specifies whether the descriptor requests a completion interrupt.
	FlagRequestCompletionInterrupt
	// FlagCompletionRecordSteeringTagSelector is for Optane.
	FlagCompletionRecordSteeringTagSelector

	// FlagCacheControl specifies whether to hint to direct data writes to CPU cache
	FlagCacheControl

	// FlagStrictOrdering specifies whether to force strict ordering of all memory writes.
	FlagStrictOrdering

	// FlagReadSource2Aecs specifies whether the Source 2 is read as AECS
	FlagReadSource2Aecs
	// FlagReadSource2SecondaryInputToFilterFunction specifies
	// whether the Source 2 is read as secondary input to filter function
	FlagReadSource2SecondaryInputToFilterFunction
	// FlagWriteSource2CompletionOfOperation specifies whether the engine writes source 2 at completion of operation.
	FlagWriteSource2CompletionOfOperation
	// FlagWriteSource2OnlyIfOutputOverflow specifies whether the engine writes source 2 only if output overflow occurs.
	FlagWriteSource2OnlyIfOutputOverflow

	// FlagCRCSelectRFC3720 specifies whether the CRC job is RFC 3720 CRC.
	FlagCRCSelectRFC3720
	// FlagAecsRWToggleSelector specifies whether the engine's reads are done from (A+S) and writes are done to (A)
	FlagAecsRWToggleSelector
)

func (DescriptorFlag) String

func (d DescriptorFlag) String() string

type ErrorCode

type ErrorCode uint8

ErrorCode is an error code.

const (
	// ErrorCodeHeaderTooLarge is a header too large error code.
	ErrorCodeHeaderTooLarge ErrorCode = 1 + iota
	// ErrorCodeUndefinedClCode is an undefined CL code error code.
	ErrorCodeUndefinedClCode
	// ErrorCodeFirstCodeInLlTreeIs16 is a first code in LL tree is 16 error code.
	ErrorCodeFirstCodeInLlTreeIs16
	// ErrorCodeFirstCodeInDTreeIs16 is a first code in D tree is 16 error code.
	ErrorCodeFirstCodeInDTreeIs16
	// ErrorCodeNoValidLlCode is a no valid LL code error code.
	ErrorCodeNoValidLlCode
	// ErrorCodeWrongNumberOfLlCodes is a wrong number of LL codes error code.
	ErrorCodeWrongNumberOfLlCodes
	// ErrorCodeWrongNumberOfDistCodes is a wrong number of dist codes error code.
	ErrorCodeWrongNumberOfDistCodes
	// ErrorCodeBadClCodeLengths is a bad CL code lengths error code.
	ErrorCodeBadClCodeLengths
	// ErrorCodeBadLlCodeLengths is a bad LL code lengths error code.
	ErrorCodeBadLlCodeLengths
	// ErrorCodeBadDistCodeLengths is a bad dist code lengths error code.
	ErrorCodeBadDistCodeLengths
	// ErrorCodeBadLlCodes is a bad LL codes error code.
	ErrorCodeBadLlCodes
	// ErrorCodeBadDCode is a bad D code error code.
	ErrorCodeBadDCode
	// ErrorCodeInvalidBlockType is an invalid block type error code.
	ErrorCodeInvalidBlockType
	// ErrorCodeInvalidStoredLength is an invalid stored length error code.
	ErrorCodeInvalidStoredLength
	// ErrorCodeBadEndOfFile is a bad end of file error code.
	ErrorCodeBadEndOfFile
	// ErrorCodeBadLengthDecode is a bad length decode error code.
	ErrorCodeBadLengthDecode
	// ErrorCodeBadDistanceDecode is a bad distance decode error code.
	ErrorCodeBadDistanceDecode
	// ErrorCodeDistanceBeforeStartOfFile is a distance before start of file error code.
	ErrorCodeDistanceBeforeStartOfFile
	// ErrorCodeTimeout is a timeout error code.
	ErrorCodeTimeout
	// ErrorCodePrleFormatError is a PRLE format error code.
	ErrorCodePrleFormatError
	// ErrorCodeFilterFunctionWordOverflow is a filter function word overflow error code.
	ErrorCodeFilterFunctionWordOverflow
	// ErrorCodeAecsError is an AECS error code.
	ErrorCodeAecsError
	// ErrorCodeSource1TooSmall is a source1 too small error code.
	ErrorCodeSource1TooSmall
	// ErrorCodeSource2TooSmall is a source2 too small error code.
	ErrorCodeSource2TooSmall
	// ErrorCodeUnrecoverableOutputOverflow is an unrecoverable output overflow error code.
	ErrorCodeUnrecoverableOutputOverflow
	// ErrorCodeDistanceSpansMiniBlocks is a distance spans mini blocks error code.
	ErrorCodeDistanceSpansMiniBlocks
	// ErrorCodeLengthSpansMiniBlocks is a length spans mini blocks error code.
	ErrorCodeLengthSpansMiniBlocks
	// ErrorCodeInvalidBlockSize is an invalid block size error code.
	ErrorCodeInvalidBlockSize
	// ErrorCodeZcompressVerifyFailure is a ZCompress verify failure error code.
	ErrorCodeZcompressVerifyFailure
	// ErrorCodeInvalidHuffmanCode is an invalid Huffman code error code.
	ErrorCodeInvalidHuffmanCode
	// ErrorCodePrleBitWidthTooLarge is a PRLE bit width too large error code.
	ErrorCodePrleBitWidthTooLarge
	// ErrorCodeTooFewElementsProcessed is a too few elements processed error code.
	ErrorCodeTooFewElementsProcessed
	// ErrorCodeInvalidRleCount is an invalid RLE count error code.
	ErrorCodeInvalidRleCount
	// ErrorCodeInvalidZDecompressHeader is an invalid ZDecompress header error code.
	ErrorCodeInvalidZDecompressHeader
	// ErrorCodeTooManyLlCodes is a too many LL codes error code.
	ErrorCodeTooManyLlCodes
	// ErrorCodeTooManyDCodes is a too many D codes error code.
	ErrorCodeTooManyDCodes
	// ErrorCodeAdministrativeTimeout is an administrative timeout error code.
	ErrorCodeAdministrativeTimeout
)

func (ErrorCode) String

func (e ErrorCode) String() string

String returns a string representation of the ErrorCode.

type FilterAECS

type FilterAECS struct {
	// On input this field contains the CRC seed. On output it is the CRC value.
	CRC uint32
	// Initial (on input) or final (on output) XOR Checksum value
	XORCheckSum uint16

	LowFilterParameter  uint32
	HighFilterParameter uint32

	// Base index associated with first output bit. When the output is a bit-vector
	// that is being modified, this value offsets the indices written to the output
	// and the values aggregated
	OutputModifierIndex uint32
	// The number of initial bytes in the decompressed output that should be
	// dropped before starting the filter operation.
	DropInitialDecompressOutBytes uint16
	// contains filtered or unexported fields
}

FilterAECS is AECS for filter operation

func (*FilterAECS) Reset

func (s *FilterAECS) Reset()

Reset resets the values of FilterAECS to their zero values.

type FilterFlags

type FilterFlags uint32

FilterFlags represents a collection of filter operation flags.

const (
	// FilterFlagSource1BigEndian indicates whether source 1 is big-endian.
	FilterFlagSource1BigEndian FilterFlags = 1
	// FilterFlagSource1ParquetRLE indicates whether source 1 is Parquet RLE encoded.
	FilterFlagSource1ParquetRLE FilterFlags = 1 << 1
	// FilterFlagSource2BigEndian indicates whether source 2 is big-endian.
	FilterFlagSource2BigEndian FilterFlags = 1 << 12
	// FilterFlagOutputWithByte indicates output with byte.
	FilterFlagOutputWithByte FilterFlags = 1 << 13
	// FilterFlagOutputWithWord indicates output with word.
	FilterFlagOutputWithWord FilterFlags = 2 << 13
	// FilterFlagOutputWithDword indicates output with dword.
	FilterFlagOutputWithDword FilterFlags = 3 << 13
	// FilterFlagOutputBigEndian indicates output is big-endian.
	FilterFlagOutputBigEndian FilterFlags = 1 << 15
	// FilterFlagInvertOutput indicates whether to invert output.
	FilterFlagInvertOutput FilterFlags = 1 << 16
)

func (*FilterFlags) SetDropHighBits

func (f *FilterFlags) SetDropHighBits(width uint8)

SetDropHighBits sets the number of high bits to be dropped from the output. If the number of bits is greater than 32, it cannot be handled.

func (*FilterFlags) SetDropLowBits

func (f *FilterFlags) SetDropLowBits(width uint8)

SetDropLowBits sets the number of low bits to be dropped from the output. If the number of bits is greater than 32, it cannot be handled.

func (*FilterFlags) SetSource1Width

func (f *FilterFlags) SetSource1Width(width uint8)

SetSource1Width sets the width of source 1 in bits. If the width is greater than 32, it cannot be handled.

func (*FilterFlags) SetSource2Width

func (f *FilterFlags) SetSource2Width(width uint8)

SetSource2Width sets the width of source 2 in bits. If the width is greater than 32, it cannot be handled.

type Histogram

type Histogram struct {
	LiteralCodes [286]int32 // Literal Codes

	DistanceCodes [30]int32 // Distance Codes
	// contains filtered or unexported fields
}

Histogram is a struct that contains the Huffman tables for compression.

type IndexingType

type IndexingType uint8

IndexingType is used to specify the indexing type.

const (
	// Disable indexing.
	DisableIndexing IndexingType = iota
	// Enable indexing (512 bytes).
	EnableIndexing512
	// Enable indexing (1 Kb).
	EnableIndexing1Kb
	// Enable indexing (2 Kb).
	EnableIndexing2Kb
	// Enable indexing (4 Kb).
	EnableIndexing4Kb
	// Enable indexing (8 Kb).
	EnableIndexing8Kb
	// Enable indexing (16 Kb).
	EnableIndexing16Kb
	// Enable indexing (32 Kb).
	EnableIndexing32Kb
)

Indexing types.

type Opcode

type Opcode uint8

Opcode specifies the operation to be executed

const (
	Noop         Opcode = 0x00 // Noop specifies No operation.
	OpDrain      Opcode = 0x02 // OpDrain specifies Drain operation.
	OpDecompress Opcode = 0x42 // OpDecompress specifies Decompress operation
	OpCompress   Opcode = 0x43 // OpCompress specifies Compress operation
	OpCRC64      Opcode = 0x44 // OpCRC64 specifies Calculate CRC64 checksum operation
	OpScan       Opcode = 0x50 // OpScan specifies Scan operation
	OpExtract    Opcode = 0x52 // OpExtract specifies Extract operation
	OpSelect     Opcode = 0x53 // OpSelect specifies Select operation
	OpExpand     Opcode = 0x56 // OpExpand specifies Expand operation
)

type StatusCode

type StatusCode uint8

StatusCode is a status code.

const (
	// Uncompelete indicates the operation is not completed.
	Uncompelete StatusCode = 0x00
	// Success indicates the operation is success.
	Success StatusCode = 0x01
	// AnalyticsError is an analytics error status code.
	AnalyticsError StatusCode = 0x0a
	// OutputBufferOverflow is an output buffer overflow status code.
	OutputBufferOverflow StatusCode = 0x0b
	// InvalidFlags is an invalid flags status code.
	InvalidFlags StatusCode = 0x11
	// NonZeroReservedField is a non-zero reserved field status code.
	NonZeroReservedField StatusCode = 0x12
	// InvalidSizeValue is an invalid size value status code.
	InvalidSizeValue StatusCode = 0x13
	// CompletionRecordAddressNotAligned is a completion record address not aligned status code.
	CompletionRecordAddressNotAligned StatusCode = 0x1b
	// AecsMisalignedAddress is an AECS misaligned address status code.
	AecsMisalignedAddress StatusCode = 0x1c
	// PageRequestTimeout is a page request timeout status code.
	PageRequestTimeout StatusCode = 0x23
	// WatchdogExpired is a watchdog expired status code.
	WatchdogExpired StatusCode = 0x24
	// InvalidOpFlags is an invalid operation flags status code.
	InvalidOpFlags StatusCode = 0x30
	// InvalidFilterFlags is an invalid filter flags status code.
	InvalidFilterFlags StatusCode = 0x31
	// InvalidInputSize is an invalid input size status code.
	InvalidInputSize StatusCode = 0x32
	// InvalidNumberOfElements is an invalid number of elements status code.
	InvalidNumberOfElements StatusCode = 0x33
	// InvalidSource1Width is an invalid source1 width status code.
	InvalidSource1Width StatusCode = 0x34
	// InvalidInvertOutput is an invalid invert output status code.
	InvalidInvertOutput StatusCode = 0x35
)

func (StatusCode) String

func (c StatusCode) String() string

String returns a string representation of the StatusCode.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL