anchor.diff:    the branch after creating the PR. Submitting the PR early gives us more time to
     provide feedback and perhaps help you with it.
   
  +[[protocol-modules]]
   == Protocol Modules
   
   Packetbeat's source code is split up in Go packages or modules. The protocol
  
positive.code: 
  [partintro]
  --
  This guide walks you through the steps needed to add a new protocol to
  Packetbeat.
  
  --
  
  == Getting Ready
  
  Packetbeat is written in http://golang.org/[Go], so having Go installed and knowing the basics are prerequisites for understanding this guide. But don't worry if you aren't a Go expert. Go is a relatively new language, and very few people are experts in it. In fact, several people learned Go by contributing to Packetbeat and libbeat, including the original Packetbeat authors.
  
negative.code: Use `applayer.Message` in conjunction with `applayer.Transaction` for creating the
  transaction and `applayer.Stream` to manage your stream buffers for parsing.
  
  [[testing]]
  == Testing
  
  [float]
  