Diffusion.Client 6.8.9

There is a newer version of this package available.
See the version list below for details.
dotnet add package Diffusion.Client --version 6.8.9
NuGet\Install-Package Diffusion.Client -Version 6.8.9
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Diffusion.Client" Version="6.8.9" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Diffusion.Client --version 6.8.9
#r "nuget: Diffusion.Client, 6.8.9"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install Diffusion.Client as a Cake Addin
#addin nuget:?package=Diffusion.Client&version=6.8.9

// Install Diffusion.Client as a Cake Tool
#tool nuget:?package=Diffusion.Client&version=6.8.9

Diffusion .NET Client Library Changes

Version 6.8.0

Bugs fixed:

  • An issue was identified with the .Net client's handling of partial reads. This has now been addressed.

Highlights:

  • SessionEstablishmentTransientException has been added to indicate there was a transient problem when establishing a session.
  • The MaximumGroups property has been added to metric collectors to limit the number of dimensions created by a metric collector.
  • The Topic metric collector now has a property for grouping by path segments.
  • The validation of topic views has now been changed to ensure that any 'insert' clauses happen after 'patch' clauses.
  • The TopicViews feature of the Client APIs now has a new GetTopicView method allowing a single topic view to be retrieved by name.

Added:

  • PushTechnology.ClientInterface.Client.Session.SessionEstablishmentException
  • PushTechnology.ClientInterface.Client.Session.SessionEstablishmentTransientException
  • PushTechnology.ClientInterface.Client.Features.Metrics.IMetricCollector.MaximumGroups{get; set;}->int
  • PushTechnology.ClientInterface.Client.Features.Metrics.IMetricCollectorBuilder.MaximumGroups( int limit )->IMetricCollectorBuilder
  • PushTechnology.ClientInterface.Client.Features.Metrics.ITopicMetricCollector.GroupByPathPrefixParts{get;}->int
  • PushTechnology.ClientInterface.Client.Features.Metrics.ITopicMetricCollectorBuilder.GroupByPathPrefixParts( int parts )->ITopicMetricCollectorBuilder
  • PushTechnology.ClientInterface.Client.Features.ITopicViews.GetTopicViewAsync( string name )->Task<ITopicView>
  • PushTechnology.ClientInterface.Client.Features.ITopicViews.GetTopicViewAsync( string name, CancellationToken cancellationToken )->Task<ITopicView>

Version 6.7.0

Bugs fixed:

  • Credentials type is incorrect when authenticating.

Highlights:

  • New Session Trees feature has been added providing a virtual view of the topic tree presented to a session by fetch and subscription operations.
  • Messaging Control has been removed.
  • Topic Views has a new 'type' clause which allows you to specify a topic type for the generated reference topic which may be different from the selected source topic type.
  • Routing topics are deprecated in favour of session trees.
  • New Metrics feature has been added for creating and maintaining Session Metric Collectors and Topic Metric Collectors.
  • The missing topic notification has been extended to contain the session properties of the originating session and the server name(s) of originating servers.
  • Missing topic notifications can now be propagated via Remote Servers from secondary to primary servers.
  • Topic Views has a new 'patch' clause which allows you to specify that a JSON patch is applied to the reference topic value.

Changes:

  • PushTechnology.ClientInterface.Client.Features.Control.Topics.FilteredRequestCallbackDefault<TResponse> has changed namespace to PushTechnology.ClientInterface.Client.Features.IFilteredRequestCallback<TResponse>.
  • PushTechnology.ClientInterface.Client.Features.Control.Topics.FilteredRequestCallbackDefault<TResponse>.OnResponse( ISessionId sessionId, TResponse response )->void has changed namespace to PushTechnology.ClientInterface.Client.Features.IFilteredRequestCallback<TResponse>.OnResponse( ISessionId sessionId, TResponse response )->void.
  • PushTechnology.ClientInterface.Client.Features.Control.Topics.FilteredRequestCallbackDefault<TResponse>.OnResponseError( ISessionId sessionId, Exception exception )->void has changed namespace to PushTechnology.ClientInterface.Client.Features.IFilteredRequestCallback<TResponse>.OnResponseError( ISessionId sessionId, Exception exception )->void.
  • PushTechnology.ClientInterface.Client.Features.Control.Topics.IRequestContext has changed namespace to PushTechnology.ClientInterface.Client.Features.IRequestContext.
  • PushTechnology.ClientInterface.Client.Features.Control.Topics.IRequestContext.SessionId{get}->ISessionId has changed namespace to PushTechnology.ClientInterface.Client.Features.IRequestContext.SessionId{get}->ISessionId.
  • PushTechnology.ClientInterface.Client.Features.Control.Topics.IRequestContext.Path{get}->string has changed namespace to PushTechnology.ClientInterface.Client.Features.IRequestContext.Path{get}->string.
  • PushTechnology.ClientInterface.Client.Features.Control.Topics.IRequestContext.SessionProperties{get}->IReadOnlyDictionary<string, string> has changed namespace to PushTechnology.ClientInterface.Client.Features.IRequestContext.SessionProperties{get}->IReadOnlyDictionary<string, string>.
  • PushTechnology.ClientInterface.Client.Features.Control.Topics.IRequestHandler<TRequest, TResponse> has changed namespace to PushTechnology.ClientInterface.Client.Features.IRequestHandler<TRequest, TResponse>.
  • PushTechnology.ClientInterface.Client.Features.Control.Topics.IRequestHandler<TRequest, TResponse>.OnRequest( TRequest request, IRequestContext context, IResponder<TResponse> responder )->void has changed namespace to PushTechnology.ClientInterface.Client.Features.IRequestHandler<TRequest, TResponse>.OnRequest( TRequest request, IRequestContext context, IResponder<TResponse> responder )->void.

