# Generated by the protocol buffer compiler.  DO NOT EDIT!
# Source: ssh.proto for package 'gitaly'

require 'grpc'
require 'ssh_pb'

module Gitaly
  module SSHService
    # SSHService is a service that provides RPCs required for SSH-based Git clones.
    class Service

      include ::GRPC::GenericService

      self.marshal_class_method = :encode
      self.unmarshal_class_method = :decode
      self.service_name = 'gitaly.SSHService'

      # To forward 'git upload-pack' to Gitaly for SSH sessions
      rpc :SSHUploadPack, stream(::Gitaly::SSHUploadPackRequest), stream(::Gitaly::SSHUploadPackResponse)
      # To forward 'git upload-pack' to Gitaly for SSH sessions, via sidechannels
      rpc :SSHUploadPackWithSidechannel, ::Gitaly::SSHUploadPackWithSidechannelRequest, ::Gitaly::SSHUploadPackWithSidechannelResponse
      # To forward 'git receive-pack' to Gitaly for SSH sessions
      rpc :SSHReceivePack, stream(::Gitaly::SSHReceivePackRequest), stream(::Gitaly::SSHReceivePackResponse)
      # To forward 'git upload-archive' to Gitaly for SSH sessions
      rpc :SSHUploadArchive, stream(::Gitaly::SSHUploadArchiveRequest), stream(::Gitaly::SSHUploadArchiveResponse)
    end

    Stub = Service.rpc_stub_class
  end
end
