grantv1

package
v0.4.0 Latest Latest
Warning

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

Go to latest
Published: Nov 7, 2026 License: Apache-2.0 Imports: 11 Imported by: 0

Documentation

Index

Constants

View Source
const (
	Fibers_Clone_FullMethodName     = "/fiberd.grant.v1.Fibers/Clone"
	Fibers_Park_FullMethodName      = "/fiberd.grant.v1.Fibers/Park"
	Fibers_Release_FullMethodName   = "/fiberd.grant.v1.Fibers/Release"
	Fibers_Discard_FullMethodName   = "/fiberd.grant.v1.Fibers/Discard"
	Fibers_Watch_FullMethodName     = "/fiberd.grant.v1.Fibers/Watch"
	Fibers_Upload_FullMethodName    = "/fiberd.grant.v1.Fibers/Upload"
	Fibers_Download_FullMethodName  = "/fiberd.grant.v1.Fibers/Download"
	Fibers_ListFiles_FullMethodName = "/fiberd.grant.v1.Fibers/ListFiles"
)

Variables

View Source
var (
	Tier_name = map[int32]string{
		0: "TIER_UNSPECIFIED",
		1: "FIBER_BASIC",
		2: "FIBER_WARM",
		3: "FIBER_CHECKPOINT",
		4: "FIBER_SNAPSHOT",
	}
	Tier_value = map[string]int32{
		"TIER_UNSPECIFIED": 0,
		"FIBER_BASIC":      1,
		"FIBER_WARM":       2,
		"FIBER_CHECKPOINT": 3,
		"FIBER_SNAPSHOT":   4,
	}
)

Enum value maps for Tier.

View Source
var (
	Durability_name = map[int32]string{
		0: "DURABILITY_UNSPECIFIED",
		1: "BEST_EFFORT",
		2: "SYNC",
	}
	Durability_value = map[string]int32{
		"DURABILITY_UNSPECIFIED": 0,
		"BEST_EFFORT":            1,
		"SYNC":                   2,
	}
)

Enum value maps for Durability.

View Source
var (
	Isolation_name = map[int32]string{
		0: "ISOLATION_UNSPECIFIED",
		1: "UNTRUSTED",
		2: "TRUSTED",
	}
	Isolation_value = map[string]int32{
		"ISOLATION_UNSPECIFIED": 0,
		"UNTRUSTED":             1,
		"TRUSTED":               2,
	}
)

Enum value maps for Isolation.

View Source
var (
	EndpointMode_name = map[int32]string{
		0: "DIRECT",
		1: "HANDOFF",
	}
	EndpointMode_value = map[string]int32{
		"DIRECT":  0,
		"HANDOFF": 1,
	}
)

Enum value maps for EndpointMode.

View Source
var (
	CloneKind_name = map[int32]string{
		0: "CREATE",
		1: "ATTACH",
		2: "RESUME",
	}
	CloneKind_value = map[string]int32{
		"CREATE": 0,
		"ATTACH": 1,
		"RESUME": 2,
	}
)

Enum value maps for CloneKind.

View Source
var (
	MissCode_name = map[int32]string{
		0: "SHED",
		1: "DEFERRED_FALLBACK",
	}
	MissCode_value = map[string]int32{
		"SHED":              0,
		"DEFERRED_FALLBACK": 1,
	}
)

Enum value maps for MissCode.

View Source
var Fibers_ServiceDesc = grpc.ServiceDesc{
	ServiceName: "fiberd.grant.v1.Fibers",
	HandlerType: (*FibersServer)(nil),
	Methods: []grpc.MethodDesc{
		{
			MethodName: "Clone",
			Handler:    _Fibers_Clone_Handler,
		},
		{
			MethodName: "Park",
			Handler:    _Fibers_Park_Handler,
		},
		{
			MethodName: "Release",
			Handler:    _Fibers_Release_Handler,
		},
		{
			MethodName: "Discard",
			Handler:    _Fibers_Discard_Handler,
		},
		{
			MethodName: "ListFiles",
			Handler:    _Fibers_ListFiles_Handler,
		},
	},
	Streams: []grpc.StreamDesc{
		{
			StreamName:    "Watch",
			Handler:       _Fibers_Watch_Handler,
			ServerStreams: true,
		},
		{
			StreamName:    "Upload",
			Handler:       _Fibers_Upload_Handler,
			ClientStreams: true,
		},
		{
			StreamName:    "Download",
			Handler:       _Fibers_Download_Handler,
			ServerStreams: true,
		},
	},
	Metadata: "grant/v1/grant.proto",
}

Fibers_ServiceDesc is the grpc.ServiceDesc for Fibers service. It's only intended for direct use with grpc.RegisterService, and not to be introspected or modified (even as a copy)

View Source
var File_grant_v1_grant_proto protoreflect.FileDescriptor

Functions

func RegisterFibersServer

func RegisterFibersServer(s grpc.ServiceRegistrar, srv FibersServer)

Types

type CapacityGrant

type CapacityGrant struct {
	GrantUid string `protobuf:"bytes,1,opt,name=grant_uid,json=grantUid,proto3" json:"grant_uid,omitempty"`
	// OIDC issuer URL of the issuing home. Verifiers discover the JWKS here.
	Issuer string `protobuf:"bytes,2,opt,name=issuer,proto3" json:"issuer,omitempty"`
	// Target environment id: the home that may exercise this grant.
	Audience string `protobuf:"bytes,3,opt,name=audience,proto3" json:"audience,omitempty"`
	// OCI digest of the zygote artifact, or of the template image.
	TemplateDigest string `protobuf:"bytes,4,opt,name=template_digest,json=templateDigest,proto3" json:"template_digest,omitempty"`
	// The issuer's tenant the grant belongs to (a Kubernetes namespace, a
	// Slurm account). A named session is filed under its tenant when it is
	// parked, so another tenant's grant on the same template never finds
	// it. A grant without a tenant runs anonymous fibers only: a named
	// Clone or Park under it fails with FailedPrecondition.
	Tenant string       `protobuf:"bytes,11,opt,name=tenant,proto3" json:"tenant,omitempty"`
	Fibers *FiberLimits `protobuf:"bytes,5,opt,name=fibers,proto3" json:"fibers,omitempty"`
	// Maximum dirtied working set per fiber, in bytes. Enforced as the
	// fiber's cgroup memory.max; also the mobility budget for deltas.
	WBudgetBytes uint64                 `protobuf:"varint,6,opt,name=w_budget_bytes,json=wBudgetBytes,proto3" json:"w_budget_bytes,omitempty"`
	MinTier      Tier                   `protobuf:"varint,7,opt,name=min_tier,json=minTier,proto3,enum=fiberd.grant.v1.Tier" json:"min_tier,omitempty"`
	LeaseExpiry  *timestamppb.Timestamp `protobuf:"bytes,8,opt,name=lease_expiry,json=leaseExpiry,proto3" json:"lease_expiry,omitempty"`
	Policy       *Policy                `protobuf:"bytes,9,opt,name=policy,proto3" json:"policy,omitempty"`
	// Absent or zero bytes: the grant needs no device.
	DeviceBudget *DeviceBudget `protobuf:"bytes,10,opt,name=device_budget,json=deviceBudget,proto3" json:"device_budget,omitempty"`
	// Per-fiber workspace ceiling in bytes. Each fiber gets a private
	// workspace at /workspace that Upload, Download and ListFiles reach.
	// Zero means no workspace, and every file call on the grant's fibers
	// fails with FailedPrecondition and a NoWorkspace detail. A home whose
	// runtime offers no workspace refuses a grant that sets it, with
	// FailedPrecondition.
	DiskBudgetBytes uint64 `protobuf:"varint,12,opt,name=disk_budget_bytes,json=diskBudgetBytes,proto3" json:"disk_budget_bytes,omitempty"`
	// contains filtered or unexported fields
}