Added:

  • PushTechnology.ClientInterface.Client.Callbacks.ErrorReason.REMOTE_SERVER_EXISTS
  • PushTechnology.ClientInterface.Client.Callbacks.ErrorReason.INVALID_BRANCH_MAPPING
  • PushTechnology.ClientInterface.Client.Types.PathPermission.EXPOSE_BRANCH
  • PushTechnology.ClientInterface.Client.Features.TopicUnsubscribeReason.BRANCH_MAPPINGS
  • PushTechnology.ClientInterface.Client.Features.SessionTrees.ISessionTrees
  • PushTechnology.ClientInterface.Client.Features.SessionTrees.ISessionTrees.PutBranchMappingTableAsync( IBranchMappingTable branchMappingTable )->Task<object>
  • PushTechnology.ClientInterface.Client.Features.SessionTrees.ISessionTrees.PutBranchMappingTableAsync( IBranchMappingTable branchMappingTable, CancellationToken cancellationToken )->Task<object>
  • PushTechnology.ClientInterface.Client.Features.SessionTrees.ISessionTrees.GetSessionTreeBranchesWithMappingsAsync()->Task<IReadOnlyCollection<string>>
  • PushTechnology.ClientInterface.Client.Features.SessionTrees.ISessionTrees.GetSessionTreeBranchesWithMappingsAsync(CancellationToken cancellationToken )->Task<IReadOnlyCollection<string>>
  • PushTechnology.ClientInterface.Client.Features.SessionTrees.ISessionTrees.GetBranchMappingTableAsync( string sessionTreeBranch )->Task<IBranchMappingTable>
  • PushTechnology.ClientInterface.Client.Features.SessionTrees.ISessionTrees.GetBranchMappingTableAsync( string sessionTreeBranch, CancellationToken cancellationToken )->Task<IBranchMappingTable>
  • PushTechnology.ClientInterface.Client.Features.SessionTrees.IBranchMapping
  • PushTechnology.ClientInterface.Client.Features.SessionTrees.IBranchMapping.SessionFilter{get; set;}->string
  • PushTechnology.ClientInterface.Client.Features.SessionTrees.IBranchMapping.TopicTreeBranch{get; set;}->string
  • PushTechnology.ClientInterface.Client.Features.SessionTrees.IBranchMappingTable
  • PushTechnology.ClientInterface.Client.Features.SessionTrees.IBranchMappingTable.SessionTreeBranch{get; set;}->string
  • PushTechnology.ClientInterface.Client.Features.SessionTrees.IBranchMappingTable.BranchMappings{get}->IReadOnlyCollection<IBranchMapping>
  • PushTechnology.ClientInterface.Client.Features.SessionTrees.IBranchMappingTableBuilder
  • PushTechnology.ClientInterface.Client.Features.SessionTrees.IBranchMappingTableBuilder.Reset()->IBranchMappingTableBuilder
  • PushTechnology.ClientInterface.Client.Features.SessionTrees.IBranchMappingTableBuilder.AddBranchMapping( string sessionFilter, string topicTreeBranch )->IBranchMappingTableBuilder
  • PushTechnology.ClientInterface.Client.Features.SessionTrees.IBranchMappingTableBuilder.Create( string sessionTreeBranch )->IBranchMappingTable
  • PushTechnology.ClientInterface.Client.Features.SessionTrees.InvalidBranchMappingException
  • PushTechnology.ClientInterface.Client.Factories.Diffusion.NewBranchMappingTableBuilder()->IBranchMappingTableBuilder
  • PushTechnology.ClientInterface.Client.Session.ISession.SessionTrees{get}->ISessionTrees
  • PushTechnology.ClientInterface.Client.Session.ISession.Metrics{get}->IMetrics
  • PushTechnology.ClientInterface.Client.Features.Metrics.IMetrics.PutSessionMetricCollectorAsync( ISessionMetricCollector collector )->Task<object>
  • PushTechnology.ClientInterface.Client.Features.Metrics.IMetrics.PutSessionMetricCollectorAsync( ISessionMetricCollector collector, CancellationToken cancellationToken )->Task<object>
  • PushTechnology.ClientInterface.Client.Features.Metrics.IMetrics.ListSessionMetricCollectorsAsync()->Task<List<ISessionMetricCollector>>
  • PushTechnology.ClientInterface.Client.Features.Metrics.IMetrics.ListSessionMetricCollectorsAsync( CancellationToken cancellationToken )->Task<List<ISessionMetricCollector>>
  • PushTechnology.ClientInterface.Client.Features.Metrics.IMetrics.RemoveSessionMetricCollectorAsync( string name )->Task<object>
  • PushTechnology.ClientInterface.Client.Features.Metrics.IMetrics.RemoveSessionMetricCollectorAsync( string name, CancellationToken cancellationToken )->Task<object>
  • PushTechnology.ClientInterface.Client.Features.Metrics.IMetrics.PutTopicMetricCollectorAsync( ITopicMetricCollector collector )->Task<object>
  • PushTechnology.ClientInterface.Client.Features.Metrics.IMetrics.PutTopicMetricCollectorAsync( ITopicMetricCollector collector, CancellationToken cancellationToken )->Task<object>
  • PushTechnology.ClientInterface.Client.Features.Metrics.IMetrics.ListTopicMetricCollectorsAsync()->Task<List<ITopicMetricCollector>>
  • PushTechnology.ClientInterface.Client.Features.Metrics.IMetrics.ListTopicMetricCollectorsAsync( CancellationToken cancellationToken )->Task<List<ITopicMetricCollector>>
  • PushTechnology.ClientInterface.Client.Features.Metrics.IMetrics.RemoveTopicMetricCollectorAsync( string name )->Task<object>
  • PushTechnology.ClientInterface.Client.Features.Metrics.IMetrics.RemoveTopicMetricCollectorAsync( string name, CancellationToken cancellationToken )->Task<object>
  • PushTechnology.ClientInterface.Client.Features.Metrics.IMetricCollector
  • PushTechnology.ClientInterface.Client.Features.Metrics.IMetricCollector.Name{get; set;}->string
  • PushTechnology.ClientInterface.Client.Features.Metrics.IMetricCollector.ExportsToPrometheus{get; set;}->bool
  • PushTechnology.ClientInterface.Client.Features.Metrics.IMetricCollectorBuilder
  • PushTechnology.ClientInterface.Client.Features.Metrics.IMetricCollectorBuilder.ExportsToPrometheus( bool exportsToPrometheus )->IMetricCollectorBuilder
  • PushTechnology.ClientInterface.Client.Features.Metrics.IMetricCollectorBuilder.Reset()->IMetricCollectorBuilder
  • PushTechnology.ClientInterface.Client.Features.Metrics.ITopicMetricCollector
  • PushTechnology.ClientInterface.Client.Features.Metrics.ITopicMetricCollector.TopicSelector{get}->string
  • PushTechnology.ClientInterface.Client.Features.Metrics.ITopicMetricCollector.GroupsByTopicType{get}->bool
  • PushTechnology.ClientInterface.Client.Features.Metrics.ITopicMetricCollectorBuilder
  • PushTechnology.ClientInterface.Client.Features.Metrics.ITopicMetricCollectorBuilder.GroupByTopicType( bool groupByTopicType )->ITopicMetricCollectorBuilder
  • PushTechnology.ClientInterface.Client.Features.Metrics.ITopicMetricCollectorBuilder.Create( string name, string topicSelector )->ITopicMetricCollector
  • PushTechnology.ClientInterface.Client.Features.Metrics.ISessionMetricCollector
  • PushTechnology.ClientInterface.Client.Features.Metrics.ISessionMetricCollector.SessionFilter{get;set;}->string
  • PushTechnology.ClientInterface.Client.Features.Metrics.ISessionMetricCollector.GroupByProperties{get}->List<string>
  • PushTechnology.ClientInterface.Client.Features.Metrics.ISessionMetricCollector.RemovesMetricsWithNoMatches{get;set;}->bool
  • PushTechnology.ClientInterface.Client.Features.Metrics.ISessionMetricCollectorBuilder
  • PushTechnology.ClientInterface.Client.Features.Metrics.ISessionMetricCollectorBuilder.GroupByProperty( string propertyName )->ISessionMetricCollectorBuilder
  • PushTechnology.ClientInterface.Client.Features.Metrics.ISessionMetricCollectorBuilder.GroupByProperties( List<string> propertyNames )->ISessionMetricCollectorBuilder
  • PushTechnology.ClientInterface.Client.Features.Metrics.ISessionMetricCollectorBuilder.RemoveMetricsWithNoMatches( bool remove )->ISessionMetricCollectorBuilder
  • PushTechnology.ClientInterface.Client.Features.Metrics.ISessionMetricCollectorBuilder.Create( string name, string sessionFilter )->ISessionMetricCollector
  • PushTechnology.ClientInterface.Client.Factories.Diffusion.NewSessionMetricCollectorBuilder()->ISessionMetricCollectorBuilder
  • PushTechnology.ClientInterface.Client.Factories.Diffusion.NewTopicMetricCollectorBuilder()->ITopicMetricCollectorBuilder
  • PushTechnology.ClientInterface.Client.Factories.Diffusion.NewRemoteServerBuilder()->IRemoteServerBuilder
  • PushTechnology.ClientInterface.Client.Features.Control.Topics.IMissingTopicNotification.SessionProperties{get}->Dictionary<string, string>
  • PushTechnology.ClientInterface.Client.Features.Control.Topics.IMissingTopicNotification.ServerNames{get}->List<string>
  • PushTechnology.ClientInterface.Client.Features.Control.Clients.IRemoteServers.CreateRemoteServerAsync( IRemoteServer remoteServer )->Task<IRemoteServer>
  • PushTechnology.ClientInterface.Client.Features.Control.Clients.IRemoteServers.CreateRemoteServerAsync( IRemoteServer remoteServer, CancellationToken cancellationToken )->Task<IRemoteServer>
  • PushTechnology.ClientInterface.Client.Features.Control.Clients.IRemoteServers.MissingTopicNotificationFilter{get}->string
  • PushTechnology.ClientInterface.Client.Features.Control.Clients.IRemoteServerBuilder
  • PushTechnology.ClientInterface.Client.Features.Control.Clients.IRemoteServerBuilder.Principal( string principal )->IRemoteServerBuilder
  • PushTechnology.ClientInterface.Client.Features.Control.Clients.IRemoteServerBuilder.Credentials( ICredentials credentials )->IRemoteServerBuilder
  • PushTechnology.ClientInterface.Client.Features.Control.Clients.IRemoteServerBuilder.ConnectionOptions( Dictionary<RemoteServerConnectionOption, string> connectionOptions )->IRemoteServerBuilder
  • PushTechnology.ClientInterface.Client.Features.Control.Clients.IRemoteServerBuilder.ConnectionOption( RemoteServerConnectionOption connectionOption, string value )->IRemoteServerBuilder
  • PushTechnology.ClientInterface.Client.Features.Control.Clients.IRemoteServerBuilder.MissingTopicNotificationFilter( string filter )->IRemoteServerBuilder
  • PushTechnology.ClientInterface.Client.Features.Control.Clients.IRemoteServerBuilder.Reset()->IRemoteServerBuilder
  • PushTechnology.ClientInterface.Client.Features.Control.Clients.IRemoteServerBuilder.Create( string name, string url )->IRemoteServer

Removed:

  • PushTechnology.ClientInterface.Client.Session.ISession.MessagingControl{get}->IMessagingControl
  • PushTechnology.ClientInterface.Client.Features.Control.Topics.IMessagingControl
  • PushTechnology.ClientInterface.Client.Features.Control.Topics.IMessagingControl.SendRequestAsync<TRequest, TResponse>( ISessionId sessionId, string path, TRequest request, CancellationToken cancellationToken )->Task<TResponse>
  • PushTechnology.ClientInterface.Client.Features.Control.Topics.IMessagingControl.SendRequestAsync<TRequest, TResponse>( ISessionId sessionId, string path, TRequest request )->Task<TResponse>
  • PushTechnology.ClientInterface.Client.Features.Control.Topics.IMessagingControl.AddRequestHandlerAsync<TRequest, TResponse>( string path, IRequestHandler<TRequest, TResponse> handler, CancellationToken cancellationToken, params string[] sessionProperties )->Task<IRegistration>
  • PushTechnology.ClientInterface.Client.Features.Control.Topics.IMessagingControl.AddRequestHandlerAsync<TRequest, TResponse>( string path, IRequestHandler<TRequest, TResponse> handler, params string[] sessionProperties )->Task<IRegistration>
  • PushTechnology.ClientInterface.Client.Features.Control.Topics.IMessagingControl.SendRequestToFilterAsync<TRequest, TResponse>( string filter, string path, TRequest request, IFilteredRequestCallback<TResponse> callback, CancellationToken cancellationToken )->Task<int>
  • PushTechnology.ClientInterface.Client.Features.Control.Topics.IMessagingControl.SendRequestToFilterAsync<TRequest, TResponse>( string filter, string path, TRequest request, IFilteredRequestCallback<TResponse> callback )->Task<int>

