Breep is a c++ bridged peer to peer library. What does that mean? It means that even though the network is constructed as a peer to peer one, there may be no direct connections between two dudes, say A and B, if these connections are impossible (due to poorly configured ports, for example). In that case, Breep will attempt to use another peer C as a bridge between A and B. Breep is also a high-level library. You don't have to care on when peers connect, disconnect, send data, and on how to send your classes. You simply register listeners that get notified when peers come and go, when they send you stuff. You may even use serialization and send your own object directly through the network. Same goes for your listeners: you don't say 'I want to listen for piles of bytes', but instead you say 'I want to listen for fancy::MyClass'. The BREEP_DECLARE_TYPE involved here is used to tell to breep::network that we will listen/send some std::strings. If you forget to do it, you will get a compile-time error.
https://github.com/Organic-Code/BreepTags | cplusplus-14 peer-to-peer high-level library networking network-library cplusplus p2p |
Implementation | C++ |
License | Public |
Platform |
This document presents libp2p, a modularized and extensible network stack to overcome the networking challenges faced when doing peer-to-peer applications. libp2p is used by IPFS as its networking library. libp2p is a networking stack and library modularized out of The IPFS Project, and bundled separately for other tools to use.
CppSharp is a tool and set of libraries which allows programmers to use C/C++ libraries with high-level programming languages (such as C#).It is a tool that takes C/C++ header and library files and generates the necessary glue to surface the native API as a managed API. Such an API can be used to consume an existing native library in your high-level code or add scripting support to a native codebase.
cppsharp parsing glue syntax-tree c-sharp clang mono visitors cplusplus parser xamarin xamarin-bindings swig interop bindings pinvoke bridgeThis C++14 library is meant for accessing structure elements by index and providing other std::tuple like methods for user defined types without any macro or boilerplate code. Distributed under the Boost Software License, Version 1.0.
boost std reflection cpp14 cpp17 reflections reflection-library cpp cplusplus cplusplus-14 tuple tuples magic visual-studio gcc clangTML Messaging Suite is a network messaging library for rapid development of extensible and scalable interfaces. Based on the peer to peer standard protocol BEEP (Blocks Extensible Exchange Protocol), defined in RFC3080 and RFC3081 libTML is suitable for many use cases and communication patterns. The libtml-c project is a C++ implementation of a library with a C interface on top of the Vortex beepcore.
networking-library socket asynchronous networking communication library messagingFit is a header-only C++11/C++14 library that provides utilities for functions and function objects, which can solve many problems with much simpler constructs than whats traditionally been done with metaprogramming. This requires a C++11 compiler. There are no third-party dependencies. This has been tested on clang 3.5-3.8, gcc 4.6-6.2, and Visual Studio 2015. Gcc 5.1 is not supported at all, however, gcc 5.4 is supported.
modern constexpr cplusplus lambda functional c-plus-plus cplusplus-11 cplusplus-14 cpp cpp11 cpp14 functional-programmingThis document presents libp2p, a modularized and extensible network stack to overcome the networking challenges faced when doing peer-to-peer applications. libp2p is used by IPFS as its networking library. This describes the IPFS network protocol. The network layer provides point-to-point transports (reliable and unreliable) between any two IPFS nodes in the network.
libp2p is a networking stack and library modularized out of The IPFS Project, and bundled separately for other tools to use. libp2p is the product of a long, and arduous quest of understanding -- a deep dive into the internet's network stack, and plentiful peer-to-peer protocols from the past. Building large scale peer-to-peer systems has been complex and difficult in the last 15 years, and libp2p is a way to fix that. It is a "network stack" -- a protocol suite -- that cleanly separates concerns, and enables sophisticated applications to only use the protocols they absolutely need, without giving up interoperability and upgradeability. libp2p grew out of IPFS, but it is built so that lots of people can use it, for lots of different projects.
Now we tell sqlite_orm library about schema and provide database filename. We create storage service object that has CRUD interface. Also we create every table and every column. All code is intuitive and minimalistic. Too easy isn't it? You do not have to specify mapped type explicitly - it is deduced from your member pointers you pass during making a column (for example: &User::id). To create a column you have to pass two arguments at least: its name in the table and your mapped class member pointer. You can also add extra arguments to tell your storage about column's constraints like not_null (deduced from type), primary_key, autoincrement, default_value or unique(order isn't important).
sqlite-orm crud orm cplusplus cplusplus-14 sqlite cpp modern-cpp sql sqliteormSocialVPN is an open-source IPOP-based virtual network that connects your computers privately to your friends’ computers. It automatically maps online social network relationships using Jingle and XMPP to create your own user-defined peer-to-peer VPNs – with no hassle, and supporting unmodified TCP/IP applications.
vpn virtual-private-network p2p peer-to-peer-vpn social-network jingle xmppLibSourcey is a collection of cross platform C++14 modules and classes that provide developers with an arsenal for rapidly developing high performance network based p2p and media streaming applications. Think of it as the power and performance of libuv combined with the features of FFmpeg, OpenCV and WebRTC, all integrated with the ease and readability of the stl (C++ Standard Library). Event-based IO — Core modules are built on top of libuv (the underlying C library that powers nodejs) and use event-based asynchronous IO throughout to maximize performance and minimize concurrency reliance for building mission critical native and server side apps.
C++ Insights is a clang-based tool which does a source to source transformation. Its goal is it to make things visible which normally, and intentionally, happen behind the scenes. It's about the magic the compiler does for us to make things work. You can see all the compiler provided functions. Also the downcast from Derived to Base.
clang cpp cpp11 cpp14 cpp17 cpp20 ast cplusplus cplusplus-11 cplusplus-14 cplusplus-17 cplusplus-20 llvmHigherOrderFunctions is a header-only C++11/C++14 library that provides utilities for functions and function objects, which can solve many problems with much simpler constructs than whats traditionally been done with metaprogramming. This requires a C++11 compiler. There are no third-party dependencies. This has been tested on clang 3.5-3.8, gcc 4.6-7, and Visual Studio 2015 and 2017.
modern constexpr cplusplus lambda functional c-plus-plus cplusplus-11 cplusplus-14 cpp cpp11 cpp14 functional-programmingPeergos is a peer-to-peer encrypted filesystem with secure sharing of files designed to be resistant to surveillance of data content or friendship graphs. It will have a secure email replacement, with some interoperability with email. There will also be a totally private and secure social network, where users are in control of who sees what (executed cryptographically). The name Peergos comes from the Greek word Πύργος (Pyrgos), which means stronghold or tower, but phonetically spelt with the nice connection to being peer-to-peer. Pronuniation: peer-goss (as in gossip).
peer-to-peer encryption social-network ipfs storage privacy security p2p ipld post-quantumDevelop peer-to-peer (P2P) applications for WinForms and WPF applications with no lines of code. Includes WinForm & WPF drag 'n drop controls including P2P Chat, P2P File transer; P2P Audio and P2P Audio & Video controls. All source code for samples available in both VB and ...
p2p c4f-developer-kit chat samples streamingPeerVPN is a software that builds virtual ethernet networks between multiple computers. Such a virtual network can be useful to facilitate direct communication that applications like file sharing or gaming may need. Often, such direct communication is made impossible or very difficult by firewalls or NAT devices.
vpn virtual-private-network p2p peer-to-peer-vpn social-networkCoral is a peer-to-peer content distribution network. Sites that run Coral automatically replicate content. Using modern peer-to-peer indexing techniques, CoralCDN will efficiently find a cached object if it exists anywhere in the network.
cdn content-delivery-network cache high-availability streamingPure-go library for cross-platform thread-safe local peer discovery using UDP multicast. I needed to use peer discovery for croc and everything I tried had problems, so I made another one. Make sure you have Go 1.5+.
peer-to-peer networking lan-broadcasting udp-broadcast discovery-serviceWOOKI is a peer-to-peer wiki. It based on unstructured p2P network with data replication. WOOT framework synchronizes data. SWOOKI is a semantic extenion of WOOKI. It is implemented as a plugin of WOOKI. SWOOKI is peer-to-peer semantic wiki.
When srv.run() is called, rpclib starts the server loop which listens to incoming connections and tries to dispatch calls to the bound functions. The functions are called from the thread where run was called from. There is also async_run that spawns worker threads and returns immediately. All planned 1.0.0 features are done and tested; the current state is production-ready.
rpc cpp14 cpp cplusplus cplusplus-14 msgpackTomP2P is a P2P library and a distributed hash table (DHT) implementation which provides a decentralized key-value infrastructure for distributed applications. Each peer has a table that can be configured either to be disk-based or memory-based to store its values. TomP2P stores key-value pairs in a distributed manner. To find the peers to store the data in the distributed hash table, TomP2P uses an iterative routing to find the closest peers. Since TomP2P uses non-blocking communication, a future object is required to keep track of future results. This key concept is used for all the communication (iterative routing and DHT operations, such as storing a value on multiple peers) in TomP2P and it is also exposed in the API. Thus, an operation such as get or put will return immediately and the user can either block the operation to wait for the completion or add a listener that gets notified when the operation completes.
We have large collection of open source products. Follow the tags from
Tag Cloud >>
Open source products are scattered around the web. Please provide information
about the open source projects you own / you use.
Add Projects.