Skip to content
Snippets Groups Projects
Select Git revision
  • cf74910674f46044233d7a7eedb2506cf578fb01
  • dev default protected
  • release/1.9.1 protected
  • pini-1.8-docker
  • pini-sync-onlypeers
  • duniter-v2s-issue-123-industrialize-releases
  • feature/build-aarch64-nodejs16
  • release/1.8 protected
  • pini-docker
  • ci_tags
  • fix/1448/1.8/txs_not_stored
  • feature/node-20
  • fix/1441/node_summary_with_storage
  • fix/1442/improve_bma_tx_history
  • feature/wotwizard-1.8
  • release/1.9 protected
  • 1.7 protected
  • feature/docker-set-latest protected
  • feature/fast-docker-build-1.8.4
  • fast-docker-build protected
  • feature/dump-distance
  • v1.8.7 protected
  • v1.8.7-rc4 protected
  • v1.8.7-rc3 protected
  • v1.8.7-rc2 protected
  • v1.8.7-rc1 protected
  • v1.8.6 protected
  • v1.7.23 protected
  • v1.8.5 protected
  • v1.8.4 protected
  • v1.8.3 protected
  • v1.8.2 protected
  • v1.8.1 protected
  • v1.8.0 protected
  • v1.8.0-rc1 protected
  • v1.8.0-beta5 protected
  • v1.8.0-beta4 protected
  • v1.8.0-beta3 protected
  • v1.8.0-beta2 protected
  • v1.8.0-beta protected
  • v1.7.21 protected
41 results

index.ts

Blame
  • lib.rs 24.03 KiB
    //  Copyright (C) 2018  The Duniter Project Developers.
    //
    // This program is free software: you can redistribute it and/or modify
    // it under the terms of the GNU Affero General Public License as
    // published by the Free Software Foundation, either version 3 of the
    // License, or (at your option) any later version.
    //
    // This program is distributed in the hope that it will be useful,
    // but WITHOUT ANY WARRANTY; without even the implied warranty of
    // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    // GNU Affero General Public License for more details.
    //
    // You should have received a copy of the GNU Affero General Public License
    // along with this program.  If not, see <https://www.gnu.org/licenses/>.
    
    //! Defined the few global types used by all modules,
    //! as well as the DuniterModule trait that all modules must implement.
    
    #![cfg_attr(feature = "strict", deny(warnings))]
    #![deny(
        missing_docs, missing_debug_implementations, missing_copy_implementations, trivial_casts,
        trivial_numeric_casts, unsafe_code, unstable_features, unused_import_braces,
        unused_qualifications
    )]
    
    #[macro_use]
    extern crate log;
    
    extern crate chrono;
    extern crate duniter_conf;
    extern crate duniter_crypto;
    extern crate duniter_dal;
    extern crate duniter_documents;
    extern crate duniter_message;
    extern crate duniter_module;
    extern crate duniter_network;
    extern crate serde_json;
    extern crate termion;
    
    use chrono::prelude::*;
    use duniter_crypto::keys::ed25519;
    use duniter_dal::dal_event::DALEvent;
    use duniter_message::DuniterMessage;
    use duniter_module::*;
    use duniter_network::network_head::NetworkHead;
    use duniter_network::{NetworkEvent, NodeFullId};
    use std::collections::HashMap;
    use std::io::{stdout, Write};
    use std::sync::mpsc;
    use std::thread;
    use std::time::{Duration, SystemTime};
    use termion::event::*;
    use termion::input::{MouseTerminal, TermRead};
    use termion::raw::{IntoRawMode, RawTerminal};
    use termion::{clear, color, cursor, style};
    
    #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
    /// Tui Module Configuration (For future use)
    pub struct TuiConf {}
    
    #[derive(Debug, Clone)]
    /// Format of messages received by the tui module
    pub enum TuiMess {
        /// Message from another module
        DuniterMessage(DuniterMessage),
        /// Message from stdin (user event)
        TermionEvent(Event),
    }
    
    #[derive(Debug, Copy, Clone)]