Documentation ¶
Overview ¶
Package primitive defines marshal.Marshallable implementations for primitive types.
Index ¶
- func AllocateInt16(x int16) marshal.Marshallable
- func AllocateInt32(x int32) marshal.Marshallable
- func AllocateInt64(x int64) marshal.Marshallable
- func AllocateInt8(x int8) marshal.Marshallable
- func AllocateUint16(x uint16) marshal.Marshallable
- func AllocateUint32(x uint32) marshal.Marshallable
- func AllocateUint64(x uint64) marshal.Marshallable
- func AllocateUint8(x uint8) marshal.Marshallable
- func AsByteSlice(b []byte) marshal.Marshallable
- func CopyByteSliceIn(cc marshal.CopyContext, addr hostarch.Addr, dst *[]byte) (int, error)
- func CopyByteSliceOut(cc marshal.CopyContext, addr hostarch.Addr, src []byte) (int, error)
- func CopyInt16In(cc marshal.CopyContext, addr hostarch.Addr, dst *int16) (int, error)
- func CopyInt16Out(cc marshal.CopyContext, addr hostarch.Addr, src int16) (int, error)
- func CopyInt32In(cc marshal.CopyContext, addr hostarch.Addr, dst *int32) (int, error)
- func CopyInt32Out(cc marshal.CopyContext, addr hostarch.Addr, src int32) (int, error)
- func CopyInt64In(cc marshal.CopyContext, addr hostarch.Addr, dst *int64) (int, error)
- func CopyInt64Out(cc marshal.CopyContext, addr hostarch.Addr, src int64) (int, error)
- func CopyInt8In(cc marshal.CopyContext, addr hostarch.Addr, dst *int8) (int, error)
- func CopyInt8Out(cc marshal.CopyContext, addr hostarch.Addr, src int8) (int, error)
- func CopyStringIn(cc marshal.CopyContext, addr hostarch.Addr, dst *string) (int, error)
- func CopyStringOut(cc marshal.CopyContext, addr hostarch.Addr, src string) (int, error)
- func CopyUint16In(cc marshal.CopyContext, addr hostarch.Addr, dst *uint16) (int, error)
- func CopyUint16Out(cc marshal.CopyContext, addr hostarch.Addr, src uint16) (int, error)
- func CopyUint32In(cc marshal.CopyContext, addr hostarch.Addr, dst *uint32) (int, error)
- func CopyUint32Out(cc marshal.CopyContext, addr hostarch.Addr, src uint32) (int, error)
- func CopyUint64In(cc marshal.CopyContext, addr hostarch.Addr, dst *uint64) (int, error)
- func CopyUint64Out(cc marshal.CopyContext, addr hostarch.Addr, src uint64) (int, error)
- func CopyUint8In(cc marshal.CopyContext, addr hostarch.Addr, dst *uint8) (int, error)
- func CopyUint8Out(cc marshal.CopyContext, addr hostarch.Addr, src uint8) (int, error)
- type ByteSlice
- func (b *ByteSlice) CopyIn(cc marshal.CopyContext, addr hostarch.Addr) (int, error)
- func (b *ByteSlice) CopyOut(cc marshal.CopyContext, addr hostarch.Addr) (int, error)
- func (b *ByteSlice) CopyOutN(cc marshal.CopyContext, addr hostarch.Addr, limit int) (int, error)
- func (b *ByteSlice) MarshalBytes(dst []byte) []byte
- func (b *ByteSlice) MarshalUnsafe(dst []byte) []byte
- func (b *ByteSlice) Packed() bool
- func (b *ByteSlice) SizeBytes() int
- func (b *ByteSlice) UnmarshalBytes(src []byte) []byte
- func (b *ByteSlice) UnmarshalUnsafe(src []byte) []byte
- func (b *ByteSlice) WriteTo(w io.Writer) (int64, error)
- type Int16
- type Int32
- type Int64
- type Int8
- type Uint16
- type Uint32
- type Uint64
- type Uint8
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func AllocateInt16 ¶
func AllocateInt16(x int16) marshal.Marshallable
AllocateInt16 returns x as a marshallable.
func AllocateInt32 ¶
func AllocateInt32(x int32) marshal.Marshallable
AllocateInt32 returns x as a marshallable.
func AllocateInt64 ¶
func AllocateInt64(x int64) marshal.Marshallable
AllocateInt64 returns x as a marshallable.
func AllocateInt8 ¶
func AllocateInt8(x int8) marshal.Marshallable
AllocateInt8 returns x as a marshallable.
func AllocateUint16 ¶
func AllocateUint16(x uint16) marshal.Marshallable
AllocateUint16 returns x as a marshallable.
func AllocateUint32 ¶
func AllocateUint32(x uint32) marshal.Marshallable
AllocateUint32 returns x as a marshallable.
func AllocateUint64 ¶
func AllocateUint64(x uint64) marshal.Marshallable
AllocateUint64 returns x as a marshallable.
func AllocateUint8 ¶
func AllocateUint8(x uint8) marshal.Marshallable
AllocateUint8 returns x as a marshallable.
func AsByteSlice ¶
func AsByteSlice(b []byte) marshal.Marshallable
AsByteSlice returns b as a marshallable. Note that this allocates a new slice header, but does not copy the slice contents.
func CopyByteSliceIn ¶
CopyByteSliceIn is a convenient wrapper for copying in a []byte from the task's memory.
func CopyByteSliceOut ¶
CopyByteSliceOut is a convenient wrapper for copying out a []byte to the task's memory.
func CopyInt16In ¶
CopyInt16In is a convenient wrapper for copying in an int16 from the task's memory.
func CopyInt16Out ¶
CopyInt16Out is a convenient wrapper for copying out an int16 to the task's memory.
func CopyInt32In ¶
CopyInt32In is a convenient wrapper for copying in an int32 from the task's memory.
func CopyInt32Out ¶
CopyInt32Out is a convenient wrapper for copying out an int32 to the task's memory.
func CopyInt64In ¶
CopyInt64In is a convenient wrapper for copying in an int64 from the task's memory.
func CopyInt64Out ¶
CopyInt64Out is a convenient wrapper for copying out an int64 to the task's memory.
func CopyInt8In ¶
CopyInt8In is a convenient wrapper for copying in an int8 from the task's memory.
func CopyInt8Out ¶
CopyInt8Out is a convenient wrapper for copying out an int8 to the task's memory.
func CopyStringIn ¶
CopyStringIn is a convenient wrapper for copying in a string from the task's memory.
func CopyStringOut ¶
CopyStringOut is a convenient wrapper for copying out a string to the task's memory.
func CopyUint16In ¶
CopyUint16In is a convenient wrapper for copying in a uint16 from the task's memory.
func CopyUint16Out ¶
CopyUint16Out is a convenient wrapper for copying out a uint16 to the task's memory.
func CopyUint32In ¶
CopyUint32In is a convenient wrapper for copying in a uint32 from the task's memory.
func CopyUint32Out ¶
CopyUint32Out is a convenient wrapper for copying out a uint32 to the task's memory.
func CopyUint64In ¶
CopyUint64In is a convenient wrapper for copying in a uint64 from the task's memory.
func CopyUint64Out ¶
CopyUint64Out is a convenient wrapper for copying out a uint64 to the task's memory.
func CopyUint8In ¶
CopyUint8In is a convenient wrapper for copying in a uint8 from the task's memory.
func CopyUint8Out ¶
CopyUint8Out is a convenient wrapper for copying out a uint8 to the task's memory.
Types ¶
type ByteSlice ¶
type ByteSlice []byte
ByteSlice is a marshal.Marshallable implementation for []byte. This is a convenience wrapper around a dynamically sized type, and can't be embedded in other marshallable types because it breaks assumptions made by go-marshal internals. It violates the "no dynamically-sized types" constraint of the go-marshal library.
func (*ByteSlice) MarshalBytes ¶
MarshalBytes implements marshal.Marshallable.MarshalBytes.
func (*ByteSlice) MarshalUnsafe ¶
MarshalUnsafe implements marshal.Marshallable.MarshalUnsafe.
func (*ByteSlice) UnmarshalBytes ¶
UnmarshalBytes implements marshal.Marshallable.UnmarshalBytes.
func (*ByteSlice) UnmarshalUnsafe ¶
UnmarshalUnsafe implements marshal.Marshallable.UnmarshalUnsafe.
type Int16 ¶
type Int16 int16
Int16 is a marshal.Marshallable implementation for int16.
+marshal boundCheck slice:Int16Slice:inner
type Int32 ¶
type Int32 int32
Int32 is a marshal.Marshallable implementation for int32.
+marshal boundCheck slice:Int32Slice:inner
type Int64 ¶
type Int64 int64
Int64 is a marshal.Marshallable implementation for int64.
+marshal boundCheck slice:Int64Slice:inner
type Int8 ¶
type Int8 int8
Int8 is a marshal.Marshallable implementation for int8.
+marshal boundCheck slice:Int8Slice:inner
type Uint16 ¶
type Uint16 uint16
Uint16 is a marshal.Marshallable implementation for uint16.
+marshal boundCheck slice:Uint16Slice:inner
type Uint32 ¶
type Uint32 uint32
Uint32 is a marshal.Marshallable implementation for uint32.
+marshal boundCheck slice:Uint32Slice:inner