Herakles
Profifragensteller
Moin zusammen!
Ich möchte gern ohne Puffer Daten von einem Gerät lesen und unverändert auf ein anderes Gerät schreiben. Welches das jeweils ist, ist zunächst mal zweitrangig, es geht mir in erster Linie um das Prinzip. Ach ja - schnell darf das Ganze auch noch sein. Gerne auch richtig schnell. Implementieren möchte ich das aus Spaß gern in C. Insgesamt handelt es sich hierbei um einen Versuch, um mein Verstädnis der Materie zu erweitern
<Erläuterung>Das zu lesende Gerät könnte beispielsweise ein USB-Port oder auch eine WLAN-Karte sein, das schreibende Gerät die Netzwerkkarte oder die Soundkarte oder was auch immer - wie gesagt, zweitrangig. Ich möchte das mögliche Prinzip verstehen können... Mir sind dabei auch Protokollunterschiede bewusst (beim sinnvollen Schreiben auf ein Netzwerkgerät hätte ich sicher Spaß mit IP und derlei Dingen, etc.).</Erläuterung>
So, dieser Vorgang soll nun ohne einen Puffer auskommen können - so, als würde ich ein Kabel an das Lese-Gerät anklemmen und das andere Ende des Kabels an das Schreib-Gerät. Wie ein Datentunnel oder eine Pipe.
Wichtig ist mir dabei, dass kein Puffer zu nutzen ist, also auch kein Consumer-Producer Problem entsteht. Kann ich so etwas mit einem einfachen read(2) erledigen, indem ich einfach einen Filedescriptor als Pufferort angebe? Sicher nicht...
Lange Rede, kurzer Sinn: besteht die Möglichkeit, richtig schnell und ohne Puffer Daten per C-Programm von einem Systemgerät auf ein anderes durchzuschleusen?
Ich möchte gern ohne Puffer Daten von einem Gerät lesen und unverändert auf ein anderes Gerät schreiben. Welches das jeweils ist, ist zunächst mal zweitrangig, es geht mir in erster Linie um das Prinzip. Ach ja - schnell darf das Ganze auch noch sein. Gerne auch richtig schnell. Implementieren möchte ich das aus Spaß gern in C. Insgesamt handelt es sich hierbei um einen Versuch, um mein Verstädnis der Materie zu erweitern

<Erläuterung>Das zu lesende Gerät könnte beispielsweise ein USB-Port oder auch eine WLAN-Karte sein, das schreibende Gerät die Netzwerkkarte oder die Soundkarte oder was auch immer - wie gesagt, zweitrangig. Ich möchte das mögliche Prinzip verstehen können... Mir sind dabei auch Protokollunterschiede bewusst (beim sinnvollen Schreiben auf ein Netzwerkgerät hätte ich sicher Spaß mit IP und derlei Dingen, etc.).</Erläuterung>
So, dieser Vorgang soll nun ohne einen Puffer auskommen können - so, als würde ich ein Kabel an das Lese-Gerät anklemmen und das andere Ende des Kabels an das Schreib-Gerät. Wie ein Datentunnel oder eine Pipe.
Wichtig ist mir dabei, dass kein Puffer zu nutzen ist, also auch kein Consumer-Producer Problem entsteht. Kann ich so etwas mit einem einfachen read(2) erledigen, indem ich einfach einen Filedescriptor als Pufferort angebe? Sicher nicht...
Lange Rede, kurzer Sinn: besteht die Möglichkeit, richtig schnell und ohne Puffer Daten per C-Programm von einem Systemgerät auf ein anderes durchzuschleusen?