Yaaf.Xmpp.Runtime
Overview
Yaaf.XmlYaaf.Xmpp
Yaaf.Xmpp.Runtime
Yaaf.Xmpp.Runtime.Features
Yaaf.Xmpp.Server
Yaaf.Xmpp.XmlStanzas
Yaaf.Xml Namespace
Module | Description |
AssemblyInfo | |
AsyncXmlReader | |
Core |
Yaaf.Xmpp Namespace
Type | Description |
IServiceManager | Defines a manager of services, it allows the registration of additional services |
ServiceManager | This class provides an abstract implementation of the IServiceManager interface by delegating the generic RegisterService call to a concrete RegisterService method with actuall Type parameters. This works around some F# limitations with the IServiceManager interface (ie you can't override the generic RegisterService method directly). |
AddressingPlugin | |
AdvancedConnectInfo | |
ClientSetup | |
ConnectInfo | |
IAddressingService | |
IOStreamManager | |
IRawStanzaPlugin | |
IRawUnvalidatedStanzaPlugin | |
IXmlStanzaService | |
IXmppClient | Simple interface representing an xmpp connection |
JabberId | |
OpenElement | |
StreamElement | |
StreamType | |
Task<'a> | |
UnknownIqResponderPlugin | Plugin which handles unknown iq stanzas |
XmlStanzaPlugin | |
XmppClient | Represents a more abstract xmpp connection. Wrapps an XmppRuntime and provides an easy interface to register plugins and start a connection |
Module | Description |
AddressingServiceExtensions | |
CryptographyHelpers | |
IOStreamHelpers | |
KnownStreamNamespaces | |
Resolve | |
StanzaServiceExtensions | |
Stream | |
StreamData | |
StreamHelpers | |
XmppSetup |
Yaaf.Xmpp.Runtime Namespace
Type | Description |
IPluginManager<'TPlugin> | A plugin manager interface for registering and querying plugins. |
IPluginServiceProvider | Interface for plugins to provide some services |
IService | Describes an service provided by a plugin. |
IServicePluginManager<'TPlugin> | Most of the Plugins will require a plugin manager (ie to use API provided by other plugins |
PluginManager<'P> | Implementation of the IPluginManager interface |
PluginManagerException | Exception when plugins fail, cannot be created or added. |
RuntimePluginManagerExtensions | Extension methods for the Plugin Manager interfaces. |
Service | Provides some simple (extension-) methods for the IService interface. |
ServicePluginManager<'P> | A generic implementation of the IServicePluginManager interface. |
ServicePluginManager | Helper methods for the generic ServicePluginManager class. |
ComponentConfig | |
ComponentNegotiationPlugin | |
ComponentsConfig | |
ConfigurationException | |
CoreStreamApi | Used to provide (and abstract away) the core communication layer. |
HandlerState | Represents the current state of the handler for a given item |
IComponentsConfig | |
ICoreStreamApi | Allows plugins to change the underlaying stream. So this interface abstracts away changing IXmlStream objects. Plugins will require an ICoreStreamApi in there contructors if they need this API. NOTE: BE CAREFUL WITH THIS API, THE METHODS OF THIS API CAN ONLY BE USED FROM WITHIN PLUGIN CALLS. |
IExclusiveSend | |
IInternalStreamOpener | Used by the CoreApi to open the stream |
ILocalDelivery | Some Plugins will require a ILocalDelivery to send raw messages back to the other end. The server/client code will also use this API to send messages over the wire. |
INegotiationService | |
IPipeline<'a> | |
IPipelineProvider<'a> | |
IPlugin | |
IPluginManagerRegistrar | |
IReceivePipelineProvider<'a> | |
IRuntimeConfig | |
IRuntimeShutdown | Provides an api for plugins to do work on runtime exit |
ISendPipelineProvider<'a> | |
IStreamManager<'prim> | |
IStreamManager | |
IXmlPipelinePlugin | |
IXmlPluginManager | |
IXmlStream | This will only be used by the runtime. However to be extendible custom implementations are allowed. Implementations SHOULD NOT throw their own exceptions on reading. Allowed are only: - StreamFinishedException and subclasses when the other side finished the stream. - StreamErrorException when there is an error in reading the stream (to close the stream properly). NOTE that you do NOT throw this exception when you read a stream error (use StreamFailException in this case). ON write custom exceptions are allowed, but note that because of the queuing system we always shut down the runtime when the write fails! |
IXmppPlugin | |
IXmppPluginConfig | The Configuration of an Plugin. Every implementation of this interface MUST be immutable! |
IXmppPluginManager | |
PipelineResult<'a> | |
PluginManagerRegistrar | A IPluginManagerRegistrar implementation using an IKernel |
PreprocessResult<'a> | |
ProcessInfo<'a> | |
SendQueueBox | A specialiced Mailbox for outgoing messages. |
SendStreamClosedException | This error indicates that the sending pipeline was already closed, so sending is not longer possible (IE the closing element was already sent!) |
SingleChecker | A simple API to prevent that code after "StartSingle" is called twice |
StreamErrorException | This class represents errors within the xmpp-stream. When thrown it is a request to the runtime to send the stream error and close the runtime. (can also be used be plugins) |
StreamFailException | This class represents errors where the other side already closed the stream with an error |
StreamFinishedException | This class represents any kind of finish from the other side |
StreamManager<'prim> | Used to manage a primitive stream and to provide an higher level API. |
StreamNormalFinishedException | This class represents a normal stream close from the other side (can be used by plugins to trigger a immediate regular stream shutdown) |
StreamUnexpectedFinishException | This class represents a normal stream close from the other side, but on an unexpected situation |
XmlStreamError | |
XmppRuntime | Represents the part of the runtime which doesn't depend on the 'prim type |
Module | Description |
ComponentHandshake | |
Configuration | |
InterfaceExtensions | |
OpenHandshake | |
Parsing | |
StreamError |
Yaaf.Xmpp.Runtime.Features Namespace
Type | Description |
BindConfig | |
BindElement | |
BindFeature | |
FeatureInfo | |
FeaturePlugin | |
FeatureSelector | |
IBindConfig | |
IBindService | |
IResourceManager | This interface is required to check if the requested resource is already connected, and to disconnect other resources if required |
ISaslConfig | |
ISaslService | |
IStreamFeatureConfig | |
IStreamFeatureHandler | Note that the context instance can change over time (whenever a new stream is instanciated, for example after tls, sasl) |
IStreamFeatureService | |
ITlsConfig | |
ITlsService | |
SaslConfig | |
SaslFeature | |
StreamFeatureConfig | |
TlsConfig | |
TlsFeature |
Module | Description |
Parsing | |
ParsingBind | |
SaslParsing | |
TlsParsing |
Yaaf.Xmpp.Server Namespace
Type | Description |
ConfigCreator | |
ConfigType | |
ConnectedComponent | |
ConnectionFilter | |
ConnectionManager | When editing this class be carefull with the XmppClient members, because they often can't be used directly because this would result in a deadlock |
DefaultRouting | |
IConnectionManager | |
IPerUserService | |
IServerApi | |
IServerApiConnectionManager | |
IServerPlugin | |
IServerRouting | |
IStanzaDelivery | |
IUserServiceManager | |
KeyValuePair<'k, 'v> | |
RunningHandler | |
ServerCertificateData | |
ServerSetup | |
StanzaDelivery | |
UserServiceManager | |
XmppServer | Represents a simple server implementation This type takes care of connected resources, specified in XMPP.Core |
XmppServerDeliveryPlugin | Plugin which is only available on the server side, and registers some server side only actions |
XmppServerExtensions | |
XmppServerUserServicePlugin | Plugin which is only available on the server side, and registers some server side only actions |
Module | Description |
InterfaceExtensions | |
XmppServerSetup | |
XmppSetup |
Yaaf.Xmpp.XmlStanzas Namespace
Type | Description |
ContentGenerator<'a> | |
IStanza | |
Langcode | |
ReceivedStanzaException | Used when we parse a stanza with an error type |
Stanza | |
Stanza<'a> | |
StanzaContents | |
StanzaCreator | |
StanzaError | |
StanzaErrorConditon | |
StanzaErrorData | |
StanzaErrorType | The "error-type" MUST be one of the following: |
StanzaException | Used when we want to return a stanza error |
StanzaHeader | |
StanzaParseException | Unable to parse a given stanza. NOTE this does not inherit StanzaException because this exception is thrown within methods where the RawStanza is not available. It will/can be catched and rethrown as StanzaException as soon as the RawStanza is available. Or it will finally be handled in the XmlStanzaPlugin logic. |
StanzaValidationException | The stanza could not be validated |
XmlStanzaType |
Module | Description |
Parsing | |
Stanza | |
StanzaException | |
StanzaExtensions | |
StanzaParseException |