[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[MirageOS-devel] towards a common Mirage 'FLOW' signature



Hi,

I'd like to create a common Mirage 'FLOW' signature to represent reading and writing along some kind of 'connection'. I think we could satisfy the signature in multiple places including at least

* consoles
* xen inter-domain vchan connections
* plain TCP
* (hopefully) TLS connections

It would be nice to write clients and servers which would work over multiple FLOW implementations.

For discussion I've extracted the 'FLOW' from 'TCPv4' to show you what it would look like:


In V2 of the API I'd like to turn the CONSOLE signature into a combination of DEVICE and FLOW.

I notice the low-level network APIs (NETWORK, ETHIF, ...) are *almost* like this except they have a function like

val listen: t -> udp:callback -> tcp:callback -> ...Â

Perhaps later (V2, V3?) we could split this into something like aÂ

val read: t -> buffer (* satisfy FLOW *)
val classify: buffer -> [ `UDP; `TCP ]

-- is that a good idea?

Thoughts welcome!

Cheers,
--
Dave Scott
_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@xxxxxxxxxxxxxxxxxxxx
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.