CapacityGrant is what the issuer signs. It is carried as the `grant` claim of a JWT whose registered claims mirror issuer, audience, lease_expiry and grant_uid (iss, aud, exp, jti).

func (*CapacityGrant) Descriptor deprecated

func (*CapacityGrant) Descriptor() ([]byte, []int)

Deprecated: Use CapacityGrant.ProtoReflect.Descriptor instead.

func (*CapacityGrant) GetAudience

func (x *CapacityGrant) GetAudience() string

func (*CapacityGrant) GetDeviceBudget

func (x *CapacityGrant) GetDeviceBudget() *DeviceBudget

func (*CapacityGrant) GetDiskBudgetBytes

func (x *CapacityGrant) GetDiskBudgetBytes() uint64

func (*CapacityGrant) GetFibers

func (x *CapacityGrant) GetFibers() *FiberLimits

func (*CapacityGrant) GetGrantUid

func (x *CapacityGrant) GetGrantUid() string

func (*CapacityGrant) GetIssuer

func (x *CapacityGrant) GetIssuer() string

func (*CapacityGrant) GetLeaseExpiry

func (x *CapacityGrant) GetLeaseExpiry() *timestamppb.Timestamp

func (*CapacityGrant) GetMinTier

func (x *CapacityGrant) GetMinTier() Tier

func (*CapacityGrant) GetPolicy

func (x *CapacityGrant) GetPolicy() *Policy

func (*CapacityGrant) GetTemplateDigest

func (x *CapacityGrant) GetTemplateDigest() string

func (*CapacityGrant) GetTenant

func (x *CapacityGrant) GetTenant() string

func (*CapacityGrant) GetWBudgetBytes

func (x *CapacityGrant) GetWBudgetBytes() uint64

func (*CapacityGrant) ProtoMessage

func (*CapacityGrant) ProtoMessage()

func (*CapacityGrant) ProtoReflect

func (x *CapacityGrant) ProtoReflect() protoreflect.Message

func (*CapacityGrant) Reset

func (x *CapacityGrant) Reset()

func (*CapacityGrant) String

func (x *CapacityGrant) String() string

type CloneKind

type CloneKind int32
const (
	CloneKind_CREATE CloneKind = 0
	CloneKind_ATTACH CloneKind = 1
	CloneKind_RESUME CloneKind = 2
)

func (CloneKind) Descriptor

func (CloneKind) Descriptor() protoreflect.EnumDescriptor

func (CloneKind) Enum

func (x CloneKind) Enum() *CloneKind

func (CloneKind) EnumDescriptor deprecated

func (CloneKind) EnumDescriptor() ([]byte, []int)

Deprecated: Use CloneKind.Descriptor instead.

func (CloneKind) Number

func (x CloneKind) Number() protoreflect.EnumNumber

func (CloneKind) String

func (x CloneKind) String() string

func (CloneKind) Type

type CloneRequest

type CloneRequest struct {
	GrantJwt string `protobuf:"bytes,1,opt,name=grant_jwt,json=grantJwt,proto3" json:"grant_jwt,omitempty"`
	// Optional stable identity. Empty means an anonymous, fungible fiber.
	Session string `protobuf:"bytes,2,opt,name=session,proto3" json:"session,omitempty"`
	// Hard budget for the runtime work; exceeding it is a miss, not a late fiber.
	Deadline *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=deadline,proto3" json:"deadline,omitempty"`
	// Opaque, size-capped (4096 bytes), delivered as data, never config.
	Payload []byte `protobuf:"bytes,4,opt,name=payload,proto3" json:"payload,omitempty"`
	// contains filtered or unexported fields
}

CloneRequest is the entire clone-time surface. Admission completeness is structural: there is no field with which to shape a workload. A request carrying any other field is rejected with InvalidArgument.

func (*CloneRequest) Descriptor deprecated

func (*CloneRequest) Descriptor() ([]byte, []int)

Deprecated: Use CloneRequest.ProtoReflect.Descriptor instead.

func (*CloneRequest) GetDeadline

func (x *CloneRequest) GetDeadline() *timestamppb.Timestamp

func (*CloneRequest) GetGrantJwt

func (x *CloneRequest) GetGrantJwt() string

func (*CloneRequest) GetPayload

func (x *CloneRequest) GetPayload() []byte

func (*CloneRequest) GetSession

func (x *CloneRequest) GetSession() string

func (*CloneRequest) ProtoMessage

func (*CloneRequest) ProtoMessage()

func (*CloneRequest) ProtoReflect

func (x *CloneRequest) ProtoReflect() protoreflect.Message

func (*CloneRequest) Reset

func (x *CloneRequest) Reset()

func (*CloneRequest) String

func (x *CloneRequest) String() string

type CloneResponse

