Module: Spikard::Grpc

Defined in:
lib/spikard/grpc.rb

Overview

gRPC support for Spikard

This module provides Ruby bindings for handling gRPC requests through Spikard’s Rust-based gRPC runtime. Handlers receive protobuf messages as binary strings and use the google-protobuf gem for serialization.

Examples:

Basic gRPC handler

require 'spikard/grpc'
require 'user_pb'  # Generated protobuf

class UserServiceHandler < Spikard::Grpc::Handler
  def handle_request(request)
    case request.method_name
    when 'GetUser'
      # Deserialize request
      req = Example::GetUserRequest.decode(request.payload)

      # Process request
      user = Example::User.new(id: req.id, name: 'John Doe')

      # Serialize response
      Spikard::Grpc::Response.new(payload: Example::User.encode(user))
    else
      raise "Unknown method: #{request.method_name}"
    end
  end
end

Defined Under Namespace

Classes: Handler, Request, Response, Service