Skip to content

headinthebox/IoFx

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

41 Commits
 
 
 
 
 
 
 
 

Repository files navigation

IoFx

IoFx is a .NET library that enables reactive IO. The main motivation for this library is preformance. The target audience are folks who want to build high throughput application. We trade off simplicity for performance in most cases. The API surface enables composition using different protocols and frameworks like Sockets/WCF/HttpListener.

##Overview IoFx is built on top of Reactive primitives. The composition model dictates the cost of processing a message. Programing models like WCF have very complex object models and so buiding a simple message receiver is really hard and requires implementing channel layers and dispatchers. The basic idea is be able to build message handlers against Reactive primitives like IObservable and IObserver and subscribe and project messages.

##Performance Given that the main goal of IoFx is performance, Connect.exe is the performance benchmark tool. As I move along, I hope to add more and more scenarios that could be used to benchmark various protocols and message exchange patterns.

Connection Limit Test
Test for connection limit

Connect [/?]  [/mode]  [/server]  [/port]  [/climit]  [/rate]  [/type]

[/?]       Show Help
[/climit]  Number of connection.
[/mode]    Specified either client mode or server mode.
[/port]    Server port to listen or connect to.
[/rate]    Rate of outbound messages.
[/server]  Server to connect to
[/type]    connection type.

Using connect.exe for raw socket measurements.

The scenario here helps measure metrics like connection density and memory usage when there are large number of inbound connections and there is a constant rate of inbound messages across client connections.

  • Starting a Socket Server
Connect.exe /mode:server /port:8080 /type:socket
  • Starting the client
Connect.exe /mode:client  /port:8080 /type:socket /server:localhost /climit:1000 /rate:10000

About

Framework for network and IO over Rx.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published