public async Task MainAsync(string[] args) { //Initialize a new SocketClient _client = new DiscordSocketClient(); //Initialize a new ErrorHandler and direct errors direct to the handler _errorHandler = new ErrorHandler(); _client.Log += _errorHandler._client_Log; //Set Listeners _listenerHandler = new ListenerHandler(); SetListeners(); //Initialize the CommandHandler await InstallCommandHandlerAnsyc(); //Initialize the Database await LoadDatabase(); //Launch the bot await _client.LoginAsync(TokenType.Bot, token); await _client.StartAsync(); //Creates the ConsoleAsync for ConsoleCommands await ConsoleAsync(); //Block this task until the program is closed await Task.Delay(-1); ReadInput(); }
/// <summary> /// Stops the task in which the Listener is executing and remove it's instance, until the user starts the service again /// </summary> public void Stop() { if (ListenerHandler != null) { ListenerHandler.Stop(); } }
public void Ensures_Diagnostic_Given_Null() { using (var client = new SoulseekClient(options: null)) { ListenerHandler l = default; var ex = Record.Exception(() => l = new ListenerHandler(client)); Assert.Null(ex); Assert.NotNull(l.GetProperty <IDiagnosticFactory>("Diagnostic")); } }
private (ListenerHandler Handler, Mocks Mocks) GetFixture(IPEndPoint endpoint, SoulseekClientOptions clientOptions = null) { var mocks = new Mocks(clientOptions); mocks.Connection.Setup(m => m.IPEndPoint).Returns(endpoint); var handler = new ListenerHandler( mocks.Client.Object, mocks.Diagnostic.Object); return(handler, mocks); }
private (ListenerHandler Handler, Mocks Mocks) GetFixture(IPAddress ip, ClientOptions clientOptions = null) { var mocks = new Mocks(clientOptions); mocks.Connection.Setup(m => m.IPAddress).Returns(ip); var handler = new ListenerHandler( mocks.Client.Object, mocks.Diagnostic.Object); return(handler, mocks); }
public void SubscribeSnapshot(CloudDBZoneQuery cloudDBZoneQuery, CloudDBZoneQuery.CloudDBZoneQueryPolicy cloudDBZoneQueryPolicy) { if (mCloudDBZone == null) { Debug.LogError($"[{TAG}]: CloudDBZone is null, try re-open it"); return; } mRegister = mCloudDBZone.SubscribeSnapshot(cloudDBZoneQuery, cloudDBZoneQueryPolicy, OnCloudDBZoneSnapshot, OnCloudDBZoneSnapshotException); Debug.Log($"[{TAG}]: SubscribeSnaphot()"); }
public void Does_Not_Throw_Raising_DiagnosticGenerated_If_No_Handlers_Bound(string message) { using (var client = new SoulseekClient(options: null)) { ListenerHandler l = new ListenerHandler(client); var diagnostic = l.GetProperty <IDiagnosticFactory>("Diagnostic"); var ex = Record.Exception(() => diagnostic.Info(message)); Assert.Null(ex); } }
public void Raises_DiagnosticGenerated_On_Diagnostic(string message) { using (var client = new SoulseekClient(options: null)) { DiagnosticEventArgs args = default; ListenerHandler l = new ListenerHandler(client); l.DiagnosticGenerated += (sender, e) => args = e; var diagnostic = l.GetProperty <IDiagnosticFactory>("Diagnostic"); diagnostic.Info(message); Assert.Equal(message, args.Message); } }
public void addSubscription() { if (mCloudDBZone == null) { TestTip.Inst.ShowText("CloudDBZone is null, try re-open it"); return; } try { CloudDBZoneQuery snapshotQuery = CloudDBZoneQuery.where (new AndroidJavaClass(bookInfoClass)) .equalTo("shadowFlag", true); mRegister = mCloudDBZone.subscribeSnapshot(snapshotQuery, CloudDBZoneQuery.CloudDBZoneQueryPolicy.POLICY_QUERY_FROM_CLOUD_ONLY, mSnapshotListener); TestTip.Inst.ShowText("Add subscription success"); } catch (System.Exception e) { TestTip.Inst.ShowText("subscribeSnapshot: " + e.Message); } }
public void SubscribeSnapshot() { if (mCloudDBZone == null) { ShowResultPopup("Please open CloudDBZone first!"); return; } try { CloudDBZoneQuery snapshotQuery = CloudDBZoneQuery .Where(Java.Lang.Class.ForName("com.company.project.BookInfo")) .EqualTo(BookEditFields.ShadowFlag, true); mRegister = mCloudDBZone.SubscribeSnapshot(snapshotQuery, CloudDBZoneQuery.CloudDBZoneQueryPolicy.PolicyQueryFromCloudOnly, this); ShowResultPopup("SubscribeSnapshot executed successfully."); } catch (Exception e) { ShowResultPopup("subscribeSnapshot failed: " + e.Message); } }
private void BeamChangingForm_Load(object sender, EventArgs e) { ListenerHandler toNomalDataViewHandler = new ListenerHandler(_uidoc, ToNormalDataGridView, ToNormalDataTable); ListenerHandler toGroundBeamDataViewHandler = new ListenerHandler(_uidoc, ToGroundBeamDataGridView, ToGroundBeamDataTable); if (toNormalDataView.Rows.Count == 0) { ((System.Windows.Forms.Control)toN_TabPage).Enabled = false; toN_ApplyButton.Enabled = false; } if (toGroundBeamDataView.Rows.Count == 0) { ((System.Windows.Forms.Control)toGB_TabPage).Enabled = false; toGB_ApplyButton.Enabled = false; } toN_TabPage.Text = NOMAL_TAB_NAME + $"({ToNormalDataGridView.Rows.Count})"; toGB_TabPage.Text = GROUND_BEAM_TAB_NAME + $"({ToGroundBeamDataGridView.Rows.Count})"; wall_tabPage.Text = WALL_TAB_NAME + $"({UnsupportedWallDataGridView.Rows.Count})"; }
} // W_Main_Load /// <summary> /// 单击开始监听按钮 /// </summary> /// <param name="sender">the sender</param> /// <param name="e">the e</param> private void btn_startListen_Click(object sender, EventArgs e) { //服务器已经其中监听,则返回 if (IsStart) { return; } //启动侦听 listener = ListenerHandler.GetListener(); listener.Start(10); IsStart = true; lstBox_statu.Invoke(appendString, string.Format("服务器已经自动侦听!端点为{0}", listener.LocalEndpoint.ToString()), lstBox_statu); this.btn_startListen.Enabled = false; // 初始化要传入的数据 AcceptCallBackParam acceptCallBackParam = new AcceptCallBackParam(listener, IsStart, lstBox_statu); AsyncCallback callBack = new AsyncCallback(CallBackFunc.acceptCallBack); listener.BeginAcceptSocket(callBack, acceptCallBackParam); } // btn_startListen_Click
public DiagnosticSourceListener(ListenerHandler handler) { _handler = handler ?? throw new ArgumentNullException(nameof(handler)); }