# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT!
import grpc
from grpc.framework.common import cardinality
from grpc.framework.interfaces.face import utilities as face_utilities
import dlpa.dlpa_pb2 as dlpa_dot_dlpa__pb2
[docs]class DLPAStub(object):
  """DLPA defines the interface of distributed Laplace Perturbation
  Algorithm (DLPA) service.
  """
  def __init__(self, channel):
    """Constructor.
    Args:
      channel: A grpc.Channel.
    """
    self.GetKey = channel.unary_unary(
        '/dlpa.DLPA/GetKey',
        request_serializer=dlpa_dot_dlpa__pb2.GetKeyRequest.SerializeToString,
        response_deserializer=dlpa_dot_dlpa__pb2.ClientKey.FromString,
        )
    self.PutEncryptSum = channel.unary_unary(
        '/dlpa.DLPA/PutEncryptSum',
        request_serializer=dlpa_dot_dlpa__pb2.Ciphertext.SerializeToString,
        response_deserializer=dlpa_dot_dlpa__pb2.Ciphertext.FromString,
        )
    self.PutEncryptSumShare = channel.unary_unary(
        '/dlpa.DLPA/PutEncryptSumShare',
        request_serializer=dlpa_dot_dlpa__pb2.DecryptionShare.SerializeToString,
        response_deserializer=dlpa_dot_dlpa__pb2.NoResponse.FromString,
        )
    self.PutEncryptSumSquared = channel.unary_unary(
        '/dlpa.DLPA/PutEncryptSumSquared',
        request_serializer=dlpa_dot_dlpa__pb2.Ciphertext.SerializeToString,
        response_deserializer=dlpa_dot_dlpa__pb2.Ciphertext.FromString,
        )
    self.PutEncryptSumSquaredShare = channel.unary_unary(
        '/dlpa.DLPA/PutEncryptSumSquaredShare',
        request_serializer=dlpa_dot_dlpa__pb2.DecryptionShare.SerializeToString,
        response_deserializer=dlpa_dot_dlpa__pb2.NoResponse.FromString,
        )
    self.PutEncryptNoisySum = channel.unary_unary(
        '/dlpa.DLPA/PutEncryptNoisySum',
        request_serializer=dlpa_dot_dlpa__pb2.EncryptNoisySumCiphertexts.SerializeToString,
        response_deserializer=dlpa_dot_dlpa__pb2.EncryptNoisySumCiphertexts.FromString,
        )
    self.PutEncryptNoisySumShare = channel.unary_unary(
        '/dlpa.DLPA/PutEncryptNoisySumShare',
        request_serializer=dlpa_dot_dlpa__pb2.EncryptNoisySumCiphertexts.SerializeToString,
        response_deserializer=dlpa_dot_dlpa__pb2.Ciphertext.FromString,
        )
    self.PutEncryptNoisySumLastShare = channel.unary_unary(
        '/dlpa.DLPA/PutEncryptNoisySumLastShare',
        request_serializer=dlpa_dot_dlpa__pb2.DecryptionShare.SerializeToString,
        response_deserializer=dlpa_dot_dlpa__pb2.NoResponse.FromString,
        ) 
[docs]class DLPAServicer(object):
  """DLPA defines the interface of distributed Laplace Perturbation
  Algorithm (DLPA) service.
  """
[docs]  def GetKey(self, request, context):
    """GetKey is used in the setup phase to obtain keys.
    """
    context.set_code(grpc.StatusCode.UNIMPLEMENTED)
    context.set_details('Method not implemented!')
    raise NotImplementedError('Method not implemented!') 
[docs]  def PutEncryptSum(self, request, context):
    """PutEncryptSum is used in the first step of Encrypt-Sum protocol, to
    upload a ciphertext. It returns an aggregated ciphertext to create a
    decription share.
    """
    context.set_code(grpc.StatusCode.UNIMPLEMENTED)
    context.set_details('Method not implemented!')
    raise NotImplementedError('Method not implemented!') 
[docs]  def PutEncryptSumShare(self, request, context):
    """PutEncryptSumShare is used in the second step of Encrypt-Sum protocol, to
    upload a decryption share.
    """
    context.set_code(grpc.StatusCode.UNIMPLEMENTED)
    context.set_details('Method not implemented!')
    raise NotImplementedError('Method not implemented!') 
[docs]  def PutEncryptSumSquared(self, request, context):
    """PutEncryptSumSquared is used in the first step of Encrypt-Sum-Squared
    protocol, to upload a Ciphertext. It returns an aggregated ciphertext to
    create a decryption share.
    """
    context.set_code(grpc.StatusCode.UNIMPLEMENTED)
    context.set_details('Method not implemented!')
    raise NotImplementedError('Method not implemented!') 
