<T> T |
DFSPathResolver.resolve(Session session,
SMB2Packet responsePacket,
SmbPath smbPath,
PathResolver.ResolveAction<T> action) |
|
<T> T |
DFSPathResolver.resolve(Session session,
SmbPath smbPath,
PathResolver.ResolveAction<T> action) |
|
<T> T |
PathResolver.resolve(Session session,
SMB2Packet responsePacket,
SmbPath smbPath,
PathResolver.ResolveAction<T> action) |
Reactive path resolution based on response packet
|
<T> T |
PathResolver.resolve(Session session,
SmbPath smbPath,
PathResolver.ResolveAction<T> action) |
Proactive path resolution based on response packet
|
<T> T |
SymlinkPathResolver.resolve(Session session,
SMB2Packet responsePacket,
SmbPath smbPath,
PathResolver.ResolveAction<T> action) |
|
<T> T |
SymlinkPathResolver.resolve(Session session,
SmbPath smbPath,
PathResolver.ResolveAction<T> action) |
|
private DFSPathResolver.ReferralResult |
DFSPathResolver.sendDfsReferralRequest(DFSPathResolver.DfsRequestType type,
java.lang.String hostName,
Session session,
DFSPath path) |
|
private <T> T |
DFSPathResolver.start(Session session,
SmbPath uncPath,
PathResolver.ResolveAction<T> action) |
|
private <T> T |
DFSPathResolver.step1(Session session,
DFSPathResolver.ResolveState<T> state) |
Step 1: If the path has only one path component (for example, \abc), go to step 12; otherwise, go to step 2.
|
private <T> T |
DFSPathResolver.step10(Session session,
DFSPathResolver.ResolveState<T> state,
DomainCache.DomainCacheEntry domainCacheEntry) |
Step 10: [sysvol referral request] Issue a sysvol referral request, as specified in
section 3.1.4.2, providing 'SYSVOL', the DCHint DC of the DomainCache entry that
corresponds to the domain name in the first path component, UserCredentials, MaxOutputSize,
and Path as parameters.
|
private <T> T |
DFSPathResolver.step11(Session session,
DFSPathResolver.ResolveState<T> state,
ReferralCache.ReferralCacheEntry lookup) |
Step 11: [interlink] Replace the portion of the path that matches the DFSPathPrefix of
the ReferralCache entry with TargetHint.
|
private <T> T |
DFSPathResolver.step13(Session session,
DFSPathResolver.ResolveState<T> state,
DFSPathResolver.ReferralResult result) |
Step 13: [Cannot get DC for domain] The first path component is a domain name.
|
private <T> T |
DFSPathResolver.step14(Session session,
DFSPathResolver.ResolveState<T> state,
DFSPathResolver.ReferralResult result) |
Step 14: [DFS path] The path is known to be in a DFS namespace, but the DFS root referral
request or DFS Link referral request has failed.
|
private <T> T |
DFSPathResolver.step2(Session session,
DFSPathResolver.ResolveState<T> state) |
Step 2: Look up the path in ReferralCache if a cache is being maintained.
|
private <T> T |
DFSPathResolver.step3(Session session,
DFSPathResolver.ResolveState<T> state,
ReferralCache.ReferralCacheEntry lookup) |
Step 3: [ReferralCache hit, unexpired TTL] Replace the portion of the path that matches DFSPathPrefix of the
ReferralCache entry with the DFS target path of TargetHint of the ReferralCache entry.
|
private <T> T |
DFSPathResolver.step4(Session session,
DFSPathResolver.ResolveState<T> state,
ReferralCache.ReferralCacheEntry lookup) |
Step 4: [ReferralCache hit, unexpired TTL, RootOrLink=link]
1.
|
private <T> T |
DFSPathResolver.step5(Session session,
DFSPathResolver.ResolveState<T> state) |
Step 5: [ReferralCache miss] [ReferralCache hit, expired TTL, RootOrLink=root]
Look up the first path component in DomainCache.
|
private <T> T |
DFSPathResolver.step6(Session session,
DFSPathResolver.ResolveState<T> state) |
[DFS Root referral request] Issue a DFS root referral request, as specified in section 3.1.4.2,
providing "ROOT", the first path component, UserCredentials, MaxOutputSize, and Path as parameters.
|
private <T> T |
DFSPathResolver.step7(Session session,
DFSPathResolver.ResolveState<T> state,
ReferralCache.ReferralCacheEntry lookup) |
[DFS root referral success] If the current ReferralCache entry's RootOrLink indicates
root targets, go to step 3; otherwise, go to step 4.
|
private <T> T |
DFSPathResolver.step8(Session session,
DFSPathResolver.ResolveState<T> state,
ReferralCache.ReferralCacheEntry lookup) |
Step 8: [I/O request, path fully resolved] Issue I/O operation to TargetHint of ReferralCache entry.
|
private <T> T |
DFSPathResolver.step9(Session session,
DFSPathResolver.ResolveState<T> state,
ReferralCache.ReferralCacheEntry lookup) |
Step 9: [ReferralCache hit, expired TTL, RootOrLink=link] The link referral request is issued to a DFS root target of the namespace.
|