Translation between the gRPC wire types (Hyper.Grpc.V0.*) and Hyper's domain
types. Two entry points, each dispatching by pattern match on the value's type:
from_grpc/1-- an inbound request message -> a domain value.to_grpc/1-- a domain result (or error) -> an outbound response message, or aGRPC.RPCErrorfor the server to raise.
Summary
Functions
Convert an inbound request message to a domain value.
Convert a domain result to an outbound response message, or an error to GRPC.RPCError.
Functions
@spec from_grpc(Hyper.Grpc.V0.CreateVmRequest.t()) :: {:ok, Hyper.Vm.Spec.t()} | {:error, term()}
@spec from_grpc(Hyper.Grpc.V0.LoadImageRequest.t()) :: {:ok, {String.t(), keyword()}} | {:error, :missing_image_ref}
Convert an inbound request message to a domain value.
@spec to_grpc({:created, Hyper.Vm.Id.t(), node()}) :: Hyper.Grpc.V0.CreateVmResponse.t()
@spec to_grpc({:forked, Hyper.Vm.Id.t(), node()}) :: Hyper.Grpc.V0.ForkVmResponse.t()
@spec to_grpc({:located, Hyper.Vm.Id.t(), node()}) :: Hyper.Grpc.V0.GetVmResponse.t()
@spec to_grpc({:usage, Hyper.Vm.Id.t(), Unit.Time.t()}) :: Hyper.Grpc.V0.GetVmUsageResponse.t()
@spec to_grpc({:vms, [{Hyper.Vm.Id.t(), node()}]}) :: Hyper.Grpc.V0.ListVmsResponse.t()
@spec to_grpc({:loaded, Hyper.Img.id()}) :: Hyper.Grpc.V0.LoadImageResponse.t()
@spec to_grpc(:stopped) :: Google.Protobuf.Empty.t()
@spec to_grpc({:error, term()}) :: GRPC.RPCError.t()
Convert a domain result to an outbound response message, or an error to GRPC.RPCError.