Deprecated:

  • PushTechnology.ClientInterface.Client.Features.Control.Topics.ISubscriptionControl.AddRoutingSubscriptionHandler( string topicPath, IRoutingSubscriptionRequestHandler handler )->void
  • PushTechnology.ClientInterface.Client.Features.Control.Topics.IRoutingSubscriptionRequest
  • PushTechnology.ClientInterface.Client.Features.Control.Topics.IRoutingSubscriptionRequestHandler
  • PushTechnology.ClientInterface.Client.Features.Control.Topics.RoutingSubscriptionRequestHandlerDefault
  • PushTechnology.ClientInterface.Client.Topics.TopicType.ROUTING
  • PushTechnology.ClientInterface.Client.Features.Control.Clients.IRemoteServers.CreateRemoteServerAsync( string name, string url, string principal, ICredentials credentials )->Task<IRemoteServer>
  • PushTechnology.ClientInterface.Client.Features.Control.Clients.IRemoteServers.CreateRemoteServerAsync( string name, string url, string principal, ICredentials credentials, CancellationToken cancellationToken )->Task<IRemoteServer>
  • PushTechnology.ClientInterface.Client.Features.Control.Clients.IRemoteServers.CreateRemoteServerAsync( string name, string url, string principal, ICredentials credentials, Dictionary<RemoteServerConnectionOption, string> connectionOptions )->Task<IRemoteServer>
  • PushTechnology.ClientInterface.Client.Features.Control.Clients.IRemoteServers.CreateRemoteServerAsync( string name, string url, string principal, ICredentials credentials, Dictionary<RemoteServerConnectionOption, string> connectionOptions, CancellationToken cancellationToken )->Task<IRemoteServer>
  • PushTechnology.ClientInterface.Client.Callbacks.IContextCallback
  • PushTechnology.ClientInterface.Client.Callbacks.IContextStream
  • PushTechnology.ClientInterface.Client.Callbacks.IServerHandler
  • PushTechnology.ClientInterface.Client.Features.ICallback
  • PushTechnology.ClientInterface.Client.Features.IContextCallback
  • PushTechnology.ClientInterface.Client.Features.IRegisteredHandler
  • PushTechnology.ClientInterface.Client.Features.IServerHandler
  • PushTechnology.ClientInterface.Client.Features.ITopicTreeHandler
  • PushTechnology.ClientInterface.Client.Features.ISecurity.ChangePrincipal( string principal, ICredentials credentials, IChangePrincipalCallback callback )->void
  • PushTechnology.ClientInterface.Client.Features.ISecurity.ChangePrincipal<TContext>( string principal, ICredentials credentials, TContext context, IChangePrincipalContextCallback<TContext> callback )->void
  • PushTechnology.ClientInterface.Client.Features.IChangePrincipalCallback
  • PushTechnology.ClientInterface.Client.Features.IChangePrincipalContextCallback
  • PushTechnology.ClientInterface.Client.Features.IPingCallback
  • PushTechnology.ClientInterface.Client.Features.IPingContextCallback
  • PushTechnology.ClientInterface.Client.Features.IPings.PingServer( IPingCallback callback )->void
  • PushTechnology.ClientInterface.Client.Features.IPings.PingServer<TContext>( TContext context, IPingContextCallback<TContext> callback )->void
  • PushTechnology.ClientInterface.Client.Features.ITopicsCompletionCallback
  • PushTechnology.ClientInterface.Client.Features.ITopicsCompletionContextCallback
  • PushTechnology.ClientInterface.Client.Features.ITopics.Subscribe( ITopicSelector selector, ITopicsCompletionCallback callback )->void
  • PushTechnology.ClientInterface.Client.Features.ITopics.Subscribe( string topics, ITopicsCompletionCallback callback )->void
  • PushTechnology.ClientInterface.Client.Features.ITopics.Subscribe<TContext>( ITopicSelector selector, TContext context, ITopicsCompletionContextCallback<TContext> callback )->void
  • PushTechnology.ClientInterface.Client.Features.ITopics.Subscribe<TContext>( string topics, TContext context, ITopicsCompletionContextCallback<TContext> callback )->void
  • PushTechnology.ClientInterface.Client.Features.ITopics.Unubscribe( ITopicSelector selector, ITopicsCompletionCallback callback )->void
  • PushTechnology.ClientInterface.Client.Features.ITopics.Unsubscribe( string topics, ITopicsCompletionCallback callback )->void
  • PushTechnology.ClientInterface.Client.Features.ITopics.Unsubscribe<TContext>( ITopicSelector selector, TContext context, ITopicsCompletionContextCallback<TContext> callback )->void
  • PushTechnology.ClientInterface.Client.Features.ITopics.Unsubscribe<TContext>( string topics, TContext context, ITopicsCompletionContextCallback<TContext> callback )->void
  • PushTechnology.ClientInterface.Client.Features.Control.Clients.SecurityControl.IConfigurationCallback
  • PushTechnology.ClientInterface.Client.Features.Control.Clients.SecurityControl.IConfigurationContextCallback
  • PushTechnology.ClientInterface.Client.Features.Control.Clients.SecurityControl.ISecurityControl.GetSecurity( IConfigurationCallback callback )->void
  • PushTechnology.ClientInterface.Client.Features.Control.Clients.SecurityControl.ISecurityControl.GetSecurity<TContext>( TContext context, IConfigurationContextCallback<TContext> callback )->void
  • PushTechnology.ClientInterface.Client.Features.Control.Clients.SecurityControl.IUpdateStoreCallback
  • PushTechnology.ClientInterface.Client.Features.Control.Clients.SecurityControl.IUpdateStoreContextCallback
  • PushTechnology.ClientInterface.Client.Features.Control.Clients.SecurityControl.ISecurityStoreFeature.UpdateStore( string commandScript, IUpdateStoreCallback callback )->void
  • PushTechnology.ClientInterface.Client.Features.Control.Clients.SecurityControl.ISecurityStoreFeature.UpdateStore<TContext>( string commandScript, TContext context, IUpdateStoreContextCallback<TContext> callback )->void
  • PushTechnology.ClientInterface.Client.Features.Control.Clients.IConfigurationCallback
  • PushTechnology.ClientInterface.Client.Features.Control.Clients.IConfigurationContextCallback
  • PushTechnology.ClientInterface.Client.Features.Control.Clients.ISystemAuthenticationControl.GetSystemAuthentication( IConfigurationCallback callback )->void
  • PushTechnology.ClientInterface.Client.Features.Control.Clients.ISystemAuthenticationControl.GetSystemAuthentication<TContext>( TContext context, IConfigurationContextCallback<TContext> callback )->void
  • PushTechnology.ClientInterface.Client.Features.Control.Topics.ITopicControlAddCallback
  • PushTechnology.ClientInterface.Client.Features.Control.Topics.ITopicControlAddContextCallback
  • PushTechnology.ClientInterface.Client.Features.Control.Topics.ITopicControlRemovalCallback
  • PushTechnology.ClientInterface.Client.Features.Control.Topics.ITopicControlRemovalContextCallback
  • PushTechnology.ClientInterface.Client.Features.Control.Topics.ITopicControl.AddTopic( string topicPath, ITopicSpecification specification, ITopicControlAddCallback callback )->void
  • PushTechnology.ClientInterface.Client.Features.Control.Topics.ITopicControl.AddTopic<TContext>( string topicPath, ITopicSpecification specification, TContext context, ITopicControlAddContextCallback<TContext> callback )->void
  • PushTechnology.ClientInterface.Client.Features.Control.Topics.ITopicControl.Remove( string topicSelector, ITopicControlRemovalCallback callback )->void
  • PushTechnology.ClientInterface.Client.Features.Control.Topics.ITopicControl.Remove<TContext>( string topicSelector, TContext context, ITopicControlRemovalContextCallback<TContext> callback )->void
  • PushTechnology.ClientInterface.Client.Features.Control.Topics.IMissingTopicHandler
  • PushTechnology.ClientInterface.Client.Features.Control.Topics.ITopicControl.NewSpecification( TopicType topicType )->ITopicSpecification
  • PushTechnology.ClientInterface.Client.Features.Control.Topics.ITopicControl.AddMissingTopicHandler( string topicPath, IMissingTopicHandler handler )->void
  • PushTechnology.ClientInterface.Client.Features.Control.Topics.ISubscriptionCallback
  • PushTechnology.ClientInterface.Client.Features.Control.Topics.ISubscriptionContextCallback
  • PushTechnology.ClientInterface.Client.Features.Control.Topics.ISubscriptionByFilterCallback
  • PushTechnology.ClientInterface.Client.Features.Control.Topics.ISubscriptionByFilterContextCallback
  • PushTechnology.ClientInterface.Client.Features.Control.Topics.ISubscriptionControl.Subscribe( ISessionId session, string topics, ISubscriptionCallback callback )->void
  • PushTechnology.ClientInterface.Client.Features.Control.Topics.ISubscriptionControl.Subscribe( ISessionId session, ITopicSelector topics, ISubscriptionCallback callback )->void
  • PushTechnology.ClientInterface.Client.Features.Control.Topics.ISubscriptionControl.Subscribe<TC>( ISessionId session, string topics, TC context, ISubscriptionContextCallback<TC> callback )->void
  • PushTechnology.ClientInterface.Client.Features.Control.Topics.ISubscriptionControl.Subscribe<TC>( ISessionId session, ITopicSelector topics, TC context, ISubscriptionContextCallback<TC> callback )->void
  • PushTechnology.ClientInterface.Client.Features.Control.Topics.ISubscriptionControl.Unsubscribe( ISessionId session, string topics, ISubscriptionCallback callback )->void
  • PushTechnology.ClientInterface.Client.Features.Control.Topics.ISubscriptionControl.Unsubscribe( ISessionId session, ITopicSelector topics, ISubscriptionCallback callback )->void
  • PushTechnology.ClientInterface.Client.Features.Control.Topics.ISubscriptionControl.Unsubscribe<TC>( ISessionId session, string topics, TC context, ISubscriptionContextCallback<TC> callback )->void
  • PushTechnology.ClientInterface.Client.Features.Control.Topics.ISubscriptionControl.Unsubscribe<TC>( ISessionId session, ITopicSelector topics, TC context, ISubscriptionContextCallback<TC> callback )->void
  • PushTechnology.ClientInterface.Client.Features.Control.Topics.ISubscriptionControl.SubscribeByFilter( string filter, string topics, ISubscriptionByFilterCallback callback )->void
  • PushTechnology.ClientInterface.Client.Features.Control.Topics.ISubscriptionControl.SubscribeByFilter( string filter, ITopicSelector topics, ISubscriptionByFilterCallback callback )->void
  • PushTechnology.ClientInterface.Client.Features.Control.Topics.ISubscriptionControl.SubscribeByFilter<TC>( string filter, string topics, TC context, ISubscriptionByFilterContextCallback<TC> callback )->void
  • PushTechnology.ClientInterface.Client.Features.Control.Topics.ISubscriptionControl.SubscribeByFilter<TC>( string filter, ITopicSelector topics, TC context, ISubscriptionByFilterContextCallback<TC> callback )->void
  • PushTechnology.ClientInterface.Client.Features.Control.Topics.ISubscriptionControl.UnsubscribeByFilter( string filter, string topics, ISubscriptionByFilterCallback callback )->void
  • PushTechnology.ClientInterface.Client.Features.Control.Topics.ISubscriptionControl.UnsubscribeByFilter( string filter, ITopicSelector topics, ISubscriptionByFilterCallback callback )->void
  • PushTechnology.ClientInterface.Client.Features.Control.Topics.ISubscriptionControl.UnsubscribeByFilter<TC>( string filter, string topics, TC context, ISubscriptionByFilterContextCallback<TC> callback )->void
  • PushTechnology.ClientInterface.Client.Features.Control.Topics.ISubscriptionControl.UnsubscribeByFilter<TC>( string filter, ITopicSelector topics, TC context, ISubscriptionByFilterContextCallback<TC> callback )->void
  • PushTechnology.ClientInterface.Client.Features.Control.Clients.IClientCallback
  • PushTechnology.ClientInterface.Client.Features.Control.Clients.IClientContextCallback
  • PushTechnology.ClientInterface.Client.Features.Control.Clients.ISessionPropertiesCallback
  • PushTechnology.ClientInterface.Client.Features.Control.Clients.ISessionPropertiesContextCallback
  • PushTechnology.ClientInterface.Client.Features.Control.Clients.IClientControl.Close( ISessionId clientSessionId, IClientCallback callback )->void
  • PushTechnology.ClientInterface.Client.Features.Control.Clients.IClientControl.Close<TC>( ISessionId clientSessionId, TC context, IClientContextCallback<TC> callback )->void
  • PushTechnology.ClientInterface.Client.Features.Control.Clients.IClientControl.GetSessionProperties( ISessionId sessionId, List<string> requiredProperties, ISessionPropertiesCallback callback )->void
  • PushTechnology.ClientInterface.Client.Features.Control.Clients.IClientControl.GetSessionProperties<TC>( ISessionId sessionId, List<string> requiredProperties, TC context, ISessionPropertiesContextCallback<TC> callback )->void
  • PushTechnology.ClientInterface.Client.Features.Control.Clients.IClientControl.SetConflated( ISessionId clientSessionId, bool conflate, IClientCallback callback )->void
  • PushTechnology.ClientInterface.Client.Features.Control.Clients.IClientControl.SetConflated<TC>( ISessionId clientSessionId, bool conflate, TC context, IClientContextCallback<TC> callback )->void

