view Raku/UnixDomainSocket.md @ 122:25b8e0232710

backup 2023-05-19
author autobackup
date Fri, 19 May 2023 00:10:03 +0900
parents e12992dca4a0
children
line wrap: on
line source

Socket おそらく親クラス

```
   src/core.c/IO/Socket.pm6
```

INETの実装
```
   src/core.c/IO/Socket/INET.pm6 
```
なので、
```
   src/core.c/IO/Socket/Unix.pm6
```
を作ればよい。

System call constant は、ここに一通りあるらし
```
   nqp/src/vm/moar/QAST/QASTOperationsMAST.nqp
```
bind は MoarVM の bind_sk から呼ばれるらしい。
```
    nqp/MoarVM/src/core/ops.c
    nqp/MoarVM/src/core/interp.c
```
この辺。で、実装は、
```
  nqp/MoarVM/3rdparty/libuv/src/unix/tcp.c
```
とか。でも、この段階では(余計なことをしてなければ)、Unix/INETの区別はないはず。

余計なこととは、Socketを表示する時にアドレスとるとかそんなの。