Sign In Start Free Trial
Account

Add to playlist

Create a Playlist

Modal Close icon
You need to login to use this feature.
  • Elixir Cookbook
  • Toc
  • feedback
Elixir Cookbook

Elixir Cookbook

By : Paulo Pereira
4.5 (2)
close
Elixir Cookbook

Elixir Cookbook

4.5 (2)
By: Paulo Pereira

Overview of this book

This book is intended for users with some knowledge of the Elixir language syntax and basic data types/structures. Although this is a cookbook and no sequential reading is required, the book’s structure will allow less advanced users who follow it to be gradually exposed to some of Elixir’s features and concepts specific to functional programming. To get the most out of this book, you need to be well versed with Erlang.
Table of Contents (11 chapters)
close
10
Index

Implementing a GenServer

In this recipe, we will implement a simple server that will store pairs of values (IP and UUID).This might be used, for instance, to store users of a system who are currently connected.

In this recipe, we will only store the provided information and respond to requests on whether a user with a given IP is connected or not.

Getting ready

We will implement a server using the OTP-defined GenServer behavior. We will need to implement the start_link and init functions and some callbacks to handle the messages our server receives (handle_call or handle_cast). To make the interaction with the server more pleasant, we will create some wrappers around the callbacks creating a client API.

Note

The GenServer-defined behavior enforces the separation between client and server. An example of it is the fact that start_link/3 happens in the client, while init/1 is its counterpart callback that runs on the server.

The handle_call callback is a handler for synchronous calls while handle_cast...

bookmark search playlist font-size

Change the font size

margin-width

Change margin width

day-mode

Change background colour

Close icon Search
Country selected

Close icon Your notes and bookmarks

Delete Bookmark

Modal Close icon
Are you sure you want to delete it?
Cancel
Yes, Delete