Sujet : Re: The joy of pipes
De : Pancho.Jones (at) *nospam* proton.me (Pancho)
Groupes : comp.os.linux.miscDate : 18. Nov 2024, 12:05:03
Autres entêtes
Organisation : A noiseless patient Spider
Message-ID : <vhf70v$16jpu$1@dont-email.me>
References : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
User-Agent : Mozilla Thunderbird
On 11/18/24 09:36, Lawrence D'Oliveiro wrote:
On Mon, 18 Nov 2024 09:20:23 +0000, Pancho wrote:
I've no idea why using IPC to send megabytes of data between different
processes is wrong.
It is something I have done. It’s perfectly commonplace.
Although to be fair we very rarely used pipes, directly, almost never.
I have used pipes, I have used Unix sockets, I have used network sockets.
If you are running a Linux GUI, then almost certainly it is built on D-Bus
as a high-level IPC mechanism that is used as a core component. That is
designed to run over Unix sockets. It is not itself designed for high-
bandwidth data transfers; if you want to do that, you can exchange your
own D-Bus messages to set up custom pipe or Unix socket connections
between bus peers.
It was always something like REST or message queues.
Message queues are an OS-provided primitive, but REST is not -- that is a
protocol, not a transport. What transport(s) did you use for that? I would
assume network connections.
I don't know if Linux provides message queues as a primitive, or not. I meant I used message queue protocols (MQTT,zeroMQ, ActiveMQ).
I guess I was saying as a software developer I only cared about the application layer, I never went down to the level of using pipes directly. I would have thought my experience was reasonably normal, for the last few decades. The period after software developers needed to roll everything themselves.
I do remember looking at named pipes and deciding it was appropriate for some task, but I have no memory of actually implementing it. Which could mean it just worked and I never thought about it again, or it could mean I didn't do it.