Instantly share code, notes, and snippets.

Always working.

Christopher S. Meiklejohn cmeiklejohn

View GitHub Profile



Protocol Implementation: Direct Mail

We start by creating a gen_server for the direct mail protocol implementation. This implementation will support two calls broadcast, for sending a message, and update, for updating the membership received from the Partisan system for when view changes occur. For state at each node, we'll track the currently known membership, so we don't have to look it up every time we want to make a broadcast.

%% API

Understand the change that we're trying to make and where it fits into the system conceptually.

In our case, we're looking at adding another membership strategy to Partisan. The membership strategy we're looking to add is a superset of one of the existing strategies (HiScamp is a superset of Scamp functionality.)

Determine the application programming interface used between this component and the rest of the system.

Each membership strategy in partisan uses a well defined interface -- figure out how this interacts with the rest of the system and how the existing strategy (Scamp, in this case) operates using this API.

Design a plan for extending this isolated component incrementally.

View .fonts.conf
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<match target="font" >
<edit mode="assign" name="rgba" >
<match target="font" >
<edit mode="assign" name="hinting" >