Version 6.6.3

Bugs fixed:

  • Credentials type is incorrect when authenticating.

Version 6.6.0

Highlights:

  • New PYTHON value for CLIENT_TYPE session property.
  • New MQTT value for CLIENT_TYPE session property.
  • New TCP value for TRANSPORT session property.
  • New adapter session properties ADAPTER_TYPE and ADAPTER_ID.
  • Removed Slave Topics.
  • Removed TopicUpdateControl.
  • Removed TopicEventStream/TopicEventListener.
  • Removed legacy authentication handler.
  • Update streams can now be used to update topics that don't retain value.
  • Removed legacy fetch feature.
  • TimeSeries topics can be updated with a user supplied timestamp.
  • Update API now has support for time series topics.
  • The IStream methods OnClose() and OnError() of the SendRequestToFilter IFilteredRequestCallback are deprecated.
  • Asynchronous methods added to ISubscriptionControl.
  • Asynchronous methods added to IClientControl.
  • GetSessionPropertiesAsync now returns a Task.
  • Removing topics now returns the number of topics removed.
  • The Proceed() and Cancel() methods of IMissingTopicNotification no longer have any effect and Proceed() is now deprecated.
  • SERVER_CLOSING close reason is now deprecated.
  • New 'separator' option in topic view specifications.
  • Fallback streams do not receive updates for time series topics.
  • Fetch can now retrieve the latest value from a time series topic.
  • Timeseries events are now cross compatible.
  • Value streams now propagate events from subscribed time series topics with a compatible event type.

Bugs fixed:

  • Sessions could reconnect even if explicitly closed by another session.
  • AddAndSetAsync of ITopicUpdate did not work for TimeSeries.

Changes:

  • PushTechnology.ClientInterface.Client.Features.Control.Topics.ITopicControl.RemoveTopicsAsync( string topicSelector ) now returns Task<object>instead ofTask<ITopicRemovalResult>`
  • PushTechnology.ClientInterface.Client.Features.Control.Topics.ITopicControl.RemoveTopicsAsync( string topicSelector, CancellationToken cancellationToken ) now returns Task<object>instead ofTask<ITopicRemovalResult>`
  • PushTechnology.ClientInterface.Client.Features.Control.Topics.ITopicControl.RemoveTopicsAsync( ITopicSelector topicSelector ) now returns Task<object>instead ofTask<ITopicRemovalResult>`
  • PushTechnology.ClientInterface.Client.Features.Control.Topics.ITopicControl.RemoveTopicsAsync( ITopicSelector topicSelector, CancellationToken cancellationToken ) now returns Task<object>instead ofTask<ITopicRemovalResult>`

Removed:

  • PushTechnology.ClientInterface.Client.Features.Control.Topics.IncompatibleMasterTopicException
  • PushTechnology.ClientInterface.Client.Features.Control.Topics.TopicAddFailReason.INCOMPATIBLE_MASTER
  • PushTechnology.ClientInterface.Client.Topics.Details.TopicSpecificationProperty.SlaveMasterTopic
  • PushTechnology.ClientInterface.Client.Topics.TopicType.SLAVE
  • PushTechnology.ClientInterface.Client.Session.ISession.TopicUpdateControl{get}->ITopicUpdateControl
  • PushTechnology.ClientInterface.Client.Features.Control.Topics.TopicUpdateSourceDefault
  • PushTechnology.ClientInterface.Client.Features.Control.Topics.IValueUpdater<TValue>
  • PushTechnology.ClientInterface.Client.Features.Control.Topics.ITopicUpdateControl
  • PushTechnology.ClientInterface.Client.Features.Control.Topics.ITopicUpdateSource
  • PushTechnology.ClientInterface.Client.Features.Control.Topics.ITopicUpdater
  • PushTechnology.ClientInterface.Client.Features.Control.Topics.ITopicUpdaterUpdateCallback
  • PushTechnology.ClientInterface.Client.Features.Control.Topics.ITopicUpdaterUpdateContextCallback<in TContext>
  • PushTechnology.ClientInterface.Client.Features.Control.Topics.TopicUpdaterErrorReason
  • PushTechnology.ClientInterface.Client.Features.Control.Topics.ITopicUpdaterUpdateCallbackDefault
  • PushTechnology.ClientInterface.Client.Features.Control.Topics.ITopicControl.AddTopicEventListenerAsync(string, ITopicEventStream)->Task<IRegistration>
  • PushTechnology.ClientInterface.Client.Features.Control.Topics.ITopicControl.AddTopicEventListenerAsync(string, ITopicEventStream, CancellationToken)->Task<IRegistration>
  • PushTechnology.ClientInterface.Client.Features.Control.Topics.ITopicControl.AddTopicEventListener(string, ITopicControlTopicEventListener)->void
  • PushTechnology.ClientInterface.Client.Features.Control.Topics.ITopicEventStream
  • PushTechnology.ClientInterface.Client.Features.Control.Topics.TopicEventStreamDefault
  • PushTechnology.ClientInterface.Client.Features.Control.Topics.ITopicControlTopicEventListener
  • PushTechnology.ClientInterface.Client.Features.Control.Topics.TopicControlTopicEventListenerDefault
  • PushTechnology.ClientInterface.Client.Features.Control.Topics.TopicControlEventListenerDefault
  • PushTechnology.ClientInterface.Client.Security.Authentication.IAuthenticationHandler
  • PushTechnology.ClientInterface.Client.Security.Authentication.IAuthenticationHandlerCallback
  • PushTechnology.ClientInterface.Client.Security.Authentication.IAuthenticationResult
  • PushTechnology.ClientInterface.Client.Security.Authentication.IAuthenticationResultSource
  • PushTechnology.ClientInterface.Client.Security.Authentication.CompositeAuthenticationHandler
  • PushTechnology.ClientInterface.Client.Features.Control.Clients.IAuthenticationControl.SetAuthenticationHandler(string, IEnumerable<DetailType>, IControlAuthenticationHandler )->void
  • PushTechnology.ClientInterface.Client.Features.Control.Clients.IControlAuthenticationHandler
  • PushTechnology.ClientInterface.Client.Features.Control.Clients.CompositeControlAuthenticationHandler
  • PushTechnology.ClientInterface.Client.Factories.Diffusion.AuthenticationResult{get}->IAuthenticationResultSource
  • PushTechnology.ClientInterface.Client.Details.ISessionDetails
  • PushTechnology.ClientInterface.Client.Details.ISessionDetailsSource
  • PushTechnology.ClientInterface.Client.Details.DetailType
  • PushTechnology.ClientInterface.Client.Details.IClientSummary
  • PushTechnology.ClientInterface.Client.Details.IClientLocation
  • PushTechnology.ClientInterface.Client.Details.ICoordinates
  • PushTechnology.ClientInterface.Client.Details.AddressType
  • PushTechnology.ClientInterface.Client.Details.ICountryDetails
  • PushTechnology.ClientInterface.Client.Features.Control.Topics.ITopicUpdateContextCallback
  • PushTechnology.ClientInterface.Client.Features.Control.Topics.TopicUpdateContextCallbackDefault
  • PushTechnology.ClientInterface.Client.Features.Control.Topics.TopicSourceErrorDetails

Added:

  • PushTechnology.ClientInterface.Client.Features.TimeSeries.ITimeSeries.AppendAsync<TValue>(string, TValue, DateTimeOffset)->Task<IEventMetadata>
  • PushTechnology.ClientInterface.Client.Features.TimeSeries.ITimeSeries.AppendAsync<TValue>(string, TValue, DateTimeOffset, CancellationToken)->Task<IEventMetadata>
  • PushTechnology.ClientInterface.Client.Features.IFilteredRequestCallback<TResponse>.OnClose()->void
  • PushTechnology.ClientInterface.Client.Features.IFilteredRequestCallback<TResponse>.OnError()->void
  • PushTechnology.ClientInterface.Client.Features.Control.Topics.ISubscriptionControl.SubscribeAsync( ISessionId sessionId, string topics )->Task<object>
  • PushTechnology.ClientInterface.Client.Features.Control.Topics.ISubscriptionControl.SubscribeAsync( ISessionId sessionId, string topics, CancellationToken cancellationToken )->Task<object>
  • PushTechnology.ClientInterface.Client.Features.Control.Topics.ISubscriptionControl.UnsubscribeAsync( ISessionId sessionId, string topics )->Task<object>
  • PushTechnology.ClientInterface.Client.Features.Control.Topics.ISubscriptionControl.UnsubscribeAsync( ISessionId sessionId, string topics, CancellationToken cancellationToken )->Task<object>
  • PushTechnology.ClientInterface.Client.Features.Control.Topics.ISubscriptionControl.SubscribeByFilterAsync( string filter, string topics )->Task<ISubscriptionByFilterResult>
  • PushTechnology.ClientInterface.Client.Features.Control.Topics.ISubscriptionControl.SubscribeByFilterAsync( string filter, string topics, CancellationToken cancellationToken )->Task<ISubscriptionByFilterResult>
  • PushTechnology.ClientInterface.Client.Features.Control.Topics.ISubscriptionControl.UnsubscribeByFilterAsync( string filter, string topics )->Task<ISubscriptionByFilterResult>
  • PushTechnology.ClientInterface.Client.Features.Control.Topics.ISubscriptionControl.UnsubscribeByFilterAsync( string filter, string topics, CancellationToken cancellationToken )->Task<ISubscriptionByFilterResult>
  • PushTechnology.ClientInterface.Client.Features.Control.Topics.ISubscriptionByFilterResult.NumberSelected{get}->int
  • PushTechnology.ClientInterface.Client.Features.Control.Clients.IClientControl.CloseAsync( ISessionId clientSessionId )->Task<object>
  • PushTechnology.ClientInterface.Client.Features.Control.Clients.IClientControl.CloseAsync( ISessionId clientSessionId, CancellationToken cancellationToken )->Task<object>
  • PushTechnology.ClientInterface.Client.Features.Control.Clients.IClientControl.SetConflatedAsync( ISessionId clientSessionId, bool conflate )->Task<object>
  • PushTechnology.ClientInterface.Client.Features.Control.Clients.IClientControl.SetConflatedAsync( ISessionId clientSessionId, bool conflate, CancellationToken cancellationToken)->Task<object>
  • PushTechnology.ClientInterface.Client.Features.Control.Clients.IClientControl.GetSessionPropertiesAsync(ISessionId sessionId, List<string> requiredProperties )->Task<IReadOnlyDictionary<string, string>>
  • PushTechnology.ClientInterface.Client.Features.Control.Clients.IClientControl.GetSessionPropertiesAsync(ISessionId sessionId, List<string> requiredProperties, CancellationToken cancellationToken )->Task<IReadOnlyDictionary<string, string>>
  • PushTechnology.ClientInterface.Client.Features.Control.Topics.ITopicRemovalResult.RemovedCount{get}->int

