Skip to content

[DEV] unix-like sockets #30

Description

@egorSharapov

Реализовать поддержку сокетов

Модуль netd по аналогии с модулем сигналов будет разделен на две части: сам модуль и процесс, производящий чтение и наполнение буфера для каждого соединения. В связи с этим необходимо:

  • реализовать внутри netd разделяемый (shared) кольцевой буфер для каждого соединения
  • с помощью fork создать процесс, обрабатывающий в бесконечном цикле открытые соединения и записывающий пришедшие по сети данные в буфер
  • добавить в netd функции чтения и записи;
    • net_read будет забирать данные из буфера
    • net_write же будет отправлять пакет в сеть
      Таким образом операции чтения и записи в сокет будут всегда неблокирующими
  • переписать утилиту netcat с использованием этих функций
  • добавить возможность создания произвольного соединения
  • реализовать devsocket по аналогии с devpipe и devfile, который будет обращаться к сервису netd
  • реализовать функции создания (socket) и установки соединения (bind, accept)

Metadata

Metadata

Assignees

Labels

Type

No type

Fields

No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions