Named pipes и url

Helga87

Предположим, я открыл named pipe и назвал его "PipeName".
Можно ли идентифицировать этот pipe по url, что-то типа pipe://PipeName?

abrek

Идентифицировать никто запретить не сможет, конечно.

Helga87

Да не.
Хочется на самом деле вот что:
есть сторонний компонент, которому надо подсунуть набор байт, однако ему можно скормить только url.
Соответственно, самое простое решение: сохраняем файл с нужными данными и подаем его имя как url. Из минусов - медленная работа с диском.
Другое решение: открываем какой-нибудь порт и всем желающим впариваем наши данные.
Программе можно скормить как "http://localhost:<номер порта>. Из минусов - не очень хорошо,
когда мы открываем какие-то порты. По крайней мере, такие вещи без ведома пользователя лучше не делать.
Поэтому, и захотелось pipe-ов

lenabarskaya

А что за компонент такой, что он урлы только ест? Точно у него никакого другого способа всунуть данные нету?

abrek

> Из минусов - медленная работа с диском.
Кэш вроде никто ещё не отменял.
Файл небольшого размера при таком использовании до диска доходить не должен.
> Из минусов - не очень хорошо, когда мы открываем какие-то порты. По крайней мере, такие вещи без ведома пользователя лучше не делать.
Ты типа в курсе, что пока ты читаешь форум, браузер открывает и закрывает порты с довольно большой скоростью, не спрашивая тебя?

Helga87

Кэш вроде никто ещё не отменял.
Файл небольшого размера при таком использовании до диска доходить не должен.

Типа, ты хочешь сказать, что я говорю "запиши-ка мне файл lala.txt на диск", он прокешировал,
т.к. файл был маленький ничего не записал. А после этого кто-то включил чайник, свет упал и мой файл вместе с ним?
Кеш, как я понимаю, он работает на чтение. Т.е. после того, как я записал и захочу прочитать мой файл, вот тогда до диска дело не дойдет. В результате кеш при схеме записал-считал-удалил может ускорить максимум в два раза. А если мы работаем чисто с памятью, то в 100-1000 раз.

Ты типа в курсе, что пока ты читаешь форум, браузер открывает и закрывает порты с довольно большой скоростью, не спрашивая тебя?

От браузера это ожидаемое поведение. А какие матерные слова ты бы сказал, увидев, что калькулятор открыл пару-тройку портов?

Ivan8209

man sync
---
...Я работаю антинаучным аферистом...

Helga87

Гм. Все и вправду кешируется.
Как узнать размер кеша?

olegusmaximus

в unix для функций read и write точно
можно ставить буфер нулевого размера
а значит и заданного скорее всего тоже
flctl - точно не помню но чот в таком духе
Оставить комментарий
Имя или ник:
Комментарий: