首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
Netwarps
掘友等级
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
14
文章 11
沸点 3
赞
14
返回
|
搜索文章
赞
文章( 11 )
沸点( 3 )
在libp2p-rs上开发新协议
本文以floodsub为例,讨论如何在libp2p-rs上开发新协议,详细代码请查看源码。 ProtocolHandler用于读写协议的数据,协议协商成功后,swarm会调用handle()。 简单的协议,比如echo,那么所有事情都在ProtocolHandler.handl…
【go-libp2p源码剖析】Swarm拨号
1. 简介 libp2p swarm 是用于 libp2p 网络的“低级”接口,可以更精细地控制系统的各个方面。swarm 可以建立监听,也可以向其他主机拨号建立新的连接(比如和某个主机建立 tcp 连接),而这里所指的拨号其实就是建立出站连接的过程,它的实现逻辑较为复杂,我们…
为什么需要 libp2p-rs ?
Netwarps 一直在做去中心化的存储和计算平台,目标是物联网,甚至 NDN 网络。因此我们需要构建一个简洁的高性能的底层网络。之前 Netwarps 使用 C 语言实现了一套基本的 P2P 网络,然后在这个网络上搭建了去中心化文件存储系统(DFS)和去中心化计算平台(DCP…
libp2p-rs 开源项目的落地实现
如果大家经常关注IPFS的动态,那对libp2p应该会有所了解。libp2p是一个为p2p网络构建的基础模块,源于开源项目IPFS。IPFS团队将点对点(peer-to-peer)网络的网络层从IPFS工程里面分离出来,形成一个独立的项目,这就是libp2p。从本质上说,lib…
再谈 Send 与 Sync | Rust学习笔记
Send 与 Sync 可能是Rust多线程以及异步代码种最常见到的约束。在前面一篇讨论多线程的文章中介绍过这两个约束的由来。但是,真正书写比较复杂的代码时,还是会经常遇到编译器的各种不配合。这里借用我的同事遇到的一个问题再次举例谈一谈 Send 与 Sync 的故事。 C/C…
异步代码的几种写法 | Rust学习笔记
Rust历史不长,仍然处于快速发展的历程中。关于异步编程的模式,现在已经发展到async/await协程的高级阶段。大概是因为async/await出现的时间还不长,所以现有大多数的开源项目并不是或不是纯粹使用async/await来书写的,而是前前后后有多种的写法。这样的状况…
async/await 如何工作 | Rust学习笔记
2019年底Rust正式支持 async/await语法,完成了Rust协程的最后一块拼图,从而异步代码可以用一种类似于Go的简洁方式来书写。然而对于程序员来讲,还是很有必要理解async/await的实现原理。 简单地说,async语法生成一个实现 Future 对象。如下a…
无栈协程 | Rust学习笔记
Rust作为一门新兴语言,主打系统编程。提供了多种编写代码的模式。2019年底正式推出了 async/await语法,标志着Rust也进入了协程时代。下面让我们来看一看。Rust协程和Go协程究竟有什么不同。 有栈协程 vs. 无栈协程 协程的需求来自于C10K问题,这里不做更…
多线程 | Rust学习笔记
现代的CPU基本都是多核结构,为了充分利用多核的能力,多线程都是绕不开的话题。无论是同步或是异步编程,与多线程相关的问题一直都是困难并且容易出错的,本质上是因为多线程程序的复杂性,特别是竞争条件的错误,使得错误发生具备一定的随机性,而随着程序的规模越来越大,解决问题的难度也随之…
从Rust出发,开启安全存储之路
IT人玩音乐似乎有点不靠谱,但搞技术我们是认真的。 在竞争日益激烈的科技发展进程中,选择正确的计算机编程语言,对于企业和开发人员来讲,非常重要。对于由 Mozilla 开发的注重安全、性能和并发性的编程语言 Rust,门槛之高让很多学习者望而却步,但它优雅的解决高并发和高安全性…
下一页
个人成就
文章被点赞
35
文章被阅读
23,297
掘力值
693
关注了
0
关注者
13
收藏集
0
关注标签
41
加入于
2020-08-28