A solid, completely asynchronous and strictly RFC conforming XMPP implementation in F#.
Switch branches/tags
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.paket
doc
lib/DnDns
nuget
packages/Yaaf.AdvancedBuilding/content
src
.gitattributes
.gitignore
.travis.yml
CONTRIBUTING.md
LICENSE.md
README.md
appveyor.yml
build.cmd
build.fsx
build.sh
buildConfig.fsx
copyBuild.sh
downloadNuget.fsx
generateDocs.fsx
paket.dependencies
paket.lock

README.md

Yaaf.Xmpp.Runtime

Documentation

Join the chat at https://gitter.im/matthid/Yaaf.Xmpp.Runtime

Build status

Development Branch

Build Status Build status

Master Branch

Build Status Build status

NuGet

The Yaaf.Xmpp.Runtime library can be installed from NuGet:
PM> Install-Package Yaaf.Xmpp.Runtime

Why another XMPP library/implementation?

  • For fun.
  • More flexible, than most other implementations.
  • Can be used to implement a server as well as clients. Historically XMPP has the problem that features are often implemented on the server or the client only and therefore unusable. This library encourages to write both implementations at the same time.
  • Asynchronous from the core by design (NOTE: currently we are limited by System.XML not being completely asynchronous. Because we currently use a mono port, but now with https://github.com/dotnet/corefx we may be able to use that instead.)
  • While called "Xmpp.Runtime" this library is flexible enough to build any kind of XML based communication on top of any kind of transportation layer.
  • Portability: This project tries to provide a framework / library usable on any device (Android, iOS, Windows Phone, Windows, Linux, MAC). (Not completely done, but all references are already portable! The current focus is a usable server implementation.)