View Source vedf_channel (erldist_filter v1.28.5)

Summary

Types

-type config() ::
    #{compact_fragments => boolean(),
      deep_packet_inspection => boolean(),
      logging => boolean(),
      otp_name_blocklist => boolean(),
      redirect_dist_operations => boolean(),
      sysname => undefined | erldist_filter_nif:sysname(),
      untrusted => boolean()}.
-type dpi() ::
    #dpi{channel :: t(),
         entry :: vdist_entry:t(),
         control :: udist:dop_t(),
         payload :: vterm:t() | undefined,
         compact_fragment :: binary(),
         otp_name_blocklist :: boolean()}.
-type dpi_result() :: #dpi_result{channel :: t(), actions :: [erldist_filter_nif:action()]}.
-type t() ::
    #vedf_channel{packet_size :: 0 | 1 | 2 | 4 | 8,
                  dflags :: vterm:u64(),
                  rx_sequences :: #{vdist:sequence_id() => vdist_external:t()},
                  rx_atom_cache :: undefined | vdist_atom_cache:t(),
                  rx_logger_time :: non_neg_integer(),
                  rx_router_name :: atom(),
                  rx_sort :: non_neg_integer(),
                  compact_fragments :: boolean(),
                  deep_packet_inspection :: boolean(),
                  logging :: boolean(),
                  otp_name_blocklist :: boolean(),
                  redirect_dist_operations :: boolean(),
                  sysname :: undefined | erldist_filter_nif:sysname(),
                  untrusted :: boolean()}.

Functions

Link to this function

cast_fragments_to_packets(Channel, Fragments)

View Source
-spec cast_fragments_to_packets(Channel, Fragments) -> Packets
                             when Channel :: t(), Fragments :: [binary()], Packets :: [binary()].
Link to this function

new(PacketSize, DistributionFlags)

View Source
-spec new(PacketSize, DistributionFlags) -> T
       when PacketSize :: 0 | 1 | 2 | 4 | 8, DistributionFlags :: vterm:u64(), T :: t().
Link to this function

new(PacketSize, DistributionFlags, Config)

View Source
-spec new(PacketSize, DistributionFlags, Config) -> T
       when
           PacketSize :: 0 | 1 | 2 | 4 | 8,
           DistributionFlags :: vterm:u64(),
           Config :: config(),
           T :: t().
Link to this function

recv(OldChannel, Packets)

View Source
-spec recv(OldChannel, Packets) -> {ok, Actions, NewChannel}
        when
            OldChannel :: t(),
            Packets :: [binary()],
            Actions :: [Action],
            Action :: erldist_filter_nif:action(),
            NewChannel :: t().
Link to this function

send_encode(Channel, ControlMessage, Options)

View Source
-spec send_encode(Channel, ControlMessage, Options) -> {ok, Packets, Channel}
               when
                   Channel :: t(),
                   ControlMessage :: vdist:dop_without_payload_t(),
                   Options :: vdist_entry_encode:options(),
                   Packets :: [binary()].
Link to this function

send_encode(Channel, ControlMessage, Payload, Options)

View Source
-spec send_encode(Channel, ControlMessage, Payload, Options) -> {ok, Packets, Channel}
               when
                   Channel :: t(),
                   ControlMessage :: vdist:dop_with_payload_t(),
                   Payload :: vterm:t(),
                   Options :: vdist_entry_encode:options(),
                   Packets :: [binary()].