Skip to content

popcorn-2/core-protocols

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

57 Commits
 
 
 
 
 
 

Repository files navigation

Core Popcorn2 protocols

This repository contains the .pip source files for all core Popcorn2 protocols (common name beginning with core., and GUID of the form 00000000-00000000-0000-XXXX). These are contained within the source subfolder. Additionally, CI generated language bindings for various languages are contained within their respective subfolders.

With a couple of exceptions (see below), none of these are technically required for a functional Popcorn2 installation. However, all system libraries, and therefore all compiled exectuables, will assume existence of all of them, so replacing them would require a large amount of work. In a typical installation these protocols will be compiled to .pipb files and installed to /System/proto/.

The core.object.Object protocol (00000000-00000000-0000-0000) is so fundamental to the function of Popcorn2 that the system cannot run without it, and it is directly compiled into the kernel. Additionally, some of the methods are impossible to express in pip source files. An approximation of the definition of core.object.Object is below (note: this is invalid syntax and will not compile).

interface core.object.Object(00000000-00000000-0000-0000) {
	static@0 open(endpoint: str, protocols: mem) -> impl<>!err;
	func@1 destroy();
	func@2 extend(protocols: mem) -> !err;
}

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages