<commit_before># User Guide

***Note:*** this guide describes how to use the new *ordered* option in Gorums.
This option will likely become the default at some point in the future.

It may be relevant to read the gRPC "Getting Started" documentation found
[here](http://www.grpc.io/docs/) before continuing.
Gorums uses gRPC under the hood, and exposes some of its configuration.
In addition, the implementation of a Gorums server is similar to implementing a gRPC server.

## Prerequisites

This guide describes how to use Gorums as a user. The guide requires a working
Go installation and that `$GOPATH/bin` is in your `$PATH`. At least Go
version 1.13 is required.

There are a few tools that need to be installed first:

First, we need version 3 of ```protoc```, the
Protocol Buffers Compiler. Installation of this tool is
OS/distribution specific. See
https://github.com/google/protobuf/releases and
https://developers.google.com/protocol-buffers.

Second, we need to install the [Go plugin](https://github.com/protocolbuffers/protobuf-go) for `protoc`.
It can be installed with the following commmand:

```shell
go get google.golang.org/protobuf/cmd/protoc-gen-go
```

Finally, we can install the Gorums plugin:

```shell
go get github.com/relab/gorums/cmd/protoc-gen-gorums
```

## Creating and compiling a Protobuf service description into Gorums code
<commit_msg>Fixed misspelled word and made markdownlint happy<commit_after># User Guide

***Note:*** this guide describes how to use the new *ordered* option in Gorums.
This option will likely become the default at some point in the future.

It may be relevant to read the gRPC "Getting Started" documentation found
[here](http://www.grpc.io/docs/) before continuing.
Gorums uses gRPC under the hood, and exposes some of its configuration.
In addition, the implementation of a Gorums server is similar to implementing a gRPC server.

## Prerequisites

This guide describes how to use Gorums as a user. The guide requires a working
Go installation and that `$GOPATH/bin` is in your `$PATH`. At least Go
version 1.13 is required.

There are a few tools that need to be installed first:

First, we need version 3 of ```protoc```, the
Protocol Buffers Compiler. Installation of this tool is
OS/distribution specific. See
<https://github.com/google/protobuf/releases> and
<https://developers.google.com/protocol-buffers>.

Second, we need to install the [Go plugin](https://github.com/protocolbuffers/protobuf-go) for `protoc`.
It can be installed with the following command:

```shell
go get google.golang.org/protobuf/cmd/protoc-gen-go
```

Finally, we can install the Gorums plugin:

```shell
go get github.com/relab/gorums/cmd/protoc-gen-gorums
```

## Creating and compiling a Protobuf service description into Gorums code

{'fraction_non_alphanumeric': 0.08695652173913043, 'fraction_numerical': 0.002874595759971254, 'mean_word_length': 4.5568862275449105, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 5, 'https://': 6, 'lorem ipsum': 0, 'www.': 2, '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': '1627622', 'n_tokens_mistral': 809, 'n_tokens_neox': 772, 'n_words': 364}