type CloneResponse struct {
	FiberId  string    `protobuf:"bytes,1,opt,name=fiber_id,json=fiberId,proto3" json:"fiber_id,omitempty"`
	Endpoint string    `protobuf:"bytes,2,opt,name=endpoint,proto3" json:"endpoint,omitempty"`
	Fence    *Fence    `protobuf:"bytes,3,opt,name=fence,proto3" json:"fence,omitempty"`
	Kind     CloneKind `protobuf:"varint,4,opt,name=kind,proto3,enum=fiberd.grant.v1.CloneKind" json:"kind,omitempty"`
	// Set when the grant's endpoint mode is HANDOFF. The caller opens TLS
	// to endpoint with server name "<routing_key>.fiberd", presents the
	// grant's client certificate, and accepts only the fiber's own
	// certificate. server_cert is that certificate as DER, for a TLS
	// library that pins a certificate during the handshake, and
	// server_key_sha256 is the hash (SHA-256, base64url) of its
	// SubjectPublicKeyInfo, for one that pins a key.
	RoutingKey      string `protobuf:"bytes,5,opt,name=routing_key,json=routingKey,proto3" json:"routing_key,omitempty"`
	ServerKeySha256 string `protobuf:"bytes,6,opt,name=server_key_sha256,json=serverKeySha256,proto3" json:"server_key_sha256,omitempty"`
	ServerCert      []byte `protobuf:"bytes,7,opt,name=server_cert,json=serverCert,proto3" json:"server_cert,omitempty"`
	// contains filtered or unexported fields
}

func (*CloneResponse) Descriptor deprecated

func (*CloneResponse) Descriptor() ([]byte, []int)

Deprecated: Use CloneResponse.ProtoReflect.Descriptor instead.

func (*CloneResponse) GetEndpoint

func (x *CloneResponse) GetEndpoint() string

func (*CloneResponse) GetFence

func (x *CloneResponse) GetFence() *Fence

func (*CloneResponse) GetFiberId

func (x *CloneResponse) GetFiberId() string

func (*CloneResponse) GetKind

func (x *CloneResponse) GetKind() CloneKind

func (*CloneResponse) GetRoutingKey

func (x *CloneResponse) GetRoutingKey() string

func (*CloneResponse) GetServerCert

func (x *CloneResponse) GetServerCert() []byte

func (*CloneResponse) GetServerKeySha256

func (x *CloneResponse) GetServerKeySha256() string

func (*CloneResponse) ProtoMessage

func (*CloneResponse) ProtoMessage()

func (*CloneResponse) ProtoReflect

func (x *CloneResponse) ProtoReflect() protoreflect.Message

func (*CloneResponse) Reset

func (x *CloneResponse) Reset()

func (*CloneResponse) String

func (x *CloneResponse) String() string

type DeviceBudget

type DeviceBudget struct {
	Bytes uint64 `protobuf:"varint,1,opt,name=bytes,proto3" json:"bytes,omitempty"`
	// class names the device the budget is for ("gpu"; "sim" is the
	// reference workload's simulated engine). Empty means any.
	Class string `protobuf:"bytes,2,opt,name=class,proto3" json:"class,omitempty"`
	// contains filtered or unexported fields
}

DeviceBudget is the per-fiber slice of the engine's device state (its KV cache, its VRAM) a fiber may hold: the device-side twin of w_budget_bytes. On the GPU side one engine per grant owns the device and fibers are its clients; the engine reports each fiber's slice and the home enforces this budget on the report, since the kernel has no pressure class for devices. A home whose template offers no device of this class refuses the grant with FailedPrecondition, never a silent CPU-only fiber.

func (*DeviceBudget) Descriptor deprecated

func (*DeviceBudget) Descriptor() ([]byte, []int)

Deprecated: Use DeviceBudget.ProtoReflect.Descriptor instead.

func (*DeviceBudget) GetBytes

func (x *DeviceBudget) GetBytes() uint64

func (*DeviceBudget) GetClass

func (x *DeviceBudget) GetClass() string

func (*DeviceBudget) ProtoMessage

func (*DeviceBudget) ProtoMessage()

func (*DeviceBudget) ProtoReflect

func (x *DeviceBudget) ProtoReflect() protoreflect.Message

func (*DeviceBudget) Reset

func (x *DeviceBudget) Reset()

func (*DeviceBudget) String

func (x *DeviceBudget) String() string

type DiscardRequest

type DiscardRequest struct {
	GrantJwt string `protobuf:"bytes,1,opt,name=grant_jwt,json=grantJwt,proto3" json:"grant_jwt,omitempty"`
	Session  string `protobuf:"bytes,2,opt,name=session,proto3" json:"session,omitempty"`
	// contains filtered or unexported fields
}

DiscardRequest names a parked session to delete. It carries the grant as Clone does, since a parked session has no fiber to name.

func (*DiscardRequest) Descriptor deprecated

func (*DiscardRequest) Descriptor() ([]byte, []int)

Deprecated: Use DiscardRequest.ProtoReflect.Descriptor instead.

func (*DiscardRequest) GetGrantJwt

func (x *DiscardRequest) GetGrantJwt() string

func (*DiscardRequest) GetSession

func (x *DiscardRequest) GetSession() string

func (*DiscardRequest) ProtoMessage

func (*DiscardRequest) ProtoMessage()

func (*DiscardRequest) ProtoReflect

func (x *DiscardRequest) ProtoReflect() protoreflect.Message

func (*DiscardRequest) Reset

func (x *DiscardRequest) Reset()

func (*DiscardRequest) String

func (x *DiscardRequest) String() string

type DownloadRequest

type DownloadRequest struct {
	FiberId string `protobuf:"bytes,1,opt,name=fiber_id,json=fiberId,proto3" json:"fiber_id,omitempty"`
	// The file's path, relative to the fiber's /workspace.
	Path string `protobuf:"bytes,2,opt,name=path,proto3" json:"path,omitempty"`
	// Where to start reading, in bytes.
	Offset uint64 `protobuf:"varint,3,opt,name=offset,proto3" json:"offset,omitempty"`
	// contains filtered or unexported fields
}

func (*DownloadRequest) Descriptor deprecated

func (*DownloadRequest) Descriptor() ([]byte, []int)

Deprecated: Use DownloadRequest.ProtoReflect.Descriptor instead.

func (*DownloadRequest) GetFiberId

func (x *DownloadRequest) GetFiberId() string

func (*DownloadRequest) GetOffset

func (x *DownloadRequest) GetOffset() uint64

func (*DownloadRequest) GetPath

func (x *DownloadRequest) GetPath() string

func (*DownloadRequest) ProtoMessage

func (*DownloadRequest) ProtoMessage()

func (*DownloadRequest) ProtoReflect

func (x *DownloadRequest) ProtoReflect() protoreflect.Message

func (*DownloadRequest) Reset

func (x *DownloadRequest) Reset()

func (*DownloadRequest) String

func (x *DownloadRequest) String() string

type Durability

type Durability int32

Durability selects when the audit record for an operation must be durable. It is priced as activation latency.

