1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
//! RPC context implementation for maintaining server and client state.
//!
//! The Context module provides the state management infrastructure needed for
//! handling RPC requests. It encapsulates all information required for:
//!
//! - Client identification and authentication
//! - Access to file system resources
//! - Tracking of client sessions and requests
//! - Mount status monitoring
//!
//! This module serves as a bridge between the RPC layer and the underlying
//! file system, providing each protocol handler with the information it needs
//! to process requests correctly in accordance with client permissions and
//! server configuration.
use fmt;
use ;
use mpsc;
use cratePortmapTable;
use cratexdr;
use cratevfs;
/// Represents the execution context for RPC operations
///
/// The Context structure encapsulates all the state information needed to process
/// an RPC request, including client identification, authentication credentials,
/// server configuration, and access to the virtual file system.
///
/// This context is passed to all protocol handlers (NFS, MOUNT, PORTMAP), providing
/// them with the information necessary to authenticate, authorize, and execute
/// requested operations. It serves as a bridge between the RPC layer and the
/// underlying file system implementation.
///
/// Each RPC connection maintains its own Context instance, ensuring proper isolation
/// between different client sessions and enabling accurate tracking of client state.