# [−] [src] Trait p2p::InboundSyncConnection

    pub trait InboundSyncConnection: Send + Sync {
        fn start_sync_session(&self, peer_name: String, version: Version);
        fn close_session(&self);
        fn on_inventory(&self, message: Inv);
        fn on_getdata(&self, message: GetData);
        fn on_getblocks(&self, message: GetBlocks);
        fn on_getheaders(&self, message: GetHeaders, id: u32);
        fn on_transaction(&self, message: Tx);
        fn on_block(&self, message: Block);
        fn on_headers(&self, message: Headers);
        fn on_mempool(&self, message: MemPool);
        fn on_filterload(&self, message: FilterLoad);
        fn on_filteradd(&self, message: FilterAdd);
        fn on_filterclear(&self, message: FilterClear);
        fn on_merkleblock(&self, message: MerkleBlock);
        fn on_sendheaders(&self, message: SendHeaders);
        fn on_feefilter(&self, message: FeeFilter);
        fn on_send_compact(&self, message: SendCompact);
        fn on_compact_block(&self, message: CompactBlock);
        fn on_get_block_txn(&self, message: GetBlockTxn);
        fn on_block_txn(&self, message: BlockTxn);
        fn on_notfound(&self, message: NotFound);
    }

## Required Methods

### `fn start_sync_session(&self, peer_name: String, version: Version)`

### `fn close_session(&self)`

### `fn on_inventory(&self, message: Inv)`

### `fn on_getdata(&self, message: GetData)`

### `fn on_getblocks(&self, message: GetBlocks)`

### `fn on_getheaders(&self, message: GetHeaders, id: u32)`

### `fn on_transaction(&self, message: Tx)`

### `fn on_block(&self, message: Block)`

### `fn on_headers(&self, message: Headers)`

### `fn on_mempool(&self, message: MemPool)`

### `fn on_filterload(&self, message: FilterLoad)`

### `fn on_filteradd(&self, message: FilterAdd)`

### `fn on_filterclear(&self, message: FilterClear)`

### `fn on_merkleblock(&self, message: MerkleBlock)`

### `fn on_sendheaders(&self, message: SendHeaders)`

### `fn on_feefilter(&self, message: FeeFilter)`

### `fn on_send_compact(&self, message: SendCompact)`

### `fn on_compact_block(&self, message: CompactBlock)`

### `fn on_get_block_txn(&self, message: GetBlockTxn)`

### `fn on_block_txn(&self, message: BlockTxn)`

### `fn on_notfound(&self, message: NotFound)`

## Implementors

# Help

## Keyboard Shortcuts

`?`
  Show this help dialog
`S`
  Focus the search field
`↑`
  Move up in search results
`↓`
  Move down in search results
`↹`
  Switch tab
`⏎`
  Go to active search result
`+`
  Expand all sections
`-`
  Collapse 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`)

Search multiple things at once by splitting your query with comma (e.g. `str,u8` or `String,struct:Vec,test`)