Deprecated:

  • PushTechnology.ClientInterface.Client.Features.IFilteredRequestCallback<TResponse>.OnClose()->void
  • PushTechnology.ClientInterface.Client.Features.IFilteredRequestCallback<TResponse>.OnError()->void
  • PushTechnology.ClientInterface.Client.Features.Control.Topics.IMissingTopicNotification.Proceed()->void
  • PushTechnology.ClientInterface.Client.Session.CloseReason.SERVER_CLOSING

Version 6.5.7

Bugs fixed:

  • Credentials type is incorrect when authenticating.

Version 6.5.1

Bugs fixed:

  • Incorrect annotation for methods added to IMessaging.
  • The .NET client was unable to receive messages larger than the configured buffer size.
  • The .NET client was unable to reconnect to the Diffusion server if connection was lost.
  • The .NET client was unable to connect to Diffusion Cloud.

Version 6.5.0

Highlights:

  • Removed one-way messaging.
  • Deprecated MessagingControl.
  • Close() and SetConflated() methods of ClientControl now accept a session filter.
  • Remote Servers feature.
  • Fetch option added to include unpublished delayed reference topics.

Changes:

  • PushTechnology.ClientInterface.Client.Features.IMessaging now inherits PushTechnology.ClientInterface.Client.Features.Control.Topics.IMessagingControl.
  • PushTechnology.ClientInterface.Connection.ConnectionException no longer inherits System.IO.IOException. It now inherits System.Exception instead.
  • PushTechnology.ClientInterface.Client.Features.Control.Topics.IMessagingControl no longer inherits from PushTechnology.ClientInterface.Client.Types.ISendOptionsBuilderFactory.
  • PushTechnology.ClientInterface.Client.Features.IMessaging no longer inherits from PushTechnology.ClientInterface.Client.Types.ISendOptionsBuilderFactory.
  • PushTechnology.ClientInterface.Client.Features.Control.Clients.IClientControl.SetSessionPropertiesAsync(string filter, Dictionary<string, string> properties ) no longer returns Task<object. It now returns Task<int> instead.
  • PushTechnology.ClientInterface.Client.Features.Control.Clients.IClientControl.SetSessionPropertiesAsync(string filter, Dictionary<string, string> properties, CancellationToken cancellationToken) no longer returns Task<object. It now returns Task<int> instead.
  • PushTechnology.ClientInterface.Client.Session.SessionException no longer inherits from PushTechnology.DiffusionCore.Exceptions.DiffusionAPIException. It now inherits System.Exception instead.
  • PushTechnology.ClientInterface.Services.ServiceException no longer inherits from PushTechnology.DiffusionCore.Exceptions.DiffusionAPIException. It now inherits System.Exception instead.

Removed:

  • PushTechnology.DiffusionCore.Buffering.BufferUnderflowException
  • PushTechnology.DiffusionCore.Buffering.BufferOverflowException
  • PushTechnology.DiffusionCore.Buffering.ByteBuffer
  • PushTechnology.ClientInterface.Client.SendOptionsPriority
  • PushTechnology.ClientInterface.Client.Types.ITopicSendOptions
  • PushTechnology.ClientInterface.Client.Types.ITopicSendOptionsBuilder
  • PushTechnology.ClientInterface.Client.Types.ISendOptionsBuilderFactory
  • PushTechnology.ClientInterface.Client.Enum.ThrottlerType
  • PushTechnology.ClientInterface.Client.Features.Control.Clients.IClientControl.SetThrottled( ISessionId clientSessionId, ThrottlerType throttlerType, int throttlingLimit, IClientCallback callback )->void
  • PushTechnology.ClientInterface.Client.Features.Control.Clients.IClientControl.SetThrottled<TC>( ISessionId clientSessionId, ThrottlerType throttlerType, int throttlingLimit, TC context, IClientCallback callback )->void
  • PushTechnology.ClientInterface.Client.Features.IMessaging.Send(string, string, ISendCallback)->void
  • PushTechnology.ClientInterface.Client.Features.IMessaging.Send(string, IBytes, ISendCallback)->void
  • PushTechnology.ClientInterface.Client.Features.IMessaging.Send(string, IBytes, ITopicSendOptions, ISendCallback)->void
  • PushTechnology.ClientInterface.Client.Features.IMessaging.Send<TContext>(string, string, TContext, ISendContextCallback<TContext>)->void
  • PushTechnology.ClientInterface.Client.Features.IMessaging.Send<TContext>(string, IBytes, TContext, ISendContextCallback<TContext>)->void
  • PushTechnology.ClientInterface.Client.Features.IMessaging.Send<TContext>(string, IBytes, ITopicSendOptions, TContext, ISendContextCallback<TContext>)->void
  • PushTechnology.ClientInterface.Client.Features.IMessaging.AddMessageStream(ITopicSelector, IMessageStream)->void
  • PushTechnology.ClientInterface.Client.Features.IMessaging.AddMessageStream(string, IMessageStream)->void
  • PushTechnology.ClientInterface.Client.Features.IMessaging.AddFallbackMessageStream(IMessageStream)->void
  • PushTechnology.ClientInterface.Client.Features.IMessaging.RemoveMessageStream(IMessageStream)->void
  • PushTechnology.ClientInterface.Client.Features.DefaultMessageStream
  • PushTechnology.ClientInterface.Client.Features.IMessageStream
  • PushTechnology.ClientInterface.Client.Features.Control.Topics.ITopicControl.RemoveTopicsWithSession(string, Callbacks.ITopicTreeHandler)->void
  • PushTechnology.ClientInterface.Client.Features.Control.Topics.ITopicControl.RemoveTopicsWithSessionAsync(string)->Task<IRegistration
  • PushTechnology.ClientInterface.Client.Features.Control.Topics.ITopicControl.RemoveTopicsWithSessionAsync(string, CancellationToken)->Task<IRegistration
  • PushTechnology.ClientInterface.Client.Features.Control.Topics.IMessagingControl.Send(ISessionId, string, IBytes, ITopicSendOptions, ISendCallback)->void
  • PushTechnology.ClientInterface.Client.Features.Control.Topics.IMessagingControl.Send(ISessionId, string, IBytes, ISendCallback)->void
  • PushTechnology.ClientInterface.Client.Features.Control.Topics.IMessagingControl.Send(ISessionId, string, string, ISendCallback)->void
  • PushTechnology.ClientInterface.Client.Features.Control.Topics.IMessagingControl.Send<TContext>(ISessionId, string, IBytes, ITopicSendOptions, TContext, ISendContextCallback<TContext>)->void
  • PushTechnology.ClientInterface.Client.Features.Control.Topics.IMessagingControl.Send<TContext>(ISessionId, string, IBytes, TContext, ISendContextCallback<TContext>)->void
  • PushTechnology.ClientInterface.Client.Features.Control.Topics.IMessagingControl.Send<TContext>(ISessionId, string, string, TContext, ISendContextCallback<TContext>)->void
  • PushTechnology.ClientInterface.Client.Features.Control.Topics.IMessagingControl.AddMessageHandler(string, IMessageHandler, params string[])->void
  • PushTechnology.ClientInterface.Client.Features.Control.Topics.IMessagingControl.SendToFilter(string, string, IBytes, ITopicSendOptions, ISendToFilterCallback)->void
  • PushTechnology.ClientInterface.Client.Features.Control.Topics.IMessagingControl.SendToFilter(string, string, IBytes, ISendToFilterCallback)->void
  • PushTechnology.ClientInterface.Client.Features.Control.Topics.IMessagingControl.SendToFilter(string, string, string, ISendToFilterCallback)->void
  • PushTechnology.ClientInterface.Client.Features.Control.Topics.IMessagingControl.SendToFilter<TContext>(string, string, IBytes, ITopicSendOptions, TContext, ISendToFilterContextCallback<TContext>)->void
  • PushTechnology.ClientInterface.Client.Features.Control.Topics.IMessagingControl.SendToFilter<TContext>(string, string, IBytes, TContext, ISendToFilterContextCallback<TContext>)->void
  • PushTechnology.ClientInterface.Client.Features.Control.Topics.IMessagingControl.SendToFilter<TContext>(string, string, string, TContext, ISendToFilterContextCallback<TContext>)->void
  • PushTechnology.ClientInterface.Client.Features.Control.Topics.MessageReceiverDefault
  • PushTechnology.ClientInterface.Client.Features.Control.Topics.IMessageHandler
  • PushTechnology.ClientInterface.Client.Internal.Services.IMessageReceiverRegistration
  • PushTechnology.ClientInterface.Client.Features.Control.Topics.ISendToFilterCallback
  • PushTechnology.ClientInterface.Client.Features.Control.Topics.ISendToFilterContextCallback<TC>
  • PushTechnology.ClientInterface.Client.Types.IReceiveContext
  • PushTechnology.ClientInterface.Client.Session.ISessionAttributes.LocalSocketAddress{get;}->SocketAddress
  • PushTechnology.ClientInterface.Client.Session.ISessionFactory.LocalSocketAddress(SocketAddress)->ISessionFactory
  • PushTechnology.DiffusionCore.Exceptions.DiffusionBaseException
  • PushTechnology.DiffusionCore.Exceptions.DiffusionException
  • PushTechnology.DiffusionCore.Exceptions.DiffusionFatalException
  • PushTechnology.DiffusionCore.Exceptions.DiffusionAPIException
  • PushTechnology.DiffusionCore.Exceptions.DiffusionConnectionException
  • PushTechnology.DiffusionCore.Exceptions.DiffusionMessageException
  • PushTechnology.DiffusionCore.Exceptions.DiffusionPropertyException
  • PushTechnology.DiffusionCore.Connection.ConnectionTimeoutException
  • PushTechnology.ClientInterface.Client.Features.Control.Topics.SendCallbackDefault
  • PushTechnology.ClientInterface.Client.Features.Control.Topics.SendContextCallbackDefault<TC>
  • PushTechnology.ClientInterface.Client.Features.ISendCallback
  • PushTechnology.ClientInterface.Client.Features.ISendContextCallback<TC>

