private PartitionDescription CreatePartitionDescription(string partitionId) { // We're using reflection to construct an instance of the this time. // It is part of the Event Hub (Service Bus) SDK, and we're not able // manipulate it directly. // At runtime, the instance will be supplied by the SDK itself. var map = new Dictionary<string, object> { {"InternalEndSequenceNumber", _sequenceNumberOfMostRecentEvent}, {"InternalLastEnqueuedTimeUtc", _lastEnqueuedTimeUtc}, {"InternalLastEnqueuedOffset", _lastEnqueuedOffset }, {"InternalIncomingBytesPerSecond", _incomingByteRate }, {"InternalOutgoingBytesPerSecond", _outgoingByteRate } }; var p = new PartitionDescription("myhub", partitionId); var type = typeof (PartitionDescription); foreach (var pair in map) { var property = type.GetProperty(pair.Key, BindingFlags.Instance | BindingFlags.NonPublic); property.SetValue(p, pair.Value); } return p; }
private static void AllocatePartition(int commandTopics, int commandSubscriptions, string partitionArea, string serviceNamespace, string eventStore, string serviceOwner, string serviceOwnerSecret, string storageWriterConnection, string acsManagementServiceName, string acsManagementServiceSecret) { PartitionDescription pd; using (var iot = new InternetOfThings(commandTopics, commandSubscriptions)) { pd = new PartitionDescription(DateTime.UtcNow.ToLongDateString(), partitionArea, serviceNamespace, eventStore) { Owner = serviceOwner, OwnerSecret = serviceOwnerSecret, StorageAccount = storageWriterConnection, AccessControl = acsManagementServiceName, AccessControlSecret = acsManagementServiceSecret }; pd = iot.CreatePartition(pd); iot.ActivatePartition(pd); } }
private PartitionDescription CreatePartitionDescription(string partitionId) { // We're using reflection to construct an instance of the this time. // It is part of the Event Hub (Service Bus) SDK, and we're not able // manipulate it directly. // At runtime, the instance will be supplied by the SDK itself. var map = new Dictionary <string, object> { { "InternalEndSequenceNumber", _sequenceNumberOfMostRecentEvent }, { "InternalLastEnqueuedTimeUtc", _lastEnqueuedTimeUtc }, { "InternalLastEnqueuedOffset", _lastEnqueuedOffset }, { "InternalIncomingBytesPerSecond", _incomingByteRate }, { "InternalOutgoingBytesPerSecond", _outgoingByteRate } }; var p = new PartitionDescription("myhub", partitionId); var type = typeof(PartitionDescription); foreach (var pair in map) { var property = type.GetProperty(pair.Key, BindingFlags.Instance | BindingFlags.NonPublic); property.SetValue(p, pair.Value); } return(p); }
public HandlePartitionControl(WriteToLogDelegate writeToLog, ServiceBusHelper serviceBusHelper, PartitionDescription partitionDescription) { this.writeToLog = writeToLog; this.serviceBusHelper = serviceBusHelper; this.partitionDescription = partitionDescription; InitializeComponent(); InitializeData(); }
public void RefreshData(PartitionDescription partition) { try { partitionDescription = partition; InitializeData(); } catch (Exception ex) { HandleException(ex); } }
public void TestParition() { string name = "testpartitionEventHub"; string consumerGroupName = "consumergroup1"; NamespaceManager ns = NamespaceManager.CreateFromConnectionString(eventHubConnectionString); EventHubDescription description = ns.CreateEventHub(name); Assert.IsTrue(null != description); ConsumerGroupDescription cgDescription = ns.CreateConsumerGroup(name, consumerGroupName); PartitionDescription pd = ns.GetEventHubPartition(name, consumerGroupName, "1"); Assert.IsTrue(null != pd); ns.DeleteEventHub(name); }
public ContainerForm(ServiceBusHelper serviceBusHelper, MainForm mainForm, EventHubDescription eventHubDescription, PartitionDescription partitionDescription = null) { try { InitializeComponent(); Task.Factory.StartNew(AsyncWriteToLog).ContinueWith(t => { if (t.IsFaulted && t.Exception != null) { WriteToLog(t.Exception.Message); } }); this.mainForm = mainForm; mainSplitterDistance = mainSplitContainer.SplitterDistance; SuspendLayout(); panelMain.SuspendDrawing(); panelMain.Controls.Clear(); panelMain.BackColor = SystemColors.GradientInactiveCaption; testEventHubControl = new TestEventHubControl(mainForm, WriteToLog, StopLog, StartLog, new ServiceBusHelper(WriteToLog, serviceBusHelper), eventHubDescription, partitionDescription) { Location = new Point(1, panelMain.HeaderHeight + 1), Size = new Size(panelMain.Size.Width - 3, panelMain.Size.Height - 26), Anchor = AnchorStyles.Bottom | AnchorStyles.Top | AnchorStyles.Left | AnchorStyles.Right }; Text = partitionDescription == null ? string.Format(SendEventsToEventHubFormat, eventHubDescription.Path) : string.Format(SendEventsToEventHubPartitionFormat, partitionDescription.PartitionId, eventHubDescription.Path); testEventHubControl.btnCancel.Text = CloseLabel; testEventHubControl.btnCancel.Click -= testEventHubControl.btnCancel_Click; testEventHubControl.btnCancel.Click += BtnCancelOnClick; testEventHubControl.Focus(); panelMain.HeaderText = partitionDescription == null ? string.Format(HeaderTextTestEventHubFormat, eventHubDescription.Path) : string.Format(HeaderTextTestEventHubPartitionFormat, partitionDescription.PartitionId, eventHubDescription.Path); panelMain.Controls.Add(testEventHubControl); SetStyle(ControlStyles.ResizeRedraw, true); } finally { panelMain.ResumeDrawing(); ResumeLayout(); } }
/// <summary> /// Retrieves a partition. /// </summary> /// <param name="partitionDescription">A PartitionDescription object.</param> /// <returns>Returns an IEnumerable<SubscriptionDescription/> collection of partitions attached to the event hub passed as a parameter.</returns> public PartitionDescription GetPartition(PartitionDescription partitionDescription) { if (partitionDescription == null) { throw new ArgumentException(PartitionDescriptionCannotBeNull); } if (namespaceManager != null) { return RetryHelper.RetryFunc(() => namespaceManager.GetEventHubPartition(partitionDescription.EventHubPath, partitionDescription.PartitionId), writeToLog); } throw new ApplicationException(ServiceBusIsDisconnected); }
private void ShowPartition(PartitionDescription partition) { HandlePartitionControl partitionControl = null; try { panelMain.SuspendDrawing(); foreach (var userControl in panelMain.Controls.OfType<UserControl>()) { userControl.Dispose(); } panelMain.Controls.Clear(); panelMain.BackColor = SystemColors.GradientInactiveCaption; if (string.IsNullOrWhiteSpace(partition.LastEnqueuedOffset)) { var consumerGroup = serviceBusTreeView.SelectedNode.Parent.Parent.Tag as ConsumerGroupDescription; var consumerGroupName = consumerGroup != null ? consumerGroup.Name : null; partition = serviceBusHelper.GetPartition(partition.EventHubPath, consumerGroupName, partition.PartitionId); } partitionControl = new HandlePartitionControl(WriteToLog, serviceBusHelper, partition); partitionControl.SuspendDrawing(); partitionControl.Location = new Point(1, panelLog.HeaderHeight + 1); panelMain.Controls.Add(partitionControl); partitionControl.OnRefresh += MainForm_OnRefresh; SetControlSize(partitionControl); } catch (Exception ex) { HandleException(ex); } finally { panelMain.ResumeDrawing(); if (partitionControl != null) { partitionControl.ResumeDrawing(); } } }
private void CreateEventHubPartitionNode(PartitionDescription partition, TreeNode partitionsNode) { int value; var partitionId = int.TryParse(partition.PartitionId, out value) ? string.Format(PartitionFormat, value) : partition.PartitionId; var partitionNode = partitionsNode.Nodes.Add(partition.PartitionId, partitionId, PartitionIconIndex, PartitionIconIndex); partitionNode.ContextMenuStrip = partitionContextMenuStrip; partitionNode.Tag = partition; }
public ContainerForm(ServiceBusHelper serviceBusHelper, MainForm mainForm, EventHubDescription eventHubDescription, PartitionDescription partitionDescription = null) { try { InitializeComponent(); Task.Factory.StartNew(AsyncWriteToLog).ContinueWith(t => { if (t.IsFaulted && t.Exception != null) { WriteToLog(t.Exception.Message); } }); this.mainForm = mainForm; mainSplitterDistance = mainSplitContainer.SplitterDistance; SuspendLayout(); panelMain.SuspendDrawing(); panelMain.Controls.Clear(); panelMain.BackColor = SystemColors.GradientInactiveCaption; testEventHubControl = new TestEventHubControl(mainForm, WriteToLog, StopLog, StartLog, new ServiceBusHelper(WriteToLog, serviceBusHelper), eventHubDescription, partitionDescription) { Location = new Point(1, panelMain.HeaderHeight + 1), Size = new Size(panelMain.Size.Width - 3, panelMain.Size.Height - 26), Anchor = AnchorStyles.Bottom | AnchorStyles.Top | AnchorStyles.Left | AnchorStyles.Right }; Text = partitionDescription == null ? string.Format(SendEventsToEventHubFormat, eventHubDescription.Path) : string.Format(SendEventsToEventHubPartitionFormat, partitionDescription.PartitionId, eventHubDescription.Path); testEventHubControl.btnCancel.Text = CloseLabel; testEventHubControl.btnCancel.Click -= testEventHubControl.btnCancel_Click; testEventHubControl.btnCancel.Click += BtnCancelOnClick; testEventHubControl.Focus(); panelMain.HeaderText = partitionDescription == null? string.Format(HeaderTextTestEventHubFormat, eventHubDescription.Path) : string.Format(HeaderTextTestEventHubPartitionFormat, partitionDescription.PartitionId, eventHubDescription.Path); panelMain.Controls.Add(testEventHubControl); SetStyle(ControlStyles.ResizeRedraw, true); } finally { panelMain.ResumeDrawing(); ResumeLayout(); } }
private void ShowPartition(PartitionDescription partition) { HandlePartitionControl partitionControl = null; try { panelMain.SuspendDrawing(); foreach (var userControl in panelMain.Controls.OfType<UserControl>()) { userControl.Dispose(); } panelMain.Controls.Clear(); panelMain.BackColor = SystemColors.GradientInactiveCaption; partitionControl = new HandlePartitionControl(WriteToLog, serviceBusHelper, partition); partitionControl.SuspendDrawing(); partitionControl.Location = new Point(1, panelLog.HeaderHeight + 1); panelMain.Controls.Add(partitionControl); partitionControl.OnRefresh += MainForm_OnRefresh; SetControlSize(partitionControl); } catch (Exception ex) { HandleException(ex); } finally { panelMain.ResumeDrawing(); if (partitionControl != null) { partitionControl.ResumeDrawing(); } } }
public TestEventHubControl(MainForm mainForm, WriteToLogDelegate writeToLog, Func<Task> stopLog, Action startLog, ServiceBusHelper serviceBusHelper, EventHubDescription eventHubDescription, PartitionDescription partitionDescription) { this.mainForm = mainForm; this.writeToLog = writeToLog; this.stopLog = stopLog; this.startLog = startLog; this.serviceBusHelper = serviceBusHelper; this.eventHubDescription = eventHubDescription; this.partitionDescription = partitionDescription; InitializeComponent(); InitializeControls(); }