const (
	Durability_DURABILITY_UNSPECIFIED Durability = 0
	// Append the record and ack without an fsync. A crash can lose records
	// the OS has not flushed yet.
	Durability_BEST_EFFORT Durability = 1
	// Ack only once the record is durable on local disk. After a failed
	// fsync, every SYNC operation fails until fiberd restarts.
	Durability_SYNC Durability = 2
)

func (Durability) Descriptor

func (Durability) Descriptor() protoreflect.EnumDescriptor

func (Durability) Enum

func (x Durability) Enum() *Durability

func (Durability) EnumDescriptor deprecated

func (Durability) EnumDescriptor() ([]byte, []int)

Deprecated: Use Durability.Descriptor instead.

func (Durability) Number

func (x Durability) Number() protoreflect.EnumNumber

func (Durability) String

func (x Durability) String() string

func (Durability) Type

type EndpointMode

type EndpointMode int32

EndpointMode is how callers reach a grant's fibers. HANDOFF needs a grant bound to a caller's key and a home whose backend can pass connections to fibers (proc, runc). Other homes refuse the grant with FailedPrecondition.

const (
	// Each fiber listens on an endpoint of its own.
	EndpointMode_DIRECT EndpointMode = 0
	// The home accepts each TLS connection on one address, routes it by
	// the TLS server name (CloneResponse.routing_key) and passes the
	// socket to the fiber, which terminates TLS and accepts only the
	// client certificate its Clone arrived under.
	EndpointMode_HANDOFF EndpointMode = 1
)

func (EndpointMode) Descriptor

func (EndpointMode) Enum

func (x EndpointMode) Enum() *EndpointMode

func (EndpointMode) EnumDescriptor deprecated

func (EndpointMode) EnumDescriptor() ([]byte, []int)

Deprecated: Use EndpointMode.Descriptor instead.

func (EndpointMode) Number

func (EndpointMode) String

func (x EndpointMode) String() string

func (EndpointMode) Type

type Fence

type Fence struct {
	GrantUid string `protobuf:"bytes,1,opt,name=grant_uid,json=grantUid,proto3" json:"grant_uid,omitempty"`
	Epoch    uint64 `protobuf:"varint,2,opt,name=epoch,proto3" json:"epoch,omitempty"`
	Seq      uint64 `protobuf:"varint,3,opt,name=seq,proto3" json:"seq,omitempty"`
	// contains filtered or unexported fields
}

Fence identifies one run of a fiber: (grant, fiberd epoch, seq). Every credential and claim is scoped to it. An epoch bump on fiberd restart invalidates every prior fence at once.

func (*Fence) Descriptor deprecated

func (*Fence) Descriptor() ([]byte, []int)

Deprecated: Use Fence.ProtoReflect.Descriptor instead.

func (*Fence) GetEpoch

func (x *Fence) GetEpoch() uint64

func (*Fence) GetGrantUid

func (x *Fence) GetGrantUid() string

func (*Fence) GetSeq

func (x *Fence) GetSeq() uint64

func (*Fence) ProtoMessage

func (*Fence) ProtoMessage()

func (*Fence) ProtoReflect

func (x *Fence) ProtoReflect() protoreflect.Message

func (*Fence) Reset

func (x *Fence) Reset()

func (*Fence) String

func (x *Fence) String() string

type FiberLimits

type FiberLimits struct {
	Max  uint32 `protobuf:"varint,1,opt,name=max,proto3" json:"max,omitempty"`
	Warm uint32 `protobuf:"varint,2,opt,name=warm,proto3" json:"warm,omitempty"`
	// contains filtered or unexported fields
}

FiberLimits is `fibers: {max, warm}`. (Named FiberLimits rather than Fibers because the service below already takes that name.)

func (*FiberLimits) Descriptor deprecated

func (*FiberLimits) Descriptor() ([]byte, []int)

Deprecated: Use FiberLimits.ProtoReflect.Descriptor instead.

func (*FiberLimits) GetMax

func (x *FiberLimits) GetMax() uint32

func (*FiberLimits) GetWarm

func (x *FiberLimits) GetWarm() uint32

func (*FiberLimits) ProtoMessage

func (*FiberLimits) ProtoMessage()

func (*FiberLimits) ProtoReflect

func (x *FiberLimits) ProtoReflect() protoreflect.Message

func (*FiberLimits) Reset

func (x *FiberLimits) Reset()

func (*FiberLimits) String

func (x *FiberLimits) String() string

type FibersClient

type FibersClient interface {
	// Clone resolves a session to attach, resume or create. Every miss
	// carries a Miss detail: ResourceExhausted for SHED, Unavailable for
	// DEFERRED_FALLBACK. FailedPrecondition when min_tier exceeds the
	// home's tier, a parked session needs a tier the home lacks, or an
	// untrusted grant reaches a home that does not isolate tenants.
	// Unauthenticated when the grant is refused, with a WrongHome detail
	// when it is not for this home.
	Clone(ctx context.Context, in *CloneRequest, opts ...grpc.CallOption) (*CloneResponse, error)
	// Park checkpoints a named session's fiber. A fiber without a session
	// is refused with InvalidArgument, since nothing could resume it, so
	// release it instead.
	Park(ctx context.Context, in *ParkRequest, opts ...grpc.CallOption) (*emptypb.Empty, error)
	Release(ctx context.Context, in *ReleaseRequest, opts ...grpc.CallOption) (*emptypb.Empty, error)
	// Discard deletes a parked session's delta by name, here and in the
	// delta registry, and the session is forgotten. The next Clone of it
	// creates. A running session is refused with InvalidArgument, so
	// release its fiber with discard instead. A session neither parked
	// here nor in the registry is NotFound. Unauthenticated when the grant
	// is refused, with a WrongHome detail when it is not for this home.
	Discard(ctx context.Context, in *DiscardRequest, opts ...grpc.CallOption) (*emptypb.Empty, error)
	Watch(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (grpc.ServerStreamingClient[Status], error)
	// Upload writes one file into a running fiber's workspace. The first
	// message is the header. Each file call is authorized like Park, so
	// another caller's fiber answers NotFound.
	Upload(ctx context.Context, opts ...grpc.CallOption) (grpc.ClientStreamingClient[UploadRequest, FileInfo], error)
	// Download reads one regular file from a running fiber's workspace.
	// The first chunk carries its FileInfo.
	Download(ctx context.Context, in *DownloadRequest, opts ...grpc.CallOption) (grpc.ServerStreamingClient[FileChunk], error)
	// ListFiles lists one directory of a running fiber's workspace.
	ListFiles(ctx context.Context, in *ListFilesRequest, opts ...grpc.CallOption) (*ListFilesResponse, error)
}

FibersClient is the client API for Fibers service.

For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream.

func NewFibersClient

func NewFibersClient(cc grpc.ClientConnInterface) FibersClient

type FibersServer

type FibersServer interface {
	// Clone resolves a session to attach, resume or create. Every miss
	// carries a Miss detail: ResourceExhausted for SHED, Unavailable for
	// DEFERRED_FALLBACK. FailedPrecondition when min_tier exceeds the
	// home's tier, a parked session needs a tier the home lacks, or an
	// untrusted grant reaches a home that does not isolate tenants.
	// Unauthenticated when the grant is refused, with a WrongHome detail
	// when it is not for this home.
	Clone(context.Context, *CloneRequest) (*CloneResponse, error)
	// Park checkpoints a named session's fiber. A fiber without a session
	// is refused with InvalidArgument, since nothing could resume it, so
	// release it instead.
	Park(context.Context, *ParkRequest) (*emptypb.Empty, error)
	Release(context.Context, *ReleaseRequest) (*emptypb.Empty, error)
	// Discard deletes a parked session's delta by name, here and in the
	// delta registry, and the session is forgotten. The next Clone of it
	// creates. A running session is refused with InvalidArgument, so
	// release its fiber with discard instead. A session neither parked
	// here nor in the registry is NotFound. Unauthenticated when the grant
	// is refused, with a WrongHome detail when it is not for this home.
	Discard(context.Context, *DiscardRequest) (*emptypb.Empty, error)
	Watch(*emptypb.Empty, grpc.ServerStreamingServer[Status]) error
	// Upload writes one file into a running fiber's workspace. The first
	// message is the header. Each file call is authorized like Park, so
	// another caller's fiber answers NotFound.
	Upload(grpc.ClientStreamingServer[UploadRequest, FileInfo]) error
	// Download reads one regular file from a running fiber's workspace.
	// The first chunk carries its FileInfo.
	Download(*DownloadRequest, grpc.ServerStreamingServer[FileChunk]) error
	// ListFiles lists one directory of a running fiber's workspace.
	ListFiles(context.Context, *ListFilesRequest) (*ListFilesResponse, error)
	// contains filtered or unexported methods
}

FibersServer is the server API for Fibers service. All implementations must embed UnimplementedFibersServer for forward compatibility.

type Fibers_DownloadClient

type Fibers_DownloadClient = grpc.ServerStreamingClient[FileChunk]

This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name.

type Fibers_DownloadServer

type Fibers_DownloadServer = grpc.ServerStreamingServer[FileChunk]

This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name.

type Fibers_UploadClient

type Fibers_UploadClient = grpc.ClientStreamingClient[UploadRequest, FileInfo]

This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name.

type Fibers_UploadServer

type Fibers_UploadServer = grpc.ClientStreamingServer[UploadRequest, FileInfo]

This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name.

type Fibers_WatchClient

type Fibers_WatchClient = grpc.ServerStreamingClient[Status]

This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name.

type Fibers_WatchServer

type Fibers_WatchServer = grpc.ServerStreamingServer[Status]

This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name.

type FileChunk

type FileChunk struct {
	Info *FileInfo `protobuf:"bytes,1,opt,name=info,proto3" json:"info,omitempty"`
	Data []byte    `protobuf:"bytes,2,opt,name=data,proto3" json:"data,omitempty"`
	// contains filtered or unexported fields
}

FileChunk is one message of a Download stream. The first carries info and every chunk carries at most 1 MiB of data.

func (*FileChunk) Descriptor deprecated

func (*FileChunk) Descriptor() ([]byte, []int)

Deprecated: Use FileChunk.ProtoReflect.Descriptor instead.

func (*FileChunk) GetData

func (x *FileChunk) GetData() []byte

func (*FileChunk) GetInfo

func (x *FileChunk) GetInfo() *FileInfo

func (*FileChunk) ProtoMessage

func (*FileChunk) ProtoMessage()

func (*FileChunk) ProtoReflect

func (x *FileChunk) ProtoReflect() protoreflect.Message

func (*FileChunk) Reset

func (x *FileChunk) Reset()

func (*FileChunk) String

func (x *FileChunk) String() string

type FileInfo

type FileInfo struct {

	// Relative to the fiber's /workspace.
	Path string `protobuf:"bytes,1,opt,name=path,proto3" json:"path,omitempty"`
	Size uint64 `protobuf:"varint,2,opt,name=size,proto3" json:"size,omitempty"`
	// The permission bits.
	Mode      uint32 `protobuf:"varint,3,opt,name=mode,proto3" json:"mode,omitempty"`
	Directory bool   `protobuf:"varint,4,opt,name=directory,proto3" json:"directory,omitempty"`
	// SHA-256 of the content. Set in Upload's reply only.
	Sha256 []byte `protobuf:"bytes,5,opt,name=sha256,proto3" json:"sha256,omitempty"`
	// contains filtered or unexported fields
}

FileInfo describes one entry of a workspace.

func (*FileInfo) Descriptor deprecated

func (*FileInfo) Descriptor() ([]byte, []int)

Deprecated: Use FileInfo.ProtoReflect.Descriptor instead.

func (*FileInfo) GetDirectory

func (x *FileInfo) GetDirectory() bool

func (*FileInfo) GetMode

func (x *FileInfo) GetMode() uint32

func (*FileInfo) GetPath

func (x *FileInfo) GetPath() string

func (*FileInfo) GetSha256

func (x *FileInfo) GetSha256() []byte

func (*FileInfo) GetSize

func (x *FileInfo) GetSize() uint64

func (*FileInfo) ProtoMessage

func (*FileInfo) ProtoMessage()

func (*FileInfo) ProtoReflect

func (x *FileInfo) ProtoReflect() protoreflect.Message

func (*FileInfo) Reset

func (x *FileInfo) Reset()

func (*FileInfo) String

func (x *FileInfo) String() string

type Isolation

type Isolation int32

Isolation is whether the issuer trusts the grant's code with the host kernel. Unset is UNTRUSTED. Only a home whose backend sandboxes fibers from the host (gVisor, Hyperlight) may serve it. Other homes refuse the grant with FailedPrecondition.

const (
	Isolation_ISOLATION_UNSPECIFIED Isolation = 0
	Isolation_UNTRUSTED             Isolation = 1
	Isolation_TRUSTED               Isolation = 2
)

func (Isolation) Descriptor

func (Isolation) Descriptor() protoreflect.EnumDescriptor

func (Isolation) Enum

func (x Isolation) Enum() *Isolation

func (Isolation) EnumDescriptor deprecated

func (Isolation) EnumDescriptor() ([]byte, []int)

Deprecated: Use Isolation.Descriptor instead.

func (Isolation) Number

func (x Isolation) Number() protoreflect.EnumNumber

func (Isolation) String

func (x Isolation) String() string

func (Isolation) Type

type ListFilesRequest

type ListFilesRequest struct {
	FiberId string `protobuf:"bytes,1,opt,name=fiber_id,json=fiberId,proto3" json:"fiber_id,omitempty"`
	// The directory to list, relative to the fiber's /workspace. Empty is
	// the workspace itself.
	Dir string `protobuf:"bytes,2,opt,name=dir,proto3" json:"dir,omitempty"`
	// contains filtered or unexported fields
}

func (*ListFilesRequest) Descriptor deprecated

func (*ListFilesRequest) Descriptor() ([]byte, []int)

Deprecated: Use ListFilesRequest.ProtoReflect.Descriptor instead.

func (*ListFilesRequest) GetDir

func (x *ListFilesRequest) GetDir() string

func (*ListFilesRequest) GetFiberId

func (x *ListFilesRequest) GetFiberId() string

func (*ListFilesRequest) ProtoMessage

func (*ListFilesRequest) ProtoMessage()

func (*ListFilesRequest) ProtoReflect

func (x *ListFilesRequest) ProtoReflect() protoreflect.Message

func (*ListFilesRequest) Reset

func (x *ListFilesRequest) Reset()

func (*ListFilesRequest) String

func (x *ListFilesRequest) String() string

type ListFilesResponse

type ListFilesResponse struct {

	// The directory's entries, not recursive.
	Files []*FileInfo `protobuf:"bytes,1,rep,name=files,proto3" json:"files,omitempty"`
	// contains filtered or unexported fields
}

func (*ListFilesResponse) Descriptor deprecated

func (*ListFilesResponse) Descriptor() ([]byte, []int)

Deprecated: Use ListFilesResponse.ProtoReflect.Descriptor instead.

func (*ListFilesResponse) GetFiles

func (x *ListFilesResponse) GetFiles() []*FileInfo

func (*ListFilesResponse) ProtoMessage

func (*ListFilesResponse) ProtoMessage()

func (*ListFilesResponse) ProtoReflect

func (x *ListFilesResponse) ProtoReflect() protoreflect.Message

func (*ListFilesResponse) Reset

func (x *ListFilesResponse) Reset()

func (*ListFilesResponse) String

func (x *ListFilesResponse) String() string

type Miss

type Miss struct {
	Code        MissCode `protobuf:"varint,1,opt,name=code,proto3,enum=fiberd.grant.v1.MissCode" json:"code,omitempty"`
	RetryAfterS uint32   `protobuf:"varint,2,opt,name=retry_after_s,json=retryAfterS,proto3" json:"retry_after_s,omitempty"`
	Issuer      string   `protobuf:"bytes,3,opt,name=issuer,proto3" json:"issuer,omitempty"`
	// For DEFERRED_FALLBACK: the home that holds the session's parked
	// state, when known.
	PreferredHome string `protobuf:"bytes,4,opt,name=preferred_home,json=preferredHome,proto3" json:"preferred_home,omitempty"`
	// contains filtered or unexported fields
}

Miss is attached to every miss error as a google.rpc.Status detail.

func (*Miss) Descriptor deprecated

func (*Miss) Descriptor() ([]byte, []int)

Deprecated: Use Miss.ProtoReflect.Descriptor instead.

func (*Miss) GetCode

func (x *Miss) GetCode() MissCode

func (*Miss) GetIssuer

func (x *Miss) GetIssuer() string

func (*Miss) GetPreferredHome

func (x *Miss) GetPreferredHome() string

func (*Miss) GetRetryAfterS

func (x *Miss) GetRetryAfterS() uint32

func (*Miss) ProtoMessage

func (*Miss) ProtoMessage()

func (*Miss) ProtoReflect

func (x *Miss) ProtoReflect() protoreflect.Message

func (*Miss) Reset

func (x *Miss) Reset()

func (*Miss) String

func (x *Miss) String() string

type MissCode

type MissCode int32

MissCode is the one thing a caller needs to decide what to do next.

const (
	// The control plane is unreachable or the clone rate limit is exceeded.
	// Back off for retry_after_s; never queue on a dead control plane.
	MissCode_SHED MissCode = 0
	// Capacity is not on this home and the control plane is healthy.
	// Fall back to the home's ordinary provisioning path.
	MissCode_DEFERRED_FALLBACK MissCode = 1
)

func (MissCode) Descriptor

func (MissCode) Descriptor() protoreflect.EnumDescriptor

func (MissCode) Enum

func (x MissCode) Enum() *MissCode

func (MissCode) EnumDescriptor deprecated

func (MissCode) EnumDescriptor() ([]byte, []int)

Deprecated: Use MissCode.Descriptor instead.

func (MissCode) Number

func (x MissCode) Number() protoreflect.EnumNumber

func (MissCode) String

func (x MissCode) String() string

func (MissCode) Type

type NoWorkspace

type NoWorkspace struct {
	// contains filtered or unexported fields
}

NoWorkspace is attached as a detail to the FailedPrecondition a file call gets when its fiber's grant has no workspace (disk_budget_bytes is zero). It tells that refusal apart from a tier gap.

func (*NoWorkspace) Descriptor deprecated

func (*NoWorkspace) Descriptor() ([]byte, []int)

Deprecated: Use NoWorkspace.ProtoReflect.Descriptor instead.

func (*NoWorkspace) ProtoMessage

func (*NoWorkspace) ProtoMessage()

func (*NoWorkspace) ProtoReflect

func (x *NoWorkspace) ProtoReflect() protoreflect.Message

func (*NoWorkspace) Reset

func (x *NoWorkspace) Reset()

func (*NoWorkspace) String

func (x *NoWorkspace) String() string

type ParkRequest

type ParkRequest struct {
	FiberId string `protobuf:"bytes,1,opt,name=fiber_id,json=fiberId,proto3" json:"fiber_id,omitempty"`
	// sync: checkpoint completes before the reply; the fiber keeps running
	// until the delta is durable.
	Sync bool `protobuf:"varint,2,opt,name=sync,proto3" json:"sync,omitempty"`
	// contains filtered or unexported fields
}

func (*ParkRequest) Descriptor deprecated

func (*ParkRequest) Descriptor() ([]byte, []int)

Deprecated: Use ParkRequest.ProtoReflect.Descriptor instead.

func (*ParkRequest) GetFiberId

func (x *ParkRequest) GetFiberId() string

func (*ParkRequest) GetSync

func (x *ParkRequest) GetSync() bool

func (*ParkRequest) ProtoMessage

func (*ParkRequest) ProtoMessage()

func (*ParkRequest) ProtoReflect

func (x *ParkRequest) ProtoReflect() protoreflect.Message

func (*ParkRequest) Reset

func (x *ParkRequest) Reset()

func (*ParkRequest) String

func (x *ParkRequest) String() string

type Policy

type Policy struct {
	Durability   Durability `protobuf:"varint,1,opt,name=durability,proto3,enum=fiberd.grant.v1.Durability" json:"durability,omitempty"`
	SessionClass string     `protobuf:"bytes,2,opt,name=session_class,json=sessionClass,proto3" json:"session_class,omitempty"`
	AuditClass   string     `protobuf:"bytes,3,opt,name=audit_class,json=auditClass,proto3" json:"audit_class,omitempty"`
	// PSI memory "some avg10" watermarks on the grant's cgroup, in percent.
	// The home sets them below its own eviction threshold so park fires first.
	PsiSomeAvg10Shed float32      `protobuf:"fixed32,4,opt,name=psi_some_avg10_shed,json=psiSomeAvg10Shed,proto3" json:"psi_some_avg10_shed,omitempty"`
	PsiSomeAvg10Park float32      `protobuf:"fixed32,5,opt,name=psi_some_avg10_park,json=psiSomeAvg10Park,proto3" json:"psi_some_avg10_park,omitempty"`
	Isolation        Isolation    `protobuf:"varint,6,opt,name=isolation,proto3,enum=fiberd.grant.v1.Isolation" json:"isolation,omitempty"`
	EndpointMode     EndpointMode `` /* 132-byte string literal not displayed */
	// contains filtered or unexported fields
}

Policy is the per-grant session, durability, pressure, isolation and endpoint class.

func (*Policy) Descriptor deprecated

func (*Policy) Descriptor() ([]byte, []int)

Deprecated: Use Policy.ProtoReflect.Descriptor instead.

func (*Policy) GetAuditClass

func (x *Policy) GetAuditClass() string

func (*Policy) GetDurability

func (x *Policy) GetDurability() Durability

func (*Policy) GetEndpointMode

func (x *Policy) GetEndpointMode() EndpointMode

func (*Policy) GetIsolation

func (x *Policy) GetIsolation() Isolation

func (*Policy) GetPsiSomeAvg10Park

func (x *Policy) GetPsiSomeAvg10Park() float32

func (*Policy) GetPsiSomeAvg10Shed

func (x *Policy) GetPsiSomeAvg10Shed() float32

func (*Policy) GetSessionClass

func (x *Policy) GetSessionClass() string

func (*Policy) ProtoMessage

func (*Policy) ProtoMessage()

func (*Policy) ProtoReflect

func (x *Policy) ProtoReflect() protoreflect.Message

func (*Policy) Reset

func (x *Policy) Reset()

func (*Policy) String

func (x *Policy) String() string

type ReleaseRequest

type ReleaseRequest struct {
	FiberId string `protobuf:"bytes,1,opt,name=fiber_id,json=fiberId,proto3" json:"fiber_id,omitempty"`
	// discard: also delete any parked delta for the fiber's session.
	Discard bool `protobuf:"varint,2,opt,name=discard,proto3" json:"discard,omitempty"`
	// contains filtered or unexported fields
}

func (*ReleaseRequest) Descriptor deprecated

func (*ReleaseRequest) Descriptor() ([]byte, []int)

Deprecated: Use ReleaseRequest.ProtoReflect.Descriptor instead.

func (*ReleaseRequest) GetDiscard

func (x *ReleaseRequest) GetDiscard() bool

func (*ReleaseRequest) GetFiberId

func (x *ReleaseRequest) GetFiberId() string

func (*ReleaseRequest) ProtoMessage

func (*ReleaseRequest) ProtoMessage()

func (*ReleaseRequest) ProtoReflect

func (x *ReleaseRequest) ProtoReflect() protoreflect.Message

func (*ReleaseRequest) Reset

func (x *ReleaseRequest) Reset()

func (*ReleaseRequest) String

func (x *ReleaseRequest) String() string

type Status

type Status struct {
	GrantUid   string `protobuf:"bytes,1,opt,name=grant_uid,json=grantUid,proto3" json:"grant_uid,omitempty"`
	Running    uint32 `protobuf:"varint,2,opt,name=running,proto3" json:"running,omitempty"`
	Parked     uint32 `protobuf:"varint,3,opt,name=parked,proto3" json:"parked,omitempty"`
	WUsedBytes uint64 `protobuf:"varint,4,opt,name=w_used_bytes,json=wUsedBytes,proto3" json:"w_used_bytes,omitempty"`
	Latest     *Fence `protobuf:"bytes,5,opt,name=latest,proto3" json:"latest,omitempty"`
	// pooled counts sandboxes restored ahead of a clone. They are inside
	// fibers.max and not in running.
	Pooled uint32 `protobuf:"varint,6,opt,name=pooled,proto3" json:"pooled,omitempty"`
	// contains filtered or unexported fields
}

Status is the batched, per-grant view the home publishes. It is the only thing a control plane ever sees; never individual fibers.

func (*Status) Descriptor deprecated

func (*Status) Descriptor() ([]byte, []int)

Deprecated: Use Status.ProtoReflect.Descriptor instead.

func (*Status) GetGrantUid

func (x *Status) GetGrantUid() string

func (*Status) GetLatest

func (x *Status) GetLatest() *Fence

func (*Status) GetParked

func (x *Status) GetParked() uint32

func (*Status) GetPooled

func (x *Status) GetPooled() uint32

func (*Status) GetRunning

func (x *Status) GetRunning() uint32

func (*Status) GetWUsedBytes

func (x *Status) GetWUsedBytes() uint64

func (*Status) ProtoMessage

func (*Status) ProtoMessage()

func (*Status) ProtoReflect

func (x *Status) ProtoReflect() protoreflect.Message

func (*Status) Reset

func (x *Status) Reset()

func (*Status) String

func (x *Status) String() string

type Tier

type Tier int32

Tier is the runtime capability a home advertises and a grant demands. A grant with min_tier above the home's tier is never satisfied by a lesser mechanism: Clone fails with FailedPrecondition, never a fresh fork.

const (
	Tier_TIER_UNSPECIFIED Tier = 0
	// Create a worker in an existing warm sandbox. Correct semantics,
	// pod-class latency. Every runtime qualifies.
	Tier_FIBER_BASIC Tier = 1
	// Zygote fork, copy-on-write. Millisecond activation and density.
	// Single-tenant per grant by definition.
	Tier_FIBER_WARM Tier = 2
	// Per-fiber delta checkpoint and restore. Park/resume, the session model.
	Tier_FIBER_CHECKPOINT Tier = 3
	// MicroVM or gVisor snapshot-restore per fiber. Multi-tenant per node.
	Tier_FIBER_SNAPSHOT Tier = 4
)

func (Tier) Descriptor

func (Tier) Descriptor() protoreflect.EnumDescriptor

func (Tier) Enum

func (x Tier) Enum() *Tier

func (Tier) EnumDescriptor deprecated

func (Tier) EnumDescriptor() ([]byte, []int)

Deprecated: Use Tier.Descriptor instead.

func (Tier) Number

func (x Tier) Number() protoreflect.EnumNumber

func (Tier) String

func (x Tier) String() string

func (Tier) Type

func (Tier) Type() protoreflect.EnumType

type UnimplementedFibersServer

type UnimplementedFibersServer struct{}

UnimplementedFibersServer must be embedded to have forward compatible implementations.

NOTE: this should be embedded by value instead of pointer to avoid a nil pointer dereference when methods are called.

func (UnimplementedFibersServer) Clone

func (UnimplementedFibersServer) Discard

func (UnimplementedFibersServer) Download

func (UnimplementedFibersServer) ListFiles

func (UnimplementedFibersServer) Park

func (UnimplementedFibersServer) Release

func (UnimplementedFibersServer) Upload

func (UnimplementedFibersServer) Watch

type UnsafeFibersServer

type UnsafeFibersServer interface {
	// contains filtered or unexported methods
}

UnsafeFibersServer may be embedded to opt out of forward compatibility for this service. Use of this interface is not recommended, as added methods to FibersServer will result in compilation errors.

type UploadHeader

type UploadHeader struct {
	FiberId string `protobuf:"bytes,1,opt,name=fiber_id,json=fiberId,proto3" json:"fiber_id,omitempty"`
	// The file's path, relative to the fiber's /workspace.
	Path string `protobuf:"bytes,2,opt,name=path,proto3" json:"path,omitempty"`
	// The file's size in bytes, declared up front so the budget is
	// reserved before any byte lands. The data chunks add up to it
	// exactly. It must be set, and zero is an empty file.
	Size *uint64 `protobuf:"varint,3,opt,name=size,proto3,oneof" json:"size,omitempty"`
	// The file's permission bits. Zero means 0644.
	Mode uint32 `protobuf:"varint,4,opt,name=mode,proto3" json:"mode,omitempty"`
	// Optional SHA-256 of the content, checked before the file appears.
	Sha256 []byte `protobuf:"bytes,5,opt,name=sha256,proto3" json:"sha256,omitempty"`
	// contains filtered or unexported fields
}

UploadHeader opens an Upload. It is the stream's first message and the only header.

func (*UploadHeader) Descriptor deprecated

func (*UploadHeader) Descriptor() ([]byte, []int)

Deprecated: Use UploadHeader.ProtoReflect.Descriptor instead.

func (*UploadHeader) GetFiberId

func (x *UploadHeader) GetFiberId() string

func (*UploadHeader) GetMode

func (x *UploadHeader) GetMode() uint32

func (*UploadHeader) GetPath

func (x *UploadHeader) GetPath() string

func (*UploadHeader) GetSha256

func (x *UploadHeader) GetSha256() []byte

func (*UploadHeader) GetSize

func (x *UploadHeader) GetSize() uint64

func (*UploadHeader) ProtoMessage

func (*UploadHeader) ProtoMessage()

func (*UploadHeader) ProtoReflect

func (x *UploadHeader) ProtoReflect() protoreflect.Message

func (*UploadHeader) Reset

func (x *UploadHeader) Reset()

func (*UploadHeader) String

func (x *UploadHeader) String() string

type UploadRequest

type UploadRequest struct {

	// Types that are valid to be assigned to Part:
	//
	//	*UploadRequest_Header
	//	*UploadRequest_Data
	Part isUploadRequest_Part `protobuf_oneof:"part"`
	// contains filtered or unexported fields
}

UploadRequest is one message of an Upload stream. The first carries the header and every later one a data chunk of at most 1 MiB.

func (*UploadRequest) Descriptor deprecated

func (*UploadRequest) Descriptor() ([]byte, []int)

Deprecated: Use UploadRequest.ProtoReflect.Descriptor instead.

func (*UploadRequest) GetData

func (x *UploadRequest) GetData() []byte

func (*UploadRequest) GetHeader

func (x *UploadRequest) GetHeader() *UploadHeader

func (*UploadRequest) GetPart

func (x *UploadRequest) GetPart() isUploadRequest_Part

func (*UploadRequest) ProtoMessage

func (*UploadRequest) ProtoMessage()

func (*UploadRequest) ProtoReflect

func (x *UploadRequest) ProtoReflect() protoreflect.Message

func (*UploadRequest) Reset

func (x *UploadRequest) Reset()

func (*UploadRequest) String

func (x *UploadRequest) String() string

type UploadRequest_Data

type UploadRequest_Data struct {
	Data []byte `protobuf:"bytes,2,opt,name=data,proto3,oneof"`
}

type UploadRequest_Header

type UploadRequest_Header struct {
	Header *UploadHeader `protobuf:"bytes,1,opt,name=header,proto3,oneof"`
}

type WrongHome

type WrongHome struct {
	Home string `protobuf:"bytes,1,opt,name=home,proto3" json:"home,omitempty"`
	// contains filtered or unexported fields
}

WrongHome is attached as a detail to the Unauthenticated a Clone or Discard gets when the grant is not for this home, because it names another home or another grant than the one this home holds. home is this home's node id, the one audience it accepts, so the caller can fetch a grant for it. A grant that does not verify carries no detail.

func (*WrongHome) Descriptor deprecated

func (*WrongHome) Descriptor() ([]byte, []int)

Deprecated: Use WrongHome.ProtoReflect.Descriptor instead.

func (*WrongHome) GetHome

func (x *WrongHome) GetHome() string

func (*WrongHome) ProtoMessage

func (*WrongHome) ProtoMessage()

func (*WrongHome) ProtoReflect

func (x *WrongHome) ProtoReflect() protoreflect.Message

func (*WrongHome) Reset

func (x *WrongHome) Reset()

func (*WrongHome) String

func (x *WrongHome) String() string

Jump to

Keyboard shortcuts

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