Added:

  • PushTechnology.ClientInterface.Client.Features.IFetchRequest.WithUnpublishedDelayedTopics()->IFetchRequest
  • PushTechnology.ClientInterface.Client.Features.IFetchRequest<TValue>.WithUnpublishedDelayedTopics()->IFetchRequest<TValue>
  • PushTechnology.ClientInterface.Client.Callbacks.ErrorReason.CLUSTER_ROUTING
  • PushTechnology.ClientInterface.Client.Features.ClusterRoutingException
  • PushTechnology.ClientInterface.Client.Features.Control.Clients.IRemoteServers.CreateRemoteServerAsync(string, string, string, ICredentials)->Task<IRemoteServer>
  • PushTechnology.ClientInterface.Client.Features.Control.Clients.IRemoteServers.CreateRemoteServerAsync(string, string, string, ICredentials, CancellationToken)->Task<IRemoteServer>
  • PushTechnology.ClientInterface.Client.Features.Control.Clients.IRemoteServers.CreateRemoteServerAsync(string, string, string, ICredentials, Dictionary<RemoteServerConnectionOption, string>)->Task<IRemoteServer>
  • PushTechnology.ClientInterface.Client.Features.Control.Clients.IRemoteServers.CreateRemoteServerAsync(string, string, string, ICredentials, Dictionary<RemoteServerConnectionOption, string>, CancellationToken)->Task<IRemoteServer>
  • PushTechnology.ClientInterface.Client.Features.Control.Clients.IRemoteServers.ListRemoteServersAsync()->Task<List<IRemoteServer>>
  • PushTechnology.ClientInterface.Client.Features.Control.Clients.IRemoteServers.ListRemoteServersAsync(CancellationToken)->Task<List<IRemoteServer>>
  • PushTechnology.ClientInterface.Client.Features.Control.Clients.IRemoteServers.CheckRemoteServerAsync(string)->Task<ICheckRemoteServerResult>
  • PushTechnology.ClientInterface.Client.Features.Control.Clients.IRemoteServers.CheckRemoteServerAsync(string, CancellationToken)->Task<ICheckRemoteServerResult>
  • PushTechnology.ClientInterface.Client.Features.Control.Clients.IRemoteServers.RemoveRemoteServerAsync(string)->Task<object>
  • PushTechnology.ClientInterface.Client.Features.Control.Clients.IRemoteServers.RemoveRemoteServerAsync(string, CancellationToken)->Task<object>
  • PushTechnology.ClientInterface.Client.Features.IMessaging.SendRequestAsync<TRequest, TResponse>(ISessionId sessionId, string path, TRequest request, CancellationToken cancellationToken )->Task<TResponse>
  • PushTechnology.ClientInterface.Client.Features.IMessaging.SendRequestAsync<TRequest, TResponse>( ISessionId sessionId, string path, TRequest request )->Task<TResponse>
  • PushTechnology.ClientInterface.Client.Features.IMessaging.AddRequestHandlerAsync<TRequest, TResponse>(string path, IRequestHandler<TRequest, TResponse> handler, CancellationToken cancellationToken, params string[] sessionProperties )->Task<IRegistration>
  • PushTechnology.ClientInterface.Client.Features.IMessaging.AddRequestHandlerAsync<TRequest, TResponse>(string path, IRequestHandler<TRequest, TResponse> handler, params string[] sessionProperties )->Task<IRegistration>
  • PushTechnology.ClientInterface.Client.Features.IMessaging.SendRequestToFilterAsync<TRequest, TResponse>(string filter, string path, TRequest request, IFilteredRequestCallback<TResponse> callback, CancellationToken cancellationToken )->Task<int>
  • PushTechnology.ClientInterface.Client.Features.IMessaging.SendRequestToFilterAsync<TRequest, TResponse>(string filter, string path, TRequest request, IFilteredRequestCallback<TResponse> callback )->Task<int>
  • PushTechnology.ClientInterface.Client.Features.Control.Clients.IClientControl.CloseAsync(string)->Task<int>
  • PushTechnology.ClientInterface.Client.Features.Control.Clients.IClientControl.CloseAsync(string, CancellationToken)->Task<int>
  • PushTechnology.ClientInterface.Client.Features.Control.Clients.IClientControl.SetConflatedAsync(string, bool)->Task<int>
  • PushTechnology.ClientInterface.Client.Features.Control.Clients.IClientControl.SetConflatedAsync(string, bool, CancellationToken)->Task<int>
  • PushTechnology.ClientInterface.Client.Types.PathPermission
  • PushTechnology.ClientInterface.Client.Features.Control.Clients.SecurityControl.ISecurityConfiguration.IsolatedPaths{get;}->IReadOnlyCollection<string>
  • PushTechnology.ClientInterface.Client.Features.Control.Clients.SecurityControl.IScriptBuilder.IsolatePath(string)->IScriptBuilder
  • PushTechnology.ClientInterface.Client.Features.Control.Clients.SecurityControl.IScriptBuilder.DeisolatePath(string)->IScriptBuilder
  • PushTechnology.ClientInterface.Client.Features.Control.Clients.SecurityControl.IRole.DefaultPathPermissions{get;}->ReadOnlyCollection<PathPermission>
  • PushTechnology.ClientInterface.Client.Features.Control.Clients.SecurityControl.IRole.PathPermissions{get;}->IReadOnlyDictionary<string, IReadOnlyCollection<PathPermission>>
  • PushTechnology.ClientInterface.Client.Features.Control.Clients.SecurityControl.IScriptBuilder.SetDefaultPathPermissions(string, IEnumerable<PathPermission>)->IScriptBuilder
  • PushTechnology.ClientInterface.Client.Features.Control.Clients.SecurityControl.IScriptBuilder.SetPathPermissions(string, string, IEnumerable<PathPermission>)->IScriptBuilder
  • PushTechnology.ClientInterface.Client.Features.Control.Clients.SecurityControl.IScriptBuilder.RemovePathPermissions(string, string)->IScriptBuilder
  • PushTechnology.ClientInterface.Client.Features.ISecurity.GetPermissionsForPathAsync(string)->Task<IReadOnlyCollection<PathPermission>>
  • PushTechnology.ClientInterface.Client.Features.ISecurity.GetPermissionsForPathAsync(string, CancellationToken)->Task<IReadOnlyCollection<PathPermission>>
  • PushTechnology.ClientInterface.Client.Features.Control.Clients.ISystemAuthenticationControl.IScriptBuilder.TrustClientProposedPropertyIn(string, IEnumerable<string>)->IScriptBuilder
  • PushTechnology.ClientInterface.Client.Features.Control.Clients.ISystemAuthenticationControl.IScriptBuilder.TrustClientProposedPropertyMatches(string, string)->IScriptBuilder
  • PushTechnology.ClientInterface.Client.Features.Control.Clients.ISystemAuthenticationControl.IScriptBuilder.IgnoreClientProposedProperty(string)->IScriptBuilder

Deprecated:

  • PushTechnology.ClientInterface.Client.Features.Control.Topics.IMessagingControl
  • PushTechnology.ClientInterface.Client.Features.Control.Topics.IMessagingControl.SendRequestAsync<TRequest, TResponse>(ISessionId sessionId, string path, TRequest request, CancellationToken cancellationToken )->Task<TResponse>
  • PushTechnology.ClientInterface.Client.Features.Control.Topics.IMessagingControl.SendRequestAsync<TRequest, TResponse>( ISessionId sessionId, string path, TRequest request )->Task<TResponse>
  • PushTechnology.ClientInterface.Client.Features.Control.Topics.IMessagingControl.AddRequestHandlerAsync<TRequest, TResponse>(string path, IRequestHandler<TRequest, TResponse> handler, CancellationToken cancellationToken, params string[] sessionProperties )->Task<IRegistration>
  • PushTechnology.ClientInterface.Client.Features.Control.Topics.IMessagingControl.AddRequestHandlerAsync<TRequest, TResponse>(string path, IRequestHandler<TRequest, TResponse> handler, params string[] sessionProperties )->Task<IRegistration>
  • PushTechnology.ClientInterface.Client.Features.Control.Topics.IMessagingControl.SendRequestToFilterAsync<TRequest, TResponse>(string filter, string path, TRequest request, IFilteredRequestCallback<TResponse> callback, CancellationToken cancellationToken )->Task<int>
  • PushTechnology.ClientInterface.Client.Features.Control.Topics.IMessagingControl.SendRequestToFilterAsync<TRequest, TResponse>(string filter, string path, TRequest request, IFilteredRequestCallback<TResponse> callback )->Task<int>
  • PushTechnology.ClientInterface.Client.Session.ISession.MessagingControl
  • PushTechnology.ClientInterface.Client.Types.TopicPermission
  • PushTechnology.ClientInterface.Client.Features.Control.Clients.SecurityControl.IRole.DefaultTopicPermissions{get;}->IReadOnlyCollection<TopicPermission>
  • PushTechnology.ClientInterface.Client.Features.Control.Clients.SecurityControl.IRole.TopicPermissions{get;}->IReadOnlyDictionary<string, IReadOnlyCollection<TopicPermission>>
  • PushTechnology.ClientInterface.Client.Features.Control.Clients.SecurityControl.IScriptBuilder.SetDefaultTopicPermissions(string, IEnumerable<TopicPermission>)->IScriptBuilder
  • PushTechnology.ClientInterface.Client.Features.Control.Clients.SecurityControl.IScriptBuilder.SetTopicPermissions(string, string, IEnumerable<TopicPermission>)->IScriptBuilder
  • PushTechnology.ClientInterface.Client.Features.Control.Clients.SecurityControl.IScriptBuilder.RemoveTopicPermissions(string, string)->IScriptBuilder
  • PushTechnology.ClientInterface.Client.Features.Control.Topics.INCOMPATIBLE_PARENT
  • PushTechnology.ClientInterface.Client.Features.ISecurity.GetPathPermissionsAsync(string)->Task<IReadOnlyCollection<TopicPermission>>
  • PushTechnology.ClientInterface.Client.Features.ISecurity.GetPathPermissionsAsync(string, CancellationToken)->Task<IReadOnlyCollection<TopicPermission>>

