A client and server implementation of AMP (Asynchronous Messaging Protocol) for all .NET runtimes.
AMP website: http://
Published and installable via Nuget! http://
Includes blocking and non-blocking interfaces for constructing AMP clients and servers. Abstract Stream-based I/O layer lets you speak AMP anywhere, not just over sockets.
Unit-tests are used extensively to verify code function, and code contributions should also include test-cases using NUnit.
The 2.0 release series has landed, and represents a major improvement to AMPSharp. Much effort has gone in to cleaning up the code, and removing many of the public members/methods that should have been private.
The API has been simplified, and a more consistent naming convention has been followed. The code should be much easier to follow, as it has been broken up in to multiple files. Namespaces are now used liberally, where appropriate.
New features:
* Nuget is now supported.
* An AmpList type compatible with the AmpList found in Twisted.
* A ListOf type compatible with the ListOf found in Twisted.
* Int32 / UInt32 / Int64 / UInt64 types instead of just one Integer type (as appropriate for C#)
* New Double type that is compatible with an AMP "Float"
* New DateTimeOffset type that is compatible with an AMP "DateTime"
* Decimal type now supports reading values encoded in Engineering notation as per AMP spec
* Any System.IO.Stream may be used for communicating with the AMP peer, so you are not limited to just sockets.
* RequiresAnswer is now fully supported for Commands which do not expect to receive a reply.
* Expanded and improved unit-tests, as well as a few minor bug-fixes.
Contact me via email, teratorn (AT) gmail, or as teratorn on irc.freenode.net.
Project information
- Maintainer:
- Eric P. Mangold
- Driver:
- Not yet selected
- Licence:
- MIT / X / Expat Licence
View full history Series and milestones
2.0 series is the current focus of development.
All bugs Latest bugs reported
-
Bug #1037728: AMPSharp should not directly depend on WinForms
Reported on 2012-08-16 -
Bug #784572: bad arbitrary 60 second timeout on remote calls
Reported on 2011-05-18 -
Bug #783457: Implement RequiresAnswer on Command class
Reported on 2011-05-16 -
Bug #783420: Implement ListOf encoding/decoding
Reported on 2011-05-16 -
Bug #783419: Implement AmpList encoding/decoding
Reported on 2011-05-16
All blueprints Latest blueprints
-
Review the code base for public attributes/methods that shouldn't be public
Registered on 2008-10-14