summaryrefslogtreecommitdiff
path: root/net/fstrm
diff options
context:
space:
mode:
authorhe <he@pkgsrc.org>2019-01-16 13:49:29 +0000
committerhe <he@pkgsrc.org>2019-01-16 13:49:29 +0000
commit16e4489d378ddf219ad747a3e05ac8fa242c4d4d (patch)
tree44c0bb375731559a92faf3c8e384286dcacf6bb2 /net/fstrm
parent714a279e748208fe0982fb12d37614e2b9fd69f2 (diff)
downloadpkgsrc-16e4489d378ddf219ad747a3e05ac8fa242c4d4d.tar.gz
Import fstrm version 0.4.0.
This is fstrm, a C implementation of the Frame Streams data transport protocol. Frame Streams is a light weight, binary clean protocol that allows for the transport of arbitrarily encoded data payload sequences with minimal framing overhead -- just four bytes per data frame. Frame Streams does not specify an encoding format for data frames and can be used with any data serialization format that produces byte sequences, such as Protocol Buffers, XML, JSON, MessagePack, YAML, etc. Frame Streams can be used as both a streaming transport over a reliable byte stream socket (TCP sockets, TLS connections, AF_UNIX sockets, etc.) for data in motion as well as a file format for data at rest. A "Content Type" header identifies the type of payload being carried over an individual Frame Stream and allows cooperating programs to determine how to interpret a given sequence of data payloads. fstrm is an optimized C implementation of Frame Streams that includes a fast, lockless circular queue implementation and exposes library interfaces for setting up a dedicated Frame Streams I/O thread and asynchronously submitting data frames for transport from worker threads. It was originally written to facilitate the addition of high speed binary logging to DNS servers written in C using the dnstap log format.
Diffstat (limited to 'net/fstrm')
-rw-r--r--net/fstrm/DESCR24
-rw-r--r--net/fstrm/Makefile26
-rw-r--r--net/fstrm/PLIST18
-rw-r--r--net/fstrm/distinfo6
4 files changed, 74 insertions, 0 deletions
diff --git a/net/fstrm/DESCR b/net/fstrm/DESCR
new file mode 100644
index 00000000000..1a3d2c89378
--- /dev/null
+++ b/net/fstrm/DESCR
@@ -0,0 +1,24 @@
+This is fstrm, a C implementation of the Frame Streams data transport
+protocol.
+
+Frame Streams is a light weight, binary clean protocol that allows
+for the transport of arbitrarily encoded data payload sequences
+with minimal framing overhead -- just four bytes per data frame.
+Frame Streams does not specify an encoding format for data frames
+and can be used with any data serialization format that produces
+byte sequences, such as Protocol Buffers, XML, JSON, MessagePack,
+YAML, etc. Frame Streams can be used as both a streaming transport
+over a reliable byte stream socket (TCP sockets, TLS connections,
+AF_UNIX sockets, etc.) for data in motion as well as a file format
+for data at rest. A "Content Type" header identifies the type of
+payload being carried over an individual Frame Stream and allows
+cooperating programs to determine how to interpret a given sequence
+of data payloads.
+
+fstrm is an optimized C implementation of Frame Streams that includes
+a fast, lockless circular queue implementation and exposes library
+interfaces for setting up a dedicated Frame Streams I/O thread and
+asynchronously submitting data frames for transport from worker
+threads. It was originally written to facilitate the addition of
+high speed binary logging to DNS servers written in C using the
+dnstap log format.
diff --git a/net/fstrm/Makefile b/net/fstrm/Makefile
new file mode 100644
index 00000000000..eed441abfbd
--- /dev/null
+++ b/net/fstrm/Makefile
@@ -0,0 +1,26 @@
+# $NetBSD: Makefile,v 1.1 2019/01/16 13:49:29 he Exp $
+
+DISTNAME= fstrm-0.4.0
+CATEGORIES= net
+MASTER_SITES= ${MASTER_SITE_GITHUB:=farsightsec/}
+GITHUB_TAG= v${PKGVERSION_NOREV}
+GITHUB_TYPE= tag
+
+MAINTAINER= he@NetBSD.org
+HOMEPAGE= https://github.com/farsightsec/fstrm/
+COMMENT= C implementation of the Frame Streams data transport protocol
+LICENSE= apache-2.0
+
+USE_TOOLS+= autoconf
+USE_TOOLS+= automake
+USE_TOOLS+= pkg-config
+USE_TOOLS+= gmake
+USE_LIBTOOL= yes
+GNU_CONFIGURE= yes
+USE_LANGUAGES+= c
+
+pre-configure:
+ cd ${WRKSRC} && sh ./autogen.sh
+
+.include "../../devel/libevent/buildlink3.mk"
+.include "../../mk/bsd.pkg.mk"
diff --git a/net/fstrm/PLIST b/net/fstrm/PLIST
new file mode 100644
index 00000000000..d990b9eeb0f
--- /dev/null
+++ b/net/fstrm/PLIST
@@ -0,0 +1,18 @@
+@comment $NetBSD: PLIST,v 1.1 2019/01/16 13:49:29 he Exp $
+bin/fstrm_capture
+bin/fstrm_dump
+bin/fstrm_replay
+include/fstrm.h
+include/fstrm/control.h
+include/fstrm/file.h
+include/fstrm/iothr.h
+include/fstrm/rdwr.h
+include/fstrm/reader.h
+include/fstrm/tcp_writer.h
+include/fstrm/unix_writer.h
+include/fstrm/writer.h
+lib/libfstrm.la
+lib/pkgconfig/libfstrm.pc
+man/man1/fstrm_capture.1
+man/man1/fstrm_dump.1
+man/man1/fstrm_replay.1
diff --git a/net/fstrm/distinfo b/net/fstrm/distinfo
new file mode 100644
index 00000000000..e1e39bade2d
--- /dev/null
+++ b/net/fstrm/distinfo
@@ -0,0 +1,6 @@
+$NetBSD: distinfo,v 1.1 2019/01/16 13:49:29 he Exp $
+
+SHA1 (fstrm-0.4.0.tar.gz) = 022f3ddcea79de6fe62b06f87026372d3cad2646
+RMD160 (fstrm-0.4.0.tar.gz) = 55060dece27c61ccd478020411448674b5ff78be
+SHA512 (fstrm-0.4.0.tar.gz) = 5412340e0fed79abdcdafc290c18b3cb351c5d04e4e11af2ef78878c4915cc3be6bc7b94397d302cbd721d83be9164482fab0577baa9680c9075848899def1cc
+Size (fstrm-0.4.0.tar.gz) = 194789 bytes