Version 6.4.0

Highlights:

  • Includes bugfixes up to Version 6.3.4.
  • Partial update of JSON values.
  • Quoting and escaping of characters in topic view expressions has been simplified.
  • Added the ability to mark specific roles and principals as "locked".
  • Fetch a limited number of results for deep branches.

Changes:

  • PushTechnology.ClientInterface.Client.Session.SessionState no longer inherits AdvancedEnum and is now sealed.
  • PushTechnology.ClientInterface.Client.Session.SessionErrorHandlerEventArgs is now sealed.
  • PushTechnology.ClientInterface.Client.Session.SessionListenerEventArgs is now sealed.
  • PushTechnology.ClientInterface.Client.Session.ISessionFactory.ConnectionTimeout(int) no longer throws ArgumentException when given a negative or 0 timeout. Instead it sets the timeout to the maximum of 1 hour.
  • PushTechnology.ClientInterface.Client.Session.ISessionFactory.WriteTimeout(int) no longer throws ArgumentException when given a negative or 0 timeout. Instead it sets the timeout to the maximum of 1 hour.
  • PushTechnology.ClientInterface.Client.Session.ISessionFactory.InputBufferSize(int) throws ArgumentOutOfRangeException instead of ArgumentException when given a size less than SessionAttributes.MAXIMUM_MESSAGE_SIZE_MIN.
  • PushTechnology.ClientInterface.Client.Session.ISessionFactory.OutputBufferSize(int) throws ArgumentOutOfRangeException instead of ArgumentException when given a size less than SessionAttributes.MAXIMUM_MESSAGE_SIZE_MIN.
  • PushTechnology.ClientInterface.Client.Session.ISessionFactory.LocalSocketAddress(SocketAddress) no longer throws throws ArgumentNullException when given a null argument.
  • PushTechnology.ClientInterface.Client.Session.ISessionFactory.MaximumMessageSize(int) throws ArgumentOutOfRangeException instead of ArgumentException when given a size less than SessionAttributes.MAXIMUM_MESSAGE_SIZE_MIN.
  • PushTechnology.ClientInterface.Client.Session.ISessionFactory.HttpProxy(string, int) throws ArgumentNullException when the given host is null, and ArgumentOutOfRangeException when the given port is not a valid IP port.
  • PushTechnology.ClientInterface.Client.Session.ISessionFactory.HttpProxy(string, int, IHttpProxyAuthentication) throws ArgumentNullException when the given host or authentication is null, and ArgumentOutOfRangeException when the given port is not a valid IP port.
  • PushTechnology.ClientInterface.Client.Session.ISessionFactory.ReconnectionStrategy(IReconnectionStrategy) no longer throws ArgumentNullException when the given strategy is null.
  • PushTechnology.ClientInterface.Client.Features.ITopics now inherits PushTechnology.ClientInterface.Client.Features.ITopicUpdate

Added:

  • PushTechnology.ClientInterface.Client.Topics.Details.TopicSpecificationProperty.Priority
  • PushTechnology.ClientInterface.Client.Factories.Diffusion.NewSpecification( TopicType ) -> ITopicSpecification
  • PushTechnology.ClientInterface.Client.Features.Control.Clients.ISystemPrincipal.LockingPrincipal{get;}
  • PushTechnology.ClientInterface.Client.Features.Control.Clients.IScriptBuilder.AddPrincipal(string,string,IEnumerable<string>,string)
  • PushTechnology.ClientInterface.Client.Features.Control.Clients.SecurityControl.IRole.LockingPrincipal{get;}
  • PushTechnology.ClientInterface.Client.Features.Control.Clients.SecurityControl.IScriptBuilder.SetRoleLockedByPrincipal(string,string)
  • PushTechnology.ClientInterface.Client.Features.ITopicUpdate.ApplyJSONPatchAsync(string, string)->Task<IJSONPatchResult>
  • PushTechnology.ClientInterface.Client.Features.ITopicUpdate.ApplyJSONPatchAsync(string, string, CancellationToken)->Task<IJSONPatchResult>
  • PushTechnology.ClientInterface.Client.Features.ITopicUpdate.ApplyJSONPatchAsync(string, string, IUpdateConstraint)->Task<IJSONPatchResult>
  • PushTechnology.ClientInterface.Client.Features.ITopicUpdate.ApplyJSONPatchAsync(string, string, IUpdateConstraint, CancellationToken)->Task<IJSONPatchResult>
  • PushTechnology.ClientInterface.Client.Features.IJSONPatchResult
  • PushTechnology.ClientInterface.Client.Features.InvalidPatchException
  • PushTechnology.ClientInterface.Client.Features.FailedPatchException
  • PushTechnology.ClientInterface.Client.Features.IFetchRequest.LimitDeepBranches(int, int)->IFetchRequest
  • PushTechnology.ClientInterface.Client.Features.IFetchRequest<TValue>.LimitDeepBranches(int, int)->IFetchRequest<TValue>
  • PushTechnology.ClientInterface.Client.Features.Control.Topics.IMissingTopicNotification.TopicSelectorExpression{get;}
  • PushTechnology.ClientInterface.Client.Session.ISessionFactory.CertificateValidation(CertificateValidationCallback)->ISessionFactory
  • PushTechnology.ClientInterface.Client.Session.CertificateValidationResult
  • PushTechnology.ClientInterface.Client.Session.CertificateValidationCallback
  • PushTechnology.ClientInterface.Client.Session.ISessionFactory.LocalEndPoint(EndPoint)->ISessionFactory
  • PushTechnology.ClientInterface.Client.Session.ISessionAttributes.LocalEndPoint{get;}

Deprecated:

  • PushTechnology.ClientInterface.Client.Features.Control.Topics.INCOMPATIBLE_MASTER
  • PushTechnology.ClientInterface.Client.Topics.Details.TopicSpecificationProperty.SlaveMasterTopic
  • PushTechnology.ClientInterface.Client.Features.Control.Topics.IncompatibleMasterTopicException
  • PushTechnology.ClientInterface.Client.Topics.TopicType.SLAVE
  • PushTechnology.ClientInterface.Client.Topics.TopicSelectorType
  • PushTechnology.ClientInterface.Client.Topics.TopicSelectorFormatException
  • PushTechnology.ClientInterface.Client.Topics.TopicSelectorConstants
  • PushTechnology.ClientInterface.Client.Topics.ITopicPathSelector
  • PushTechnology.ClientInterface.Client.Topics.ITopicSelectors
  • PushTechnology.ClientInterface.Client.Topics.ITopicSelector
  • PushTechnology.ClientInterface.Client.Factories.Diffusion.TopicSelectors{get;}
  • PushTechnology.ClientInterface.Client.Features.Control.Topics.ISubscriptionControl.Subscribe(ISessionId, ITopicSelector, ISubscriptionCallback)->void
  • PushTechnology.ClientInterface.Client.Features.Control.Topics.ISubscriptionControl.Subscribe<TC>(ISessionId, ITopicSelector, TC, ISubscriptionContextCallback<TC>)->void
  • PushTechnology.ClientInterface.Client.Features.Control.Topics.ISubscriptionControl.Unsubscribe(ISessionId, ITopicSelector, ISubscriptionCallback)->void
  • PushTechnology.ClientInterface.Client.Features.Control.Topics.ISubscriptionControl.Unsubscribe<TC>(ISessionId, ITopicSelector, TC, ISubscriptionContextCallback<TC>)->void
  • PushTechnology.ClientInterface.Client.Features.Control.Topics.ISubscriptionControl.SubscribeByFilter(string, ITopicSelector, ISubscriptionByFilterCallback)->void
  • PushTechnology.ClientInterface.Client.Features.Control.Topics.ISubscriptionControl.SubscribeByFilter<TC>(string, ITopicSelector, TC, ISubscriptionByFilterContextCallback<TC>)->void
  • PushTechnology.ClientInterface.Client.Features.Control.Topics.ISubscriptionControl.UnsubscribeByFilter(string, ITopicSelector, ISubscriptionByFilterCallback)->void
  • PushTechnology.ClientInterface.Client.Features.Control.Topics.ISubscriptionControl.UnsubscribeByFilter<TC>(string, ITopicSelector, TC, ISubscriptionByFilterContextCallback<TC>)->void
  • PushTechnology.ClientInterface.Client.Features.Control.Topics.ITopicControl.RemoveTopicsAsync(ITopicSelector)->Task<object>
  • PushTechnology.ClientInterface.Client.Features.Control.Topics.ITopicControl.RemoveTopicsAsync(ITopicSelector, CancellationToken)->Task<object>
  • PushTechnology.ClientInterface.Client.Features.Control.Topics.INotificationRegistration.SelectAsync(ITopicSelector)->Task<object>
  • PushTechnology.ClientInterface.Client.Features.Control.Topics.INotificationRegistration.SelectAsync(ITopicSelector, CancellationToken)->Task<object>
  • PushTechnology.ClientInterface.Client.Features.Control.Topics.INotificationRegistration.DeselectAsync(ITopicSelector)->Task<object>
  • PushTechnology.ClientInterface.Client.Features.Control.Topics.INotificationRegistration.DeselectAsync(ITopicSelector, CancellationToken)->Task<object>
  • PushTechnology.ClientInterface.Client.Features.Control.Topics.IMissingTopicNotification.TopicSelector{get;}
  • PushTechnology.ClientInterface.Client.Features.Control.Topics.IMissingTopicNotification.Cancel()->void
  • PushTechnology.ClientInterface.Client.Features.Control.Topics.IValueUpdater<TValue>.RemoveCachedValues(ITopicSelector)->void
  • PushTechnology.ClientInterface.Client.Features.ITopics.AddStream<TValue>(ITopicSelector, IValueStream<TValue>)->void
  • PushTechnology.ClientInterface.Client.Features.ITopics.AddTimeSeriesStream<TValue>(ITopicSelector, IValueStream<IEvent<TValue>>)->void
  • PushTechnology.ClientInterface.Client.Features.ITopics.SubscribeAsync(ITopicSelector)->Task<object>
  • PushTechnology.ClientInterface.Client.Features.ITopics.SubscribeAsync(ITopicSelector, CancellationToken)->Task<object>
  • PushTechnology.ClientInterface.Client.Features.ITopics.UnsubscribeAsync(ITopicSelector)->Task<object>
  • PushTechnology.ClientInterface.Client.Features.ITopics.UnsubscribeAsync(ITopicSelector, CancellationToken)->Task<object>
  • PushTechnology.ClientInterface.Client.Features.ITopics.Subscribe(ITopicSelector, ITopicsCompletionCallback)->void
  • PushTechnology.ClientInterface.Client.Features.ITopics.Subscribe<TContext>(ITopicSelector, TContext, ITopicsCompletionContextCallback<TContext>)->void
  • PushTechnology.ClientInterface.Client.Features.ITopics.Unsubscribe(ITopicSelector, ITopicsCompletionCallback)->void
  • PushTechnology.ClientInterface.Client.Features.ITopics.Unsubscribe<TContext>(ITopicSelector, TContext, ITopicsCompletionContextCallback<TContext>)->void
  • PushTechnology.ClientInterface.Client.Session.ISessionFactory.SslContext(RemoteCertificateValidationCallback)->ISessionFactory
  • PushTechnology.ClientInterface.Client.Session.ISessionFactory.LocalSocketAddress(SocketAddress)->ISessionFactory
  • PushTechnology.ClientInterface.Client.Session.ISessionAttributes.LocalSocketAddress{get;}

Removed:

  • PushTechnology.ClientInterface.Client.Topics.TopicDetailsLevel
  • PushTechnology.ClientInterface.Client.Topics.ITopicDetailsAttributes
  • PushTechnology.ClientInterface.Client.Topics.ITopicDetails
  • PushTechnology.ClientInterface.Client.Features.ITopicDetailsContextCallback<TContext>
  • PushTechnology.ClientInterface.Client.Features.TopicDetailsContextCallbackDefault<TContext>
  • PushTechnology.ClientInterface.Client.Features.ITopicDetailsCallback
  • PushTechnology.ClientInterface.Client.Features.TopicDetailsCallbackDefault
  • PushTechnology.ClientInterface.Client.Features.ITopics.GetTopicDetails(string,TopicDetailsLevel,ITopicDetailsCallback)
  • PushTechnology.ClientInterface.Client.Features.ITopics.GetTopicDetails<TContext>(string,TopicDetailsLevel,TContext,ITopicDetailsContextCallback<TContext>)
  • PushTechnology.ClientInterface.TopicDetails.Details.IUniversalTopicDetails
  • PushTechnology.ClientInterface.TopicDetails.Details.IUniversalTopicDetailsAttributes
  • PushTechnology.ClientInterface.TopicDetails.Details.IRoutingTopicDetails
  • PushTechnology.ClientInterface.TopicDetails.Details.IRoutingTopicDetailsAttributes
  • PushTechnology.ClientInterface.Client.Topics.ISlaveTopicDetails
  • PushTechnology.ClientInterface.Client.Topics.ISlaveTopicDetailsAttributes
  • PushTechnology.ClientInterface.Client.Features.Control.Topics.ITopicDetailsHandler<TC>
  • PushTechnology.ClientInterface.Client.Features.Control.Topics.TopicAddFailReason.USER_CODE_ERROR
  • PushTechnology.ClientInterface.Client.Features.Control.Topics.ITopicUpdateControl.UpdateFactory<TFactory>()
  • PushTechnology.ClientInterface.Client.Features.Control.Topics.ITopicUpdateControl.GetCachedValue(string topicPath)
  • PushTechnology.ClientInterface.Client.Features.Control.Topics.ITopicUpdateControl.RemoveCachedValues(string topics)
  • PushTechnology.ClientInterface.Client.Features.Control.Topics.ITopicUpdateControl.RemoveCachedValues(ITopicSelector topics)
  • PushTechnology.ClientInterface.Client.Features.Control.Topics.ITopicUpdateControl.ClearCachedValues()
  • PushTechnology.ClientInterface.Client.Features.Control.Topics.ITopicUpdater.Update(string topicPath, string data, ITopicUpdaterUpdateCallback callback)
  • PushTechnology.ClientInterface.Client.Features.Control.Topics.ITopicUpdater.Update<TContext>(string topicPath, string data, TContext context, ITopicUpdaterUpdateContextCallback<TContext> callback)
  • PushTechnology.ClientInterface.Client.Content.Update.UpdateFactories
  • PushTechnology.ClientInterface.Client.Content.Update.IUpdateFactories
  • PushTechnology.ClientInterface.Client.Content.Update.IUpdateFactory
  • PushTechnology.ClientInterface.Client.Topics.Update.UpdateAction
  • PushTechnology.ClientInterface.Client.Content.Update.ContentUpdateAction
  • PushTechnology.ClientInterface.Client.Features.Control.Clients.ISystemAuthenticationControlScriptBuilder
  • PushTechnology.ClientInterface.Client.Features.Control.Clients.ISystemAuthenticationControl.ScriptBuilder()
  • PushTechnology.ClientInterface.Client.Session.SessionState.CONNECTION_ATTEMPT_FAILED
  • PushTechnology.ClientInterface.Collections.Immutable.ImmutableList
  • PushTechnology.ClientInterface.Collections.Immutable.IImmutableList<TValue>
  • PushTechnology.ClientInterface.Client.Session.InternalErrorHandler
  • PushTechnology.ClientInterface.Client.Session.SessionErrorHandlerDefault
  • PushTechnology.ClientInterface.Client.Session.ISessionErrorHandler
Product Compatible and additional computed target framework versions.
.NET net5.0 was computed.  net5.0-windows was computed.  net6.0 was computed.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
.NET Core netcoreapp2.0 was computed.  netcoreapp2.1 was computed.  netcoreapp2.2 was computed.  netcoreapp3.0 was computed.  netcoreapp3.1 was computed. 
.NET Standard netstandard2.0 is compatible.  netstandard2.1 was computed. 
.NET Framework net461 was computed.  net462 was computed.  net463 was computed.  net47 was computed.  net471 was computed.  net472 was computed.  net48 was computed.  net481 was computed. 
MonoAndroid monoandroid was computed. 
MonoMac monomac was computed. 
MonoTouch monotouch was computed. 
Tizen tizen40 was computed.  tizen60 was computed. 
Xamarin.iOS xamarinios was computed. 
Xamarin.Mac xamarinmac was computed. 
Xamarin.TVOS xamarintvos was computed. 
Xamarin.WatchOS xamarinwatchos was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
  • .NETStandard 2.0

NuGet packages (1)

Showing the top 1 NuGet packages that depend on Diffusion.Client:

Package Downloads
Ganchrow.Sdk

Package Description

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
6.10.3 91 4/9/2024
6.10.2 225 2/15/2024
6.10.1 22,623 10/12/2023
6.10.0 559 8/31/2023
6.9.7 77 4/11/2024
6.9.6 144 3/13/2024
6.9.5 1,102 2/26/2024
6.9.4 349 12/13/2023
6.9.3 400 9/28/2023
6.9.2 390 9/15/2023
6.9.1 2,172 3/28/2023
6.9.0 1,584 12/14/2022
6.8.10 76 4/11/2024
6.8.9 582 5/19/2023
6.8.8 2,042 11/17/2022
6.8.7 1,055 9/9/2022
6.8.6 776 8/15/2022
6.8.5 959 7/16/2022
6.8.4 825 7/16/2022
6.8.3 905 6/9/2022
6.8.2 1,051 4/30/2022
6.8.1 850 3/23/2022
6.8.0 876 3/1/2022
6.7.13 3,749 8/9/2023
6.7.12 695 2/16/2023
6.7.11 683 11/22/2022
6.7.9 920 6/9/2022
6.7.8 832 5/13/2022
6.7.7 828 4/7/2022
6.7.6 906 3/8/2022
6.7.5 8,422 2/7/2022
6.7.4 13,393 12/17/2021
6.7.3 774 12/13/2021
6.7.2 684 10/28/2021
6.7.1 734 8/12/2021
6.7.0 878 8/6/2021
6.6.13 540 7/26/2023
6.6.12 723 7/20/2022
6.6.11 821 6/1/2022
6.6.10 885 4/8/2022
6.6.9 908 3/7/2022
6.6.8 822 2/7/2022
6.6.7 741 12/17/2021
6.6.6 690 12/13/2021
6.6.5 747 11/11/2021
6.6.4 801 8/19/2021
6.6.3 1,066 7/28/2021
6.6.2 1,121 7/14/2021
6.6.1 3,630 5/6/2021
6.6.0 2,099 3/19/2021
6.6.0-preview.2 220 12/7/2020
6.6.0-preview.1 271 10/26/2020
6.5.17 348 12/7/2023
6.5.16 346 11/3/2023
6.5.15 588 4/14/2023
6.5.14 663 12/9/2022
6.5.13 925 4/12/2022
6.5.12 784 2/24/2022
6.5.11 1,172 2/11/2022
6.5.10 708 12/16/2021
6.5.9 728 12/13/2021
6.5.8 745 11/16/2021
6.5.7 809 7/21/2021
6.5.6 839 6/16/2021
6.5.5 17,147 3/3/2021
6.5.4 8,836 12/17/2020
6.5.3 16,227 10/29/2020
6.5.2 3,915 9/24/2020
6.5.1 1,806 8/13/2020
6.5.0 1,153 7/13/2020
6.4.10 820 12/13/2021
6.4.9 882 5/13/2021
6.4.8 839 4/14/2021
6.4.7 907 2/19/2021
6.4.6 897 11/5/2020
6.4.5 1,029 8/12/2020
6.4.4 1,245 6/8/2020
6.4.3 996 5/19/2020
6.4.2 11,727 2/27/2020
6.4.1 3,098 1/13/2020
6.4.0 3,946 12/6/2019
6.3.9 2,189 4/6/2021
6.3.8 1,000 11/17/2020
6.3.7 992 7/31/2020
6.3.6 993 4/28/2020
6.3.5 1,125 12/9/2019
6.3.4 3,309 11/21/2019
6.3.3 3,633 10/17/2019
6.3.2 4,448 9/5/2019
6.3.1 18,891 6/28/2019
6.3.0 21,226 5/7/2019
6.2.9 1,037 11/14/2019
6.2.8 1,067 10/24/2019
6.2.7 1,098 7/25/2019
6.2.6 1,116 5/15/2019
6.2.5 1,120 5/10/2019
6.2.4 11,328 4/11/2019
6.2.3 5,545 2/12/2019
6.2.2 1,190 2/5/2019
6.2.1 1,204 1/11/2019
6.2.0 1,297 11/12/2018
6.1.7 14,107 11/8/2019
6.1.6 1,257 5/13/2019
6.1.5 1,357 1/16/2019
6.1.4 1,363 11/22/2018
6.1.3 1,590 9/28/2018
6.1.2 1,412 9/6/2018
6.1.1 1,513 7/19/2018
6.1.0 1,873 4/27/2018