anchor.diff:           get_channel/1,
            get_swarm_id/1]).
   
  --opaque channel() :: {channel, channel_option()}.
  --opaque channel_option() :: 0..16#ffffffff.
  --export_type([channel/0, channel_option/0]).
  +-opaque channel() :: 0..16#ffffffff.
  +-export_type([channel/0]).
   
   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   %% api
  
positive.code: -module(ppspp_channel).
  -include("swirl.hrl").
  
  -ifdef(TEST).
  -include_lib("eunit/include/eunit.hrl").
  -endif.
  
  %% api
  -export([unpack_channel/1,
  
negative.code: %% @end
  
  -spec where_is(channel()) -> {ok, pid()} | {error, any()}.
  where_is(Channel) ->
      case gproc:lookup_local_name({?MODULE, Channel}) of
          undefined -> {error, ppspp_channel_not_found};
          Pid -> {ok, Pid}
      end.
  