MCPcopy Create free account

hub / github.com/Mimir-IM/mimir / functions

Functions338 in github.com/Mimir-IM/mimir

↓ 1 callersFunctionauth_outbound
Outbound mutual auth handshake. Flow (outbound perspective): send Hello → recv Challenge → sign → send ChallengeAnswer → recv OK send Challenge2 → re
src/peer/connection.rs:296
↓ 1 callersMethodauthenticate
(&self, sk: &SigningKey)
src/files/client.rs:280
↓ 1 callersMethodauthenticate
(&self, sk: &SigningKey)
src/mediator/client.rs:392
↓ 1 callersFunctionbuild_ok_frame
(id: i64)
src/peer/connection.rs:965
↓ 1 callersFunctionbuild_pong_frame
()
src/peer/connection.rs:961
↓ 1 callersFunctiondata_sender_task
Runs in its own tokio task for the persistent data stream. Receives `(guid, full_frame)` items, writes the 44-byte header atomically, then streams the
src/peer/connection.rs:922
↓ 1 callersFunctiondecrypt_file
Decrypt `src_path` to `dst_path` using streaming ChaCha20-Poly1305.
src/files/crypto.rs:58
↓ 1 callersFunctiondecrypt_message
Decrypt a message encrypted by [`encrypt_message`]. Input format: `[nonce(12)][ciphertext][tag(16)]`
src/crypto.rs:67
↓ 1 callersFunctiondecrypt_shared_key
Decrypt a shared key encrypted by [`encrypt_shared_key`]. `seed` is the 32-byte Ed25519 signing-key seed of the recipient. Input format: `[eph_pubke
src/crypto.rs:133
↓ 1 callersMethoddo_connect
(self: &Arc<Self>, mediator_pubkey: &[u8; 32], hex: &str)
src/mediator/manager.rs:106
↓ 1 callersMethoddownload_and_decrypt
Download encrypted file, verify hash, decrypt to dest.
src/files/mod.rs:207
↓ 1 callersMethoddownload_streaming_next
Read the next chunk from a streaming download. Returns `(offset, chunk_data, total_size)`. When `offset + chunk_data.len() >= total_size`, the downloa
src/files/client.rs:253
↓ 1 callersMethoddownload_streaming_start
Start a streaming download: send one CMD_DOWNLOAD request and return a receiver that delivers response frames as they arrive from the server. Call `do
src/files/client.rs:214
↓ 1 callersFunctioned25519_pubkey_to_x25519
Convert an Ed25519 public key to an X25519 public key. Maps the Edwards y-coordinate to the Montgomery u-coordinate: `u = (1 + y) / (1 - y) mod p`
src/crypto.rs:183
↓ 1 callersFunctioned25519_seed_to_x25519
Convert an Ed25519 seed (32-byte private key) to an X25519 private key. Per RFC 8032 / RFC 7748: 1. SHA-512(seed) → 64 bytes 2. Take first 32 bytes 3
src/crypto.rs:196
↓ 1 callersFunctionencode_call_answer
(ok: bool, error: &str)
src/peer/connection.rs:1023
↓ 1 callersFunctionencode_call_hangup
()
src/peer/connection.rs:1034
↓ 1 callersFunctionencode_call_offer
(offer: &CallOffer)
src/peer/connection.rs:1011
↓ 1 callersFunctionencode_call_packet
(data: &[u8])
src/peer/connection.rs:1038
↓ 1 callersFunctionencode_contact_request
(req: &ContactRequest)
src/peer/protocol.rs:521
↓ 1 callersFunctionencode_contact_response
(accepted: bool)
src/peer/protocol.rs:548
↓ 1 callersFunctionencode_file_request
(req: &FileRequest)
src/peer/protocol.rs:570
↓ 1 callersFunctionencode_info_response
(r: &InfoResponse)
src/peer/connection.rs:972
↓ 1 callersFunctionencrypt_file
Encrypt `src_path` to `dst_path` using streaming ChaCha20-Poly1305. Returns the total encrypted file size.
src/files/crypto.rs:28
↓ 1 callersMethodfailures_for
(&self, uri: &str)
src/peer/ygg_selector.rs:138
↓ 1 callersMethodfire_subscribed
Fire `on_subscribed` on the user listener (used by `MediatorNode::subscribe`).
src/mediator/manager.rs:241
↓ 1 callersMethodforget_subscription
Remove `chat_id` from the subscription registry (call after leave_chat).
src/mediator/manager.rs:157
↓ 1 callersMethodget_addrs_from
(&self, tracker: &TrackerEntry, permanent_pubkey: &[u8; 32])
src/peer/resolver.rs:283
↓ 1 callersMethodget_nonce
(&self, pubkey: &[u8])
src/files/client.rs:300
↓ 1 callersMethodget_u32
(&self, tag: u8)
src/tlv.rs:159
↓ 1 callersMethodget_u8
(&self, tag: u8)
src/tlv.rs:169
↓ 1 callersMethodhandle_member_info_request
(&self,payload: Vec<u8>, listener: &dyn MediatorEventListener)
src/mediator/client.rs:629
↓ 1 callersMethodhandle_member_info_update
(&self, payload: Vec<u8>, listener: &dyn MediatorEventListener)
src/mediator/client.rs:652
↓ 1 callersMethodhandle_push_invite
(&self, payload: Vec<u8>, listener: &dyn MediatorEventListener)
src/mediator/client.rs:607
↓ 1 callersMethodhandle_push_message
(&self, payload: Vec<u8>, listener: &dyn MediatorEventListener)
src/mediator/client.rs:573
↓ 1 callersMethodhas_active_peers
Returns `true` if the underlying Yggdrasil node has at least one active peer.
src/mediator/manager.rs:278
↓ 1 callersMethodhash_and_upload
Hash the encrypted file, then upload it in chunks.
src/files/mod.rs:180
↓ 1 callersFunctioninit_tracing
()
src/peer/mod.rs:31
↓ 1 callersMethodinvalidate
Remove the cached entry for `permanent_pubkey` so the next resolution goes to the trackers.
src/peer/resolver.rs:123
↓ 1 callersMethodis_disconnected
Returns `true` if this client has been marked as disconnected.
src/files/client.rs:145
↓ 1 callersMethodis_network_online
(&self)
src/peer/ygg_selector.rs:132
↓ 1 callersMethodon_call_packet
(&self, pubkey: Vec<u8>, data: Vec<u8>)
src/peer/mod.rs:109
↓ 1 callersMethodon_connected
(&self, mediator_pubkey: Vec<u8>)
src/mediator/manager.rs:305
↓ 1 callersMethodon_connectivity_changed
(&self, is_online: bool)
src/peer/mod.rs:74
↓ 1 callersMethodon_contact_request
(&self, pubkey: Vec<u8>, message: String, nickname: String, info: String, avatar: Option<Vec<u8>>)
src/peer/mod.rs:125
↓ 1 callersMethodon_contact_response
(&self, pubkey: Vec<u8>, accepted: bool)
src/peer/mod.rs:129
↓ 1 callersMethodon_file_received
(&self, pubkey: Vec<u8>, guid: i64, reply_to: i64, send_time: i64, edit_time: i64, msg_type: i32, meta_json: S
src/peer/mod.rs:121
↓ 1 callersMethodon_file_send_progress
(&self, pubkey: Vec<u8>, guid: i64, bytes_sent: i64, total_bytes: i64)
src/peer/mod.rs:117
↓ 1 callersMethodon_incoming_call
(&self, pubkey: Vec<u8>)
src/peer/mod.rs:101
↓ 1 callersMethodon_member_info_request
(&self, chat_id: i64, last_update: i64)
src/mediator/manager.rs:338
↓ 1 callersMethodon_member_info_update
( &self, chat_id: i64, member_pubkey: Vec<u8>, encrypted_info: Option<Vec<u8>>, timestamp: i64
src/mediator/manager.rs:342
↓ 1 callersMethodon_member_online_status_changed
( &self, chat_id: i64, member_pubkey: Vec<u8>, is_online: bool, timestamp: i64, )
src/mediator/manager.rs:349
↓ 1 callersMethodon_message_delivered
(&self, pubkey: Vec<u8>, guid: i64)
src/peer/mod.rs:97
↓ 1 callersMethodon_peer_connected
(&self, pubkey: Vec<u8>, address: String)
src/peer/mod.rs:78
↓ 1 callersMethodon_peer_disconnected
(&self, pubkey: Vec<u8>, address: String, dead_peer: bool)
src/peer/mod.rs:82
↓ 1 callersMethodon_push_invite
( &self, invite_id: i64, chat_id: i64, from_pubkey: Vec<u8>, timestamp: i64, chat_name: String
src/mediator/manager.rs:327
↓ 1 callersMethodon_push_message
( &self, chat_id: i64, message_id: i64, guid: i64, timestamp: i64, author: Vec<u8>, data: Vec<
src/mediator/manager.rs:313
↓ 1 callersMethodon_subscribed
(&self, mediator_pubkey: Vec<u8>, chat_id: i64, last_message_id: i64)
src/mediator/manager.rs:309
↓ 1 callersMethodon_system_message
( &self, chat_id: i64, message_id: i64, guid: i64, timestamp: i64, body: Vec<u8>, )
src/mediator/manager.rs:320
↓ 1 callersFunctionparse_members_info_list
(payload: &[u8])
src/mediator/client.rs:802
↓ 1 callersFunctionparse_members_list
(payload: &[u8])
src/mediator/client.rs:853
↓ 1 callersFunctionparse_messages_list
(payload: &[u8])
src/mediator/client.rs:735
↓ 1 callersMethodpick_best
(&self)
src/peer/ygg_selector.rs:146
↓ 1 callersMethodping
Send a single ping to verify the connection is alive.
src/mediator/client.rs:163
↓ 1 callersFunctionpow_find_sig
Proof-of-work: find a counter such that `sign(sk, nonce||counter)[0]==0 && [1]==0`. This is CPU-intensive (~32 k–64 k iterations on average).
src/mediator/client.rs:715
↓ 1 callersFunctionread_call_answer
Read a CALL_ANSWER payload. Returns (ok, error_string).
src/peer/protocol.rs:450
↓ 1 callersFunctionread_call_offer
(conn: &AsyncConn)
src/peer/protocol.rs:427
↓ 1 callersFunctionread_call_packet
Read a CALL_PACKET payload. Returns raw audio bytes.
src/peer/protocol.rs:477
↓ 1 callersFunctionread_contact_request
Read a CONTACT_REQUEST payload (header consumed). Wire: [msg_len(4)][msg][nick_len(4)][nick][info_len(4)][info][avatar_len(4)][avatar]
src/peer/protocol.rs:495
↓ 1 callersFunctionread_contact_response
Read a CONTACT_RESPONSE payload (header consumed). Returns `accepted`.
src/peer/protocol.rs:543
↓ 1 callersFunctionread_file_request
Read a FILE_REQUEST payload (header consumed). Wire: [guid(8)][name_len(4)][name][hash_len(4)][hash]
src/peer/protocol.rs:559
↓ 1 callersFunctionread_full_buf
Read up to `buf.len()` bytes, looping until EOF or buffer full.
src/files/mod.rs:280
↓ 1 callersFunctionread_hello
Read the Hello payload (header already consumed). `has_address` = header.size > 80 (matches the Kotlin `header.size > 80` check).
src/peer/protocol.rs:173
↓ 1 callersFunctionread_info_request
Read the INFO_REQUEST payload (header consumed). Returns `since_time`.
src/peer/protocol.rs:298
↓ 1 callersFunctionread_info_response
Read an INFO_RESPONSE payload (header consumed).
src/peer/protocol.rs:311
↓ 1 callersFunctionread_message
Read a MSG_TYPE_MESSAGE_TEXT payload (header consumed). The JSON header carries `payloadSize`; we read exactly that many bytes as the opaque payload
src/peer/protocol.rs:366
↓ 1 callersFunctionread_one_frame
Read exactly one frame from the connection (header + body).
src/peer/connection.rs:836
↓ 1 callersFunctionreader_task
Runs in its own tokio task. Reads frames from the connection indefinitely and forwards them to the control loop. Exits when the connection closes or
src/peer/connection.rs:817
↓ 1 callersMethodrecord_failure
(&self, uri: &str)
src/peer/ygg_selector.rs:151
↓ 1 callersFunctionrecv_file_to_disk
Read a FILE_RESPONSE frame by streaming file bytes directly to a temp file. 1. Read the meta JSON prefix (small, stays in memory). 2. Stream remainin
src/peer/data_stream.rs:197
↓ 1 callersMethodremember_subscription
Add `chat_id` to the persistent subscription registry for this mediator. Called after a successful explicit `subscribe()` so it survives reconnects.
src/mediator/manager.rs:149
↓ 1 callersMethodremove_client
Remove the dead client entry. Only removes if the stored client has its `disconnected` flag set — this prevents a stale reader from evicting a freshl
src/mediator/manager.rs:167
↓ 1 callersFunctionrun_selector
(selector: Arc<YggSelector>, node: Arc<AsyncNode>, mut stop_rx: broadcast::Receiver<()>)
src/peer/ygg_selector.rs:189
↓ 1 callersFunctionscore
(r: &PeerRecord)
src/peer/ygg_selector.rs:48
↓ 1 callersMethodsend_message
Returns `(message_id, guid)`. `timestamp` must be milliseconds since epoch; it is converted to seconds before sending.
src/mediator/client.rs:289
↓ 1 callersFunctionserve_file_request
Reads a file from disk, verifies its hash, and sends it back as a MSG_TYPE_FILE_RESPONSE to the requesting peer. Runs in a spawned task so the messag
src/peer/connection.rs:1052
↓ 1 callersMethodset_peers
Replace the managed peer list, preserving accumulated metrics for URIs that remain in the new list.
src/peer/ygg_selector.rs:93
↓ 1 callersMethodstop
Stop the client: signal background tasks and close the connection.
src/files/client.rs:140
↓ 1 callersMethodstop
Stop the client: signal background tasks and close the connection.
src/mediator/client.rs:156
↓ 1 callersMethodstop_all
Stop all connections and cancel all reconnect tasks.
src/mediator/manager.rs:283
↓ 1 callersMethodsubscribe_peer_info
Subscribe to peer-info changes for long-polling.
src/peer/ygg_selector.rs:87
↓ 1 callersMethodupdate_member_info
(&self, chat_id: i64, encrypted_blob: &[u8], timestamp: i64)
src/mediator/client.rs:353
↓ 1 callersMethodupload_chunk
Upload a chunk of file data.
src/files/client.rs:166
↓ 1 callersFunctionwrite_hello
Write a Hello to the connection.
src/peer/protocol.rs:209
↓ 1 callersFunctionwrite_info_request
(conn: &AsyncConn, since_time: i64)
src/peer/protocol.rs:302
↓ 1 callersFunctionwriter_task
Runs in its own tokio task. Drains the write channel and sends each pre-serialized frame to the connection. Exits when the channel closes or a write
src/peer/connection.rs:910
Methodadd_user
(&self, mediator_pubkey: Vec<u8>, chat_id: i64, user_pubkey: Vec<u8>)
src/mediator/mod.rs:139
Methodadd_user
(&self, chat_id: i64, user_pubkey: &[u8])
src/mediator/client.rs:223
Methodannounce_to_trackers
Announce our current ephemeral Yggdrasil address to all configured trackers. Returns immediately. The first call starts the background announce loop
src/peer/mod.rs:751
Methodanswer_call
Accept (`accept=true`) or reject (`accept=false`) an incoming call.
src/peer/mod.rs:695
← previousnext →101–200 of 338, ranked by callers