Files
linguist/samples/FLUX/imageserver.fx
Erik Faye-Lund 41713d7719 add a sample of FLUX code
These samples were taken from the paper "Flux: A Language for
Programming High-Performance Servers", by Burns et al and Flux V0.02
which can be found here:

https://plasma.cs.umass.edu/emery/flux.1.html
2016-02-18 23:38:56 +01:00

45 lines
1.2 KiB
HLSL

typedef xml TestXML;
typedef html TestHTML;
typedef inCache TestInCache;
Page (int socket) => ();
ReadRequest (int socket) => (int socket, bool close, image_tag *request);
CheckCache (int socket, bool close, image_tag *request)
=> (int socket, bool close, image_tag *request);
Handler (int socket, bool close, image_tag *request)
=> (int socket, bool close, image_tag *request);
Complete (int socket, bool close, image_tag *request) => ();
ReadInFromDisk (int socket, bool close, image_tag *request)
=> (int socket, bool close, image_tag *request, __u8 *rgb_data);
Write (int socket, bool close, image_tag *request)
=> (int socket, bool close, image_tag *request);
Compress(int socket, bool close, image_tag *request, __u8 *rgb_data)
=> (int socket, bool close, image_tag *request);
StoreInCache(int socket, bool close, image_tag *request)
=> (int socket, bool close, image_tag *request);
Listen ()
=> (int socket);
source Listen => Page;
Handler:[_, _, inCache]=;
Handler:[_, _, _]=ReadInFromDisk -> Compress -> StoreInCache;
Page = ReadRequest -> CheckCache-> Handler -> Write -> Complete;
atomic CheckCache:{cache};
atomic StoreInCache:{cache};
atomic Complete:{cache};
handle error ReadInFromDisk => FourOhFor;