Skip to content

Instantly share code, notes, and snippets.

@mauroa
Last active January 7, 2016 18:55
Show Gist options
  • Save mauroa/13d8148a6d2b20a4c173 to your computer and use it in GitHub Desktop.
Save mauroa/13d8148a6d2b20a4c173 to your computer and use it in GitHub Desktop.
Messaging Client sample to retrieve simulators
using System.Net.Mqtt;
using System.Net.Mqtt.Client;
using System.Threading.Tasks;
using Xamarin.Messaging;
using Xamarin.Messaging.Client;
using Xamarin.Messaging.Client.Serialization;
using Xamarin.Messaging.IDB.Contracts;
public class MessagingClientSample
{
public async Task<IMessagingClient> ConnectAsync() {
var host = "localhost";
var port = 55555;
var protocolConfiguration = new ProtocolConfiguration ().AsMessagingDefault ();
protocolConfiguration.Port = port;
var initializer = new ClientInitializer (host);
var mqttClient = initializer.Initialize (protocolConfiguration);
var topicEvaluator = new TopicEvaluator (protocolConfiguration);
var topicGenerator = new TopicGenerator ();
var agentVersion = "xxxx";
topicGenerator.AddReplacement ("{version}", agentVersion);
var credentials = new ClientCredentials ("testClient");
var messagingConfiguration = new MessagingConfiguration {
DefaultMessagePriority = MessagePriority.Medium,
DefaultWaitingTimeoutSecs = 10
};
var connection = new MessagingConnection (
mqttClient,
topicEvaluator,
topicGenerator,
SerializationManager.Default,
credentials,
messagingConfiguration);
return await connection.ConnectAsync ().ConfigureAwait(false);
}
public async Task<GetSimulatorsResult> ListSimulatorsAsync(IMessagingClient client)
{
return await client.PostAsync<GetSimulatorsMessage, GetSimulatorsResult> (new GetSimulatorsMessage ()).ConfigureAwait(false);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment