asif: Library for creating and querying segmented feeds

[ library, mit, program, services ] [ Propose Tags ]

Library for creating and querying segmented feeds. Please see

[Skip to Readme]
Versions [RSS] [faq] 1.0.0, 2.0.0, 3.0.0, 3.1.0, 3.2.0, 3.3.4, 3.4.0, 4.0.0, 4.0.1, 4.1.0, 5.0.0, 5.0.1, 5.0.2, 6.0.0, 6.0.1, 6.0.3, 6.0.4
Change log
Dependencies asif, attoparsec (>=0.13), base (>=4.7 && <5), binary (>=0.8), bytestring (>=0.10), conduit (>=1.3), conduit-combinators (>=1.3), conduit-extra (>=1.3), containers (>=0.5), cpu (>=0.1), directory (>=1.3), either (>=5.0), exceptions (>=0.10), foldl (>=1.4), generic-lens (>=, hw-bits (>=0.7), hw-ip (>=2.3), lens (>=4.17), network (>=2), old-locale (>=1.0), optparse-applicative (>=0.14), profunctors (>=5.3), resourcet (>=1.2.2), temporary-resourcet (>=0.1), text (>=1.2), thyme (>=0.3), transformers (>=0.5), vector (>=0.12) [details]
License MIT
Copyright Arbor Networks
Author Arbor Networks
Revised Revision 1 made by newhoggy at 2020-01-21T23:54:20Z
Category Services
Home page
Bug tracker
Source repo head: git clone
Uploaded by arbornetworks at 2020-01-17T12:51:20Z
Distributions NixOS:6.0.4
Executables asif
Downloads 6894 total (25 in the last 30 days)
Rating 2.0 (votes: 1) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Hackage Matrix CI
Docs available [build log]
Last success reported on 2020-01-17 [all 1 reports]


[Index] [Quick Jump]


Note: This package has metadata revisions in the cabal description newer than included in the tarball. To unpack the package including the revisions, use 'cabal get'.

Maintainer's Corner

For package maintainers and hackage trustees


Readme for asif-6.0.4

[back to package description]

Arbor Safe Intelligence Format (asif)


Library for creating and querying segmented feeds.

File Format Specification

Layer 0: Segments

|Segmented OSI Model |

 magic, where XXXX is a feed type (0-12 chars)
| "seg:XXXX" [char:16] |

c -- countries
a -- asns
n -- naics

| seg_num: uint64 |

| segment_offset: int32 | segment_length: int32 |

 segment vector
| key: X, ... |

 segment vector
| val: Y, ... |

Vector keys are fixed-length values such as 4-byte IPv4 addresses, 2-byte country codes, or 4-byte NAIC IDs.

All values are little-endian.

Values are other ints or can be null-terminated strings.

Layer 1: Segment filenames

Segment 0 must contain a concatenated list of null terminated filenames.

The first filename must be .asif/filenames.

The n-th filename in the segment 0 describes the n-th segment in the file.

Layer 2: Additional metadata

The asif file may contain contain a named segment .asif/createtime. If it does, this segment concatenated Word64 numbers representing the create time of each file in microseconds since epoch. If the segment does not have a create time, it's create time entry will be 0 instead.

The asif file may contain contain a named segment .asif/formats. If it does, this segment concatenated null terminated strings representing the format of the data in the respective segments. The dump command will use this information to choose the most appropriate way to print the data in each segment.


CLI documentation