Skip to content

New Client API #85

Description

@robertmaynard

Lets change around the client api so that all the method calls follow a more consistent
naming convention.

class Client
{
  //return the connection info that was used to connect to the
  //remus server
  const remus::client::ServerConnection& connection() const;

  //Submit a request to the server to see if the server supports
  //the requested input and output mesh types
  bool canMesh(const remus::common::MeshIOType& meshtypes);

  //Submit a request to the server to see if the server supports
  //the exact requested requirements
  bool canMesh(const remus::proto::JobRequirements& requirements);

  //submit a request to the server to see if the server supports
  //the request input and output mesh types. If the server does support
  //the given types, return a collection of JobRequirements
  remus::proto::JobRequirementsSet requirements( const remus::common::MeshIOType& meshtypes );

  //Submit a job to the server. The job submission has a JobData and
  //a JobRequirements component
  remus::proto::Job submit(const remus::proto::JobSubmission& submission);

  //Given a remus Job object returns the status of the job
  remus::proto::JobStatus status(const remus::proto::Job& job);

  //Return job result of of a give job
  remus::proto::JobResult results(const remus::proto::Job& job);

  //attempts to terminate a given job, will kill the job if the job hasn't
  //started. If the job has been finished and the results
  //are on the server the results will be deleted. If the job is in process
  //this will be unable to kill the job.
  remus::proto::JobStatus terminate(const remus::proto::Job& job);

};

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

      Milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions