今天试验了通过TcpSocket或管道文件系统实现socketpair,均以失败告终。
计划:由于smoltcp没有适用于Seqpacket的Socket,准备实现一个SeqpacketSocket。
今天试验了通过TcpSocket或管道文件系统实现socketpair,均以失败告终。
计划:由于smoltcp没有适用于Seqpacket的Socket,准备实现一个SeqpacketSocket。
你打算基于raw::Socket,还是从头写?
因为tcpsocket是最终会导向底层的virtio网卡。
ps:如果连接本机,我们没有实现本地回环的设备,从而不支持127.0.0.1. 如果将来写了,应该tcp也能发给本机
SeqPacket的实现用到Stream、Dgram和自己实现的函数
这咋搞才能复用函数(我觉得重复写一遍不优雅
应该不用,因为Seqpacket实际上是不绑定端口的,更像是全双工的pipe
由于SP在socket中用的少,我打算先为socketpair实现SP,不为socket实现
1:初步实现socketpair,能够读写SeqpacketSocket
next:
(1)完善SeqpacketSocket接口
(2)完善socketpair系统调用函数的功能
这么快实现了哈哈哈
据他所说,这个实现很简陋,目前SeqpacketSocket甚至没有对应的SocketHandleItem。仅仅是在需要获取HandleItem的时候做了判断
目前还只是一个很简陋的状态
我正在整理项目,弄好了就开pr
你们俩是在合作开发吗,还是说各做个的哈哈哈,给我整蒙了
对的,他是为了解决DragonReach的问题所以也来开发socketpair了
会互相交流借鉴的
哈哈哈多个方式解决同一个问题挺好的
完工了!
请尽快检查代码
使用musl重构项目 by yuyi2439 · Pull Request #33 · DragonOS-Community/DragonReach (github.com)
添加socketpair by yuyi2439 · Pull Request #505 · DragonOS-Community/DragonOS (github.com)
我今天晚上继续review一下,今早简单看了看代码,今晚我做一下测试,白天现在在外面哈。
能不能顺便实现Stream类型的socketpair呢