[docs]  def PutEncryptSumSquaredShare(self, request, context):
    """PutEncryptSumSquaredShare is used in the second step of Encrypt-Sum-Squared
    protocol, to upload a decryption share.
    """
    context.set_code(grpc.StatusCode.UNIMPLEMENTED)
    context.set_details('Method not implemented!')
    raise NotImplementedError('Method not implemented!') 
[docs]  def PutEncryptNoisySum(self, request, context):
    """PutEncryptNoisySum is used in the first step of Encrypt-Noisy-Sum protocol,
    to upload a ciphertext. It returns an aggregated ciphertext to create a
    decription share.
    """
    context.set_code(grpc.StatusCode.UNIMPLEMENTED)
    context.set_details('Method not implemented!')
    raise NotImplementedError('Method not implemented!') 
[docs]  def PutEncryptNoisySumShare(self, request, context):
    """PutEncryptNoisySumShare is used in the second step of Encrypt-Noisy-Sum
    protocol, to upload a set of decryption shares.
    """
    context.set_code(grpc.StatusCode.UNIMPLEMENTED)
    context.set_details('Method not implemented!')
    raise NotImplementedError('Method not implemented!') 
[docs]  def PutEncryptNoisySumLastShare(self, request, context):
    """PutEncryptNoisySumShare is used in the second step of Encrypt-Noisy-Sum
    protocol, to upload a last decryption share.
    """
    context.set_code(grpc.StatusCode.UNIMPLEMENTED)
    context.set_details('Method not implemented!')
    raise NotImplementedError('Method not implemented!')  
[docs]def add_DLPAServicer_to_server(servicer, server):
  rpc_method_handlers = {
      'GetKey': grpc.unary_unary_rpc_method_handler(
          servicer.GetKey,
          request_deserializer=dlpa_dot_dlpa__pb2.GetKeyRequest.FromString,
          response_serializer=dlpa_dot_dlpa__pb2.ClientKey.SerializeToString,
      ),
      'PutEncryptSum': grpc.unary_unary_rpc_method_handler(
          servicer.PutEncryptSum,
          request_deserializer=dlpa_dot_dlpa__pb2.Ciphertext.FromString,
          response_serializer=dlpa_dot_dlpa__pb2.Ciphertext.SerializeToString,
      ),
      'PutEncryptSumShare': grpc.unary_unary_rpc_method_handler(
          servicer.PutEncryptSumShare,
          request_deserializer=dlpa_dot_dlpa__pb2.DecryptionShare.FromString,
          response_serializer=dlpa_dot_dlpa__pb2.NoResponse.SerializeToString,
      ),
      'PutEncryptSumSquared': grpc.unary_unary_rpc_method_handler(
          servicer.PutEncryptSumSquared,
          request_deserializer=dlpa_dot_dlpa__pb2.Ciphertext.FromString,
          response_serializer=dlpa_dot_dlpa__pb2.Ciphertext.SerializeToString,
      ),
      'PutEncryptSumSquaredShare': grpc.unary_unary_rpc_method_handler(
          servicer.PutEncryptSumSquaredShare,
          request_deserializer=dlpa_dot_dlpa__pb2.DecryptionShare.FromString,
          response_serializer=dlpa_dot_dlpa__pb2.NoResponse.SerializeToString,
      ),
      'PutEncryptNoisySum': grpc.unary_unary_rpc_method_handler(
          servicer.PutEncryptNoisySum,
          request_deserializer=dlpa_dot_dlpa__pb2.EncryptNoisySumCiphertexts.FromString,
          response_serializer=dlpa_dot_dlpa__pb2.EncryptNoisySumCiphertexts.SerializeToString,
      ),
      'PutEncryptNoisySumShare': grpc.unary_unary_rpc_method_handler(
          servicer.PutEncryptNoisySumShare,
          request_deserializer=dlpa_dot_dlpa__pb2.EncryptNoisySumCiphertexts.FromString,
          response_serializer=dlpa_dot_dlpa__pb2.Ciphertext.SerializeToString,
      ),
      'PutEncryptNoisySumLastShare': grpc.unary_unary_rpc_method_handler(
          servicer.PutEncryptNoisySumLastShare,
          request_deserializer=dlpa_dot_dlpa__pb2.DecryptionShare.FromString,
          response_serializer=dlpa_dot_dlpa__pb2.NoResponse.SerializeToString,
      ),
  }
  generic_handler = grpc.method_handlers_generic_handler(
      'dlpa.DLPA', rpc_method_handlers)
  server.add_generic_rpc_handlers((generic_handler,))