Download - Ocean
![Page 1: Ocean](https://reader034.vdocuments.us/reader034/viewer/2022050918/54082fdf8d7f7288088b520c/html5/thumbnails/1.jpg)
Towards a Portable Networking Library
N. Bouraqadi and L. Fabresse ESUG 13 sept 2010
![Page 2: Ocean](https://reader034.vdocuments.us/reader034/viewer/2022050918/54082fdf8d7f7288088b520c/html5/thumbnails/2.jpg)
Pharo/Squeak Networking Support
VM
Image
OS Network API
Network Library
Socket plugin
![Page 3: Ocean](https://reader034.vdocuments.us/reader034/viewer/2022050918/54082fdf8d7f7288088b520c/html5/thumbnails/3.jpg)
VM
Socket plugin
TCP+ UDP+…
IPv4 +IPv6
![Page 4: Ocean](https://reader034.vdocuments.us/reader034/viewer/2022050918/54082fdf8d7f7288088b520c/html5/thumbnails/4.jpg)
VM
Socket plugin
TCP+ UDP+…
IPv4 +IPv6
Hard to port
![Page 5: Ocean](https://reader034.vdocuments.us/reader034/viewer/2022050918/54082fdf8d7f7288088b520c/html5/thumbnails/5.jpg)
Socket
HTTPSocket SocksSocket
SocketAdress
ByteArray
Imag
e
TCP+ UDP+…
IPv4 +IPv6 IPv4
+IPv6
![Page 6: Ocean](https://reader034.vdocuments.us/reader034/viewer/2022050918/54082fdf8d7f7288088b520c/html5/thumbnails/6.jpg)
Socket
HTTPSocket SocksSocket
SocketAdress
ByteArray
Imag
e
TCP+ UDP+…
IPv4 +IPv6 IPv4
+IPv6
Dirty!
![Page 7: Ocean](https://reader034.vdocuments.us/reader034/viewer/2022050918/54082fdf8d7f7288088b520c/html5/thumbnails/7.jpg)
Network Kernel Test Coverage
Imag
e
0%
![Page 8: Ocean](https://reader034.vdocuments.us/reader034/viewer/2022050918/54082fdf8d7f7288088b520c/html5/thumbnails/8.jpg)
100% tested
OOP
Let's redo it!
0% tested
Dirty!
Hard to port
Wrap OS Lib.
![Page 9: Ocean](https://reader034.vdocuments.us/reader034/viewer/2022050918/54082fdf8d7f7288088b520c/html5/thumbnails/9.jpg)
VM
Image
OS
OCEAN idea
Network API
Ocean Library
Alien plugin
Alien Library
Wrap OS Lib.
![Page 10: Ocean](https://reader034.vdocuments.us/reader034/viewer/2022050918/54082fdf8d7f7288088b520c/html5/thumbnails/10.jpg)
OCEAN Library Im
age
OOP
100% tested
![Page 11: Ocean](https://reader034.vdocuments.us/reader034/viewer/2022050918/54082fdf8d7f7288088b520c/html5/thumbnails/11.jpg)
OOP
OCEAN Library Latest
version
Imag
e
100% tested
![Page 12: Ocean](https://reader034.vdocuments.us/reader034/viewer/2022050918/54082fdf8d7f7288088b520c/html5/thumbnails/12.jpg)
Hard time writing tests!
Socket connected?
Data received?
Data sent?
Socket closed?
Concurrency!!!
![Page 13: Ocean](https://reader034.vdocuments.us/reader034/viewer/2022050918/54082fdf8d7f7288088b520c/html5/thumbnails/13.jpg)
VM
Image
OS
OSProcess for tests
Network API
Ocean Library
Alien plugin
Alien Library
OSProcess Library
OSProcess plugin
SystemAPI?
![Page 14: Ocean](https://reader034.vdocuments.us/reader034/viewer/2022050918/54082fdf8d7f7288088b520c/html5/thumbnails/14.jpg)
OCEAN early evaluation
0
50
100
150
200
250
300
350
Receive 10MB Send 10MB
ms Ocean
OldSocket
![Page 15: Ocean](https://reader034.vdocuments.us/reader034/viewer/2022050918/54082fdf8d7f7288088b520c/html5/thumbnails/15.jpg)
100% tested
OOP Portab
le
![Page 16: Ocean](https://reader034.vdocuments.us/reader034/viewer/2022050918/54082fdf8d7f7288088b520c/html5/thumbnails/16.jpg)
100% tested
OOP Portab
le
To do
Smaller VM
Ocean-based OO Middleware
Clean up Pharo
![Page 17: Ocean](https://reader034.vdocuments.us/reader034/viewer/2022050918/54082fdf8d7f7288088b520c/html5/thumbnails/17.jpg)
100% tested
OOP Portab
le
To do
Smaller VM
Ocean-based OO Middleware
Clean up Pharo
![Page 18: Ocean](https://reader034.vdocuments.us/reader034/viewer/2022050918/54082fdf8d7f7288088b520c/html5/thumbnails/18.jpg)
100% tested
OOP Portab
le
To do
Smaller VM
Ocean-based OO Middleware
Clean up Pharo