<commit_before># Step-0: define a service

This section presents an example of a simple service definition that receives
a message from a remote client. The message contains the user's name and
sends back a greeting to that person.

It's shown below in full; it's actually contained in separate file.
[helloworld.proto](src/main/proto/helloworld.proto).

```
syntax = "proto3";

package helloworld;

// The request message containing the user's name.
message HelloRequest {
  optional string name = 1;
}

// The response message containing the greetings
message HelloReply {
  optional string message = 1;
}

// The greeting service definition.
service Greeting {

  // Sends a greeting
  rpc hello (HelloRequest) returns (HelloReply) {
  }
}

```

The service stanza of the message is an example of protobuf service IDL
(Interface Defintion Language). Here, it defines a simple service that
receives a request containing a name and returns a response containing a
message.

Next, in [Step - 1](Step_1.md), we'll use protoc to generate client code from
this IDL.<commit_msg>Another typo.<commit_after># Step-0: define a service

This section presents an example of a simple service definition that receives
a message from a remote client. The message contains the user's name and
sends back a greeting to that person.

It's shown below in full; it's actually contained in separate file.
[helloworld.proto](src/main/proto/helloworld.proto).

```
syntax = "proto3";

package helloworld;

// The request message containing the user's name.
message HelloRequest {
  optional string name = 1;
}

// The response message containing the greetings
message HelloReply {
  optional string message = 1;
}

// The greeting service definition.
service Greeting {

  // Sends a greeting
  rpc hello (HelloRequest) returns (HelloReply) {
  }
}

```

The service stanza of the message is an example of protobuf service IDL
(Interface Definition Language). Here, it defines a simple service that
receives a request containing a name and returns a response containing a
message.

Next, in [Step - 1](Step_1.md), we'll use protoc to generate client code from
this IDL.
{'fraction_non_alphanumeric': 0.07119590507212657, 'fraction_numerical': 0.005583992554676594, 'mean_word_length': 4.2058111380145276, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '6553173', 'n_tokens_mistral': 611, 'n_tokens_neox': 575, 'n_words': 284}