newspolyglot

package module
v0.0.0-...-5dcd16a Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 9, 2021 License: MIT Imports: 2 Imported by: 4

README

fastnntp-polyglot

(Potentially) Polyglot News Storage Framework (The API is unstable and will break builds!!!)

Documentation

Overview

Polyglot Usenet-News Storage Framework

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ReleaseArticleObject

func ReleaseArticleObject(ao *ArticleObject)

func ReleaseArticleOverview

func ReleaseArticleOverview(ao *ArticleOverview)

Types

type ArticleDirectDB

type ArticleDirectDB interface {
	ArticleDirectStat(id []byte) bool
	ArticleDirectGet(id []byte, head, body bool) *ArticleObject
	ArticleDirectOverview(id []byte) *ArticleOverview
}

type ArticleGroupDB

type ArticleGroupDB interface {
	ArticleGroupStat(group []byte, num int64, id_buf []byte) ([]byte, bool)
	ArticleGroupGet(group []byte, num int64, head, body bool, id_buf []byte) ([]byte, *ArticleObject)
	ArticleGroupOverview(group []byte, first, last int64, targ func(int64, *ArticleOverview))
	ArticleGroupMove(group []byte, i int64, backward bool, id_buf []byte) (ni int64, id []byte, ok bool)
	ArticleGroupList(group []byte, first, last int64, targ func(int64))
}

type ArticleObject

type ArticleObject struct {
	Head, Body []byte

	Bufs [2]*[]byte
}

func AcquireArticleObject

func AcquireArticleObject() *ArticleObject

type ArticleOverview

type ArticleOverview struct {
	// This structure is fixed. It shall not change.
	Subject, From, Date, MsgId, Refs []byte
	Bytes, Lines                     int64
}

func AcquireArticleOverview

func AcquireArticleOverview() *ArticleOverview

type ArticlePostingDB

type ArticlePostingDB interface {
	ArticlePostingPost(headp *posting.HeadInfo, body []byte, ngs [][]byte, numbs []int64) (rejected bool, failed bool, err error)
	ArticlePostingCheckPost() (possible bool)
	ArticlePostingCheckPostId(id []byte) (wanted bool, possible bool)
}

type GroupHeadCache

type GroupHeadCache interface {
	// Filters the list "groups" removing those groups that
	// eighter not exist or they can't be posted to.
	GroupHeadFilter(groups [][]byte) ([][]byte, error)
}

Cacheable Group-Head

type GroupHeadDB

type GroupHeadDB interface {
	GroupHeadInsert(groups [][]byte, buf []int64) ([]int64, error)
	GroupHeadRevert(groups [][]byte, nums []int64) error
}

type GroupRealtimeDB

type GroupRealtimeDB interface {
	GroupRealtimeQuery(group []byte) (number int64, low int64, high int64, ok bool)
	GroupRealtimeList(targ func(group []byte, high, low int64, status byte)) bool
}

type GroupStaticDB

type GroupStaticDB interface {
	GroupStaticList(targ func(group []byte, descr []byte)) bool
}

Directories

Path Synopsis
Authentication Implementations.
Authentication Implementations.
cassauth
Cassandra backend for authentication.
Cassandra backend for authentication.
pwdbcrypt
BCRYPT Password-Hash plugin.
BCRYPT Password-Hash plugin.
pwdhash
Password-Hash Interface.
Password-Hash Interface.
Apache Cassandra based Backend for Article Storage.
Apache Cassandra based Backend for Article Storage.
Mature implemenations of various backend-modules.
Mature implemenations of various backend-modules.
ad.cass
Cassandra backend for gold.ArticleDirectEX.
Cassandra backend for gold.ArticleDirectEX.
ad.pgbadge
PostgreSQL + Badger for storage.
PostgreSQL + Badger for storage.
ag.cassm
Cassandra backend for GroupIDX.
Cassandra backend for GroupIDX.
gh.blue
Blue - In-Memory sequence using Apache Cassandra to record all changes.
Blue - In-Memory sequence using Apache Cassandra to record all changes.
gh.generic
Helper to implement GroupHead sequences.
Helper to implement GroupHead sequences.
gl.cass
Cassandra backend for gold.GroupListDB.
Cassandra backend for gold.GroupListDB.
policies_ex
Implementations for the interfaces provided by the 'policies' packages.
Implementations for the interfaces provided by the 'policies' packages.
Apache Cassandra based Backend for Article Storage.
Apache Cassandra based Backend for Article Storage.
Authenticated Posting
Authenticated Posting
Primitives providing access to remote servers.
Primitives providing access to remote servers.
mntp
MNTP: Minimalistic News Transfer Protocol.
MNTP: Minimalistic News Transfer Protocol.
nntpclient
Minimalistic Pipelined NNTP client.
Minimalistic Pipelined NNTP client.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL