Forum: Mikrocontroller und Digitale Elektronik API mit asynchronem Aufruf


von Hans M. (Gast)


Lesenswert?

Hallo zusammen,

Ein Gedankenspiel ;-).

Nehmen wir mal an, dass ich eine API selber in C schrieben würde. Eine 
dieser Schnittstellenfunktionen lautet da z.B :

- Anmeldung4Polling();

Die Funktion soll eigentlich nur dafür sorgen, dass "in der API" ständig 
nach irgendwas gepollt wird.

... so nach einer gewissen Zeit, ist das Ergebnis des Pollen so, dass 
der Aufrufer informiert werden muss.

Da sehe ich nun folgende Möglichkeiten:
a) Man würde einen Funktionszeiger der Funktion Anmeldung4Polling 
übergeben und wenn das Ereignis auftritt würde die API dann diese 
Funktion aufrufen (CallBack)

b)  Wie könnte sowas noch umgesetzt werden !?

Gruß und Dank

Hans

von MaWin (Gast)


Lesenswert?

> a) Man würde einen Funktionszeiger der Funktion Anmeldung4Polling
> übergeben und wenn das Ereignis auftritt würde die API dann diese
> Funktion aufrufen (CallBack)

> b)  Wie könnte sowas noch umgesetzt werden !?

Jede andere Variante tut prakisch dasselbe.

Ob man "eine Message" an ein genanntes Fenster schickt (Windows-typisch)
oder in eine genannte Pipe was reinschreibt (auf die der Wirt mit einem 
eigenen Prozess wartet), eine übertragene Semaphore setzt damit der 
Hauptprozess davon beeinflusst wird oder per http Socket eine Nachricht 
gedsendet wird.

Der CallBack ist schon in Ordnung.

von Sven P. (Gast)


Lesenswert?

Du solltest dir dann allerdings vorher Gedanken z.B. über 
Eintrittsinvarianz ('reentrancy') machen.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.