# Struct ethsync::SyncStatus [−] [src]

    pub struct SyncStatus {
        pub state: SyncState,
        pub protocol_version: u8,
        pub network_id: u64,
        pub start_block_number: BlockNumber,
        pub last_imported_block_number: Option<BlockNumber>,
        pub highest_block_number: Option<BlockNumber>,
        pub blocks_total: BlockNumber,
        pub blocks_received: BlockNumber,
        pub num_peers: usize,
        pub num_active_peers: usize,
        pub mem_used: usize,
        pub num_snapshot_chunks: usize,
        pub snapshot_chunks_done: usize,
        pub last_imported_old_block_number: Option<BlockNumber>,
    }

Syncing status and statistics

## Fields

`state: SyncState`

State

`protocol_version: u8`

Syncing protocol version. That's the maximum protocol version we connect to.

`network_id: u64`

The underlying p2p network version.

`start_block_number: BlockNumber`

`BlockChain` height for the moment the sync started.

`last_imported_block_number: Option<BlockNumber>`

Last fully downloaded and imported block number (if any).

`highest_block_number: Option<BlockNumber>`

Highest block number in the download queue (if any).

`blocks_total: BlockNumber`

Total number of blocks for the sync process.

`blocks_received: BlockNumber`

Number of blocks downloaded so far.

`num_peers: usize`

Total number of connected peers

`num_active_peers: usize`

Total number of active peers.

`mem_used: usize`

Heap memory used in bytes.

`num_snapshot_chunks: usize`

Snapshot chunks

`snapshot_chunks_done: usize`

Snapshot chunks downloaded

`last_imported_old_block_number: Option<BlockNumber>`

Last fully downloaded and imported ancient block number (if any).

## Methods

### `impl SyncStatus`
[src]

#### `fn is_snapshot_syncing(&self) -> bool`

Indicates if snapshot download is in progress

#### `fn current_max_peers(&self, min_peers: u32, max_peers: u32) -> u32`

Returns max no of peers to display in informants

#### `fn is_syncing(&self, queue_info: BlockQueueInfo) -> bool`

Is it doing a major sync?

## Trait Implementations

### `impl Clone for SyncStatus`
[src]

#### `fn clone(&self) -> SyncStatus`

Returns a copy of the value. Read more

#### `fn clone_from(&mut self, source: &Self)`
1.0.0

Performs copy-assignment from `source`. Read more

### `impl Copy for SyncStatus`
[src]

### `impl BinaryConvertable for SyncStatus where SyncStatus: Copy`

#### `fn from_bytes(bytes: &[u8],
_length_stack: &mut VecDeque<usize>)
-> Result<Self, BinaryConvertError>`

#### `fn to_bytes(&self,
buffer: &mut [u8],
_length_stack: &mut VecDeque<usize>)
-> Result<(), BinaryConvertError>`

#### `fn size(&self) -> usize`

#### `fn from_empty_bytes() -> Result<Self, BinaryConvertError>`

#### `fn len_params() -> usize`

# Help

## Keyboard Shortcuts

?
  Show this help dialog
S
  Focus the search field
⇤
  Move up in search results
⇥
  Move down in search results
⏎
  Go to active search result
+
  Collapse/expand all sections

## Search Tricks

Prefix searches with a type followed by a colon (e.g. `fn:`) to restrict the search to a given type.

Accepted types are: `fn`, `mod`, `struct`, `enum`, `trait`, `type`, `macro`, and `const`.

Search functions by type signature (e.g. `vec -> usize` or `* -> vec`)