class (KnownSymbol (ServiceName s), KnownSymbol (ServicePackage s), HasAllMethods s (ServiceMethods s)) => Service (s :: k) whereMetadata describing a protobuf service. The s parameter is a phantom
type generated by proto-lens.
The ServiceName and ServicePackage associated type can be used to generate RPC endpoint paths.
ServiceMethods is a promoted list containing every method defined on the service. As witnessed by the HasAllMethods superclass constraint here, this type can be used to discover every instance of HasMethod available for the service.
Associated types
type family ServiceName (s :: k) :: Symboltype family ServicePackage (s :: k) :: Symboltype family ServiceMethods (s :: k) :: [Symbol]
Methods
packedServiceDescriptor :: Proxy s -> ByteString