abyss_core

package module
v0.1.202602121754 Latest Latest
Warning

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

Go to latest
Published: Feb 2, 2026 License: GPL-3.0 Imports: 0 Imported by: 0

Documentation

Overview

Package abyss_core provides the core networking module for the Abyss Browser. This builds a DLL library, and not expected to be used as an imported package. Subpackages can be imported for external use, but backward compatibility is not guaranteed.

See https://github.com/kadmila/Abyss-Browser

API Reference

For DLL exported functions and its usage, see https://pkg.go.dev/github.com/kadmila/Abyss-Browser/abyss_core/native_dll

Build Profiles

The project supports two build profiles: debug and release. Using `-tags=debug` enables the debug profile. Use ./build_dll_debug.ps1 or ./build_dll_debug.ps1 to build.

Subpackages

native_dll

Contains DLL exports for abyssnet.dll. The file `dllmain.go` defines export symbols, and `marshalling.go` provides dynamic-length byte array marshalling utilities.

aerr

Defines all custom error types used across the project.

ahmp

Contains AHMP message definitions. Serialization is not included. For protocol details, see the AHMP specification.

and

Implements the Abyss world neighbor discovery protocol.

aurl

AbyssURL(AURL) handling and parsing utilities.

crash

TODO: crash dump utility.

host

main QUIC host

interfaces

Interfaces hiding low-level network protocol implementations. This is designed for compatibility between different communication protocol/abyss neighbor discovery protocol implementations.

net_service

low level networking service (implements `interfaces`).

test

test suits

test_logs

Stores .log files for test results. This directory should not be committed to the repository.

tools

utilities and helpers.

watchdog

debug watchdog.

See individual types and functions for more detailed documentation.

Directories

Path Synopsis
abyst package provides abyst gateway
abyst package provides abyst gateway
ahmp package provides definition of ahmp message types, and provide helper tools.
ahmp package provides definition of ahmp message types, and provide helper tools.
ahost (alpha/abyss host) is a revised abyss host implementation of previous host package.
ahost (alpha/abyss host) is a revised abyss host implementation of previous host package.
and (Abyss Neighbor Discovery) algorithm defines worlds in abyss network.
and (Abyss Neighbor Discovery) algorithm defines worlds in abyss network.
ani (abyss new interface) is a refined abyss interface set for abyss alpha release.
ani (abyss new interface) is a refined abyss interface set for abyss alpha release.
Package ann (abyss net node) provides QUIC node that can establish abyss P2P connections and TLS client auth HTTPS connections.
Package ann (abyss net node) provides QUIC node that can establish abyss P2P connections and TLS client auth HTTPS connections.
Package fw is a configurable firewall for abyss P2P network.
Package fw is a configurable firewall for abyss P2P network.
package sec provides security-related functions for abyss.
package sec provides security-related functions for abyss.
tools
ds

Jump to

Keyboard shortcuts

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