@jsonjoy.com/json-pack 1.17.0 → 1.18.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,33 @@
1
+ import { Reader } from '@jsonjoy.com/buffers/lib/Reader';
2
+ import { XdrDecoder } from '../../../xdr/XdrDecoder';
3
+ import { NlmProc } from './constants';
4
+ import * as msg from './messages';
5
+ export declare class NlmDecoder {
6
+ protected readonly xdr: XdrDecoder;
7
+ constructor(reader?: Reader);
8
+ decodeMessage(reader: Reader, proc: NlmProc, isRequest: boolean): msg.NlmMessage | undefined;
9
+ private decodeRequest;
10
+ private decodeResponse;
11
+ private readCookie;
12
+ private readNetobj;
13
+ private readNlm4Holder;
14
+ private readNlm4Lock;
15
+ private readNlm4Share;
16
+ private readTestArgs;
17
+ private readLockArgs;
18
+ private readCancelArgs;
19
+ private readUnlockArgs;
20
+ private readShareArgs;
21
+ private decodeTestRequest;
22
+ private decodeTestResponse;
23
+ private decodeLockRequest;
24
+ private decodeResponse4;
25
+ private decodeCancelRequest;
26
+ private decodeUnlockRequest;
27
+ private decodeGrantedRequest;
28
+ private decodeShareRequest;
29
+ private decodeShareResponse;
30
+ private decodeUnshareRequest;
31
+ private decodeNmLockRequest;
32
+ private decodeFreeAllRequest;
33
+ }
@@ -0,0 +1,209 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.NlmDecoder = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const Reader_1 = require("@jsonjoy.com/buffers/lib/Reader");
6
+ const XdrDecoder_1 = require("../../../xdr/XdrDecoder");
7
+ const errors_1 = require("../errors");
8
+ const msg = tslib_1.__importStar(require("./messages"));
9
+ const structs = tslib_1.__importStar(require("./structs"));
10
+ class NlmDecoder {
11
+ constructor(reader = new Reader_1.Reader()) {
12
+ this.xdr = new XdrDecoder_1.XdrDecoder(reader);
13
+ }
14
+ decodeMessage(reader, proc, isRequest) {
15
+ this.xdr.reader = reader;
16
+ const startPos = reader.x;
17
+ try {
18
+ if (isRequest) {
19
+ return this.decodeRequest(proc);
20
+ }
21
+ else {
22
+ return this.decodeResponse(proc);
23
+ }
24
+ }
25
+ catch (err) {
26
+ if (err instanceof RangeError) {
27
+ reader.x = startPos;
28
+ return undefined;
29
+ }
30
+ throw err;
31
+ }
32
+ }
33
+ decodeRequest(proc) {
34
+ switch (proc) {
35
+ case 0:
36
+ return undefined;
37
+ case 1:
38
+ return this.decodeTestRequest();
39
+ case 2:
40
+ return this.decodeLockRequest();
41
+ case 3:
42
+ return this.decodeCancelRequest();
43
+ case 4:
44
+ return this.decodeUnlockRequest();
45
+ case 5:
46
+ return this.decodeGrantedRequest();
47
+ case 20:
48
+ return this.decodeShareRequest();
49
+ case 21:
50
+ return this.decodeUnshareRequest();
51
+ case 22:
52
+ return this.decodeNmLockRequest();
53
+ case 23:
54
+ return this.decodeFreeAllRequest();
55
+ default:
56
+ throw new errors_1.Nfsv3DecodingError(`Unknown NLM procedure: ${proc}`);
57
+ }
58
+ }
59
+ decodeResponse(proc) {
60
+ switch (proc) {
61
+ case 0:
62
+ return undefined;
63
+ case 1:
64
+ return this.decodeTestResponse();
65
+ case 2:
66
+ case 3:
67
+ case 4:
68
+ case 5:
69
+ case 22:
70
+ return this.decodeResponse4();
71
+ case 20:
72
+ case 21:
73
+ return this.decodeShareResponse();
74
+ default:
75
+ throw new errors_1.Nfsv3DecodingError(`Unknown NLM procedure: ${proc}`);
76
+ }
77
+ }
78
+ readCookie() {
79
+ const data = this.xdr.readVarlenOpaque();
80
+ return new Reader_1.Reader(data);
81
+ }
82
+ readNetobj() {
83
+ const data = this.xdr.readVarlenOpaque();
84
+ return new Reader_1.Reader(data);
85
+ }
86
+ readNlm4Holder() {
87
+ const xdr = this.xdr;
88
+ const exclusive = xdr.readBoolean();
89
+ const svid = xdr.readInt();
90
+ const oh = this.readNetobj();
91
+ const offset = xdr.readUnsignedHyper();
92
+ const length = xdr.readUnsignedHyper();
93
+ return new structs.Nlm4Holder(exclusive, svid, oh, offset, length);
94
+ }
95
+ readNlm4Lock() {
96
+ const xdr = this.xdr;
97
+ const callerName = xdr.readString();
98
+ const fh = this.readNetobj();
99
+ const oh = this.readNetobj();
100
+ const svid = xdr.readInt();
101
+ const offset = xdr.readUnsignedHyper();
102
+ const length = xdr.readUnsignedHyper();
103
+ return new structs.Nlm4Lock(callerName, fh, oh, svid, offset, length);
104
+ }
105
+ readNlm4Share() {
106
+ const xdr = this.xdr;
107
+ const callerName = xdr.readString();
108
+ const fh = this.readNetobj();
109
+ const oh = this.readNetobj();
110
+ const mode = xdr.readUnsignedInt();
111
+ const access = xdr.readUnsignedInt();
112
+ return new structs.Nlm4Share(callerName, fh, oh, mode, access);
113
+ }
114
+ readTestArgs() {
115
+ const cookie = this.readCookie();
116
+ const exclusive = this.xdr.readBoolean();
117
+ const lock = this.readNlm4Lock();
118
+ return new msg.Nlm4TestArgs(cookie, exclusive, lock);
119
+ }
120
+ readLockArgs() {
121
+ const xdr = this.xdr;
122
+ const cookie = this.readCookie();
123
+ const block = xdr.readBoolean();
124
+ const exclusive = xdr.readBoolean();
125
+ const lock = this.readNlm4Lock();
126
+ const reclaim = xdr.readBoolean();
127
+ const state = xdr.readInt();
128
+ return new msg.Nlm4LockArgs(cookie, block, exclusive, lock, reclaim, state);
129
+ }
130
+ readCancelArgs() {
131
+ const xdr = this.xdr;
132
+ const cookie = this.readCookie();
133
+ const block = xdr.readBoolean();
134
+ const exclusive = xdr.readBoolean();
135
+ const lock = this.readNlm4Lock();
136
+ return new msg.Nlm4CancelArgs(cookie, block, exclusive, lock);
137
+ }
138
+ readUnlockArgs() {
139
+ const cookie = this.readCookie();
140
+ const lock = this.readNlm4Lock();
141
+ return new msg.Nlm4UnlockArgs(cookie, lock);
142
+ }
143
+ readShareArgs() {
144
+ const cookie = this.readCookie();
145
+ const share = this.readNlm4Share();
146
+ const reclaim = this.xdr.readBoolean();
147
+ return new msg.Nlm4ShareArgs(cookie, share, reclaim);
148
+ }
149
+ decodeTestRequest() {
150
+ const args = this.readTestArgs();
151
+ return new msg.Nlm4TestRequest(args);
152
+ }
153
+ decodeTestResponse() {
154
+ const xdr = this.xdr;
155
+ const cookie = this.readCookie();
156
+ const stat = xdr.readUnsignedInt();
157
+ const holder = stat === 1 ? this.readNlm4Holder() : undefined;
158
+ return new msg.Nlm4TestResponse(cookie, stat, holder);
159
+ }
160
+ decodeLockRequest() {
161
+ const args = this.readLockArgs();
162
+ return new msg.Nlm4LockRequest(args);
163
+ }
164
+ decodeResponse4() {
165
+ const cookie = this.readCookie();
166
+ const stat = this.xdr.readUnsignedInt();
167
+ return new msg.Nlm4Response(cookie, stat);
168
+ }
169
+ decodeCancelRequest() {
170
+ const args = this.readCancelArgs();
171
+ return new msg.Nlm4CancelRequest(args);
172
+ }
173
+ decodeUnlockRequest() {
174
+ const args = this.readUnlockArgs();
175
+ return new msg.Nlm4UnlockRequest(args);
176
+ }
177
+ decodeGrantedRequest() {
178
+ const args = this.readTestArgs();
179
+ return new msg.Nlm4GrantedRequest(args);
180
+ }
181
+ decodeShareRequest() {
182
+ const args = this.readShareArgs();
183
+ return new msg.Nlm4ShareRequest(args);
184
+ }
185
+ decodeShareResponse() {
186
+ const xdr = this.xdr;
187
+ const cookie = this.readCookie();
188
+ const stat = xdr.readUnsignedInt();
189
+ const sequence = xdr.readInt();
190
+ return new msg.Nlm4ShareResponse(cookie, stat, sequence);
191
+ }
192
+ decodeUnshareRequest() {
193
+ const args = this.readShareArgs();
194
+ return new msg.Nlm4UnshareRequest(args);
195
+ }
196
+ decodeNmLockRequest() {
197
+ const args = this.readLockArgs();
198
+ return new msg.Nlm4NmLockRequest(args);
199
+ }
200
+ decodeFreeAllRequest() {
201
+ const xdr = this.xdr;
202
+ const name = xdr.readString();
203
+ const state = xdr.readInt();
204
+ const notify = new structs.Nlm4Notify(name, state);
205
+ return new msg.Nlm4FreeAllRequest(notify);
206
+ }
207
+ }
208
+ exports.NlmDecoder = NlmDecoder;
209
+ //# sourceMappingURL=NlmDecoder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NlmDecoder.js","sourceRoot":"","sources":["../../../../src/nfs/v3/locks/NlmDecoder.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,35 @@
1
+ import { XdrEncoder } from '../../../xdr/XdrEncoder';
2
+ import { NlmProc } from './constants';
3
+ import * as msg from './messages';
4
+ import type { IWriter, IWriterGrowable } from '@jsonjoy.com/util/lib/buffers';
5
+ export declare class NlmEncoder<W extends IWriter & IWriterGrowable = IWriter & IWriterGrowable> {
6
+ readonly writer: W;
7
+ protected readonly xdr: XdrEncoder;
8
+ constructor(writer?: W);
9
+ encodeMessage(message: msg.NlmMessage, proc: NlmProc, isRequest: boolean): Uint8Array;
10
+ writeMessage(message: msg.NlmMessage, proc: NlmProc, isRequest: boolean): void;
11
+ private writeRequest;
12
+ private writeResponse;
13
+ private writeCookie;
14
+ private writeNetobj;
15
+ private writeNlm4Holder;
16
+ private writeNlm4Lock;
17
+ private writeNlm4Share;
18
+ private writeTestArgs;
19
+ private writeLockArgs;
20
+ private writeCancelArgs;
21
+ private writeUnlockArgs;
22
+ private writeShareArgs;
23
+ private writeTestRequest;
24
+ private writeTestResponse;
25
+ private writeLockRequest;
26
+ private writeResponse4;
27
+ private writeCancelRequest;
28
+ private writeUnlockRequest;
29
+ private writeGrantedRequest;
30
+ private writeShareRequest;
31
+ private writeShareResponse;
32
+ private writeUnshareRequest;
33
+ private writeNmLockRequest;
34
+ private writeFreeAllRequest;
35
+ }
@@ -0,0 +1,182 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.NlmEncoder = void 0;
4
+ const Writer_1 = require("@jsonjoy.com/util/lib/buffers/Writer");
5
+ const XdrEncoder_1 = require("../../../xdr/XdrEncoder");
6
+ const errors_1 = require("../errors");
7
+ class NlmEncoder {
8
+ constructor(writer = new Writer_1.Writer()) {
9
+ this.writer = writer;
10
+ this.xdr = new XdrEncoder_1.XdrEncoder(writer);
11
+ }
12
+ encodeMessage(message, proc, isRequest) {
13
+ if (isRequest)
14
+ this.writeRequest(message, proc);
15
+ else
16
+ this.writeResponse(message, proc);
17
+ return this.writer.flush();
18
+ }
19
+ writeMessage(message, proc, isRequest) {
20
+ if (isRequest)
21
+ this.writeRequest(message, proc);
22
+ else
23
+ this.writeResponse(message, proc);
24
+ }
25
+ writeRequest(request, proc) {
26
+ switch (proc) {
27
+ case 0:
28
+ return;
29
+ case 1:
30
+ return this.writeTestRequest(request);
31
+ case 2:
32
+ return this.writeLockRequest(request);
33
+ case 3:
34
+ return this.writeCancelRequest(request);
35
+ case 4:
36
+ return this.writeUnlockRequest(request);
37
+ case 5:
38
+ return this.writeGrantedRequest(request);
39
+ case 20:
40
+ return this.writeShareRequest(request);
41
+ case 21:
42
+ return this.writeUnshareRequest(request);
43
+ case 22:
44
+ return this.writeNmLockRequest(request);
45
+ case 23:
46
+ return this.writeFreeAllRequest(request);
47
+ default:
48
+ throw new errors_1.Nfsv3EncodingError(`Unknown NLM procedure: ${proc}`);
49
+ }
50
+ }
51
+ writeResponse(response, proc) {
52
+ switch (proc) {
53
+ case 0:
54
+ return;
55
+ case 1:
56
+ return this.writeTestResponse(response);
57
+ case 2:
58
+ case 3:
59
+ case 4:
60
+ case 5:
61
+ case 22:
62
+ return this.writeResponse4(response);
63
+ case 20:
64
+ case 21:
65
+ return this.writeShareResponse(response);
66
+ default:
67
+ throw new errors_1.Nfsv3EncodingError(`Unknown NLM procedure: ${proc}`);
68
+ }
69
+ }
70
+ writeCookie(cookie) {
71
+ const data = cookie.uint8;
72
+ this.xdr.writeVarlenOpaque(data);
73
+ }
74
+ writeNetobj(obj) {
75
+ const data = obj.uint8;
76
+ this.xdr.writeVarlenOpaque(data);
77
+ }
78
+ writeNlm4Holder(holder) {
79
+ const xdr = this.xdr;
80
+ xdr.writeBoolean(holder.exclusive);
81
+ xdr.writeInt(holder.svid);
82
+ this.writeNetobj(holder.oh);
83
+ xdr.writeUnsignedHyper(holder.offset);
84
+ xdr.writeUnsignedHyper(holder.length);
85
+ }
86
+ writeNlm4Lock(lock) {
87
+ const xdr = this.xdr;
88
+ xdr.writeStr(lock.callerName);
89
+ this.writeNetobj(lock.fh);
90
+ this.writeNetobj(lock.oh);
91
+ xdr.writeInt(lock.svid);
92
+ xdr.writeUnsignedHyper(lock.offset);
93
+ xdr.writeUnsignedHyper(lock.length);
94
+ }
95
+ writeNlm4Share(share) {
96
+ const xdr = this.xdr;
97
+ xdr.writeStr(share.callerName);
98
+ this.writeNetobj(share.fh);
99
+ this.writeNetobj(share.oh);
100
+ xdr.writeUnsignedInt(share.mode);
101
+ xdr.writeUnsignedInt(share.access);
102
+ }
103
+ writeTestArgs(args) {
104
+ this.writeCookie(args.cookie);
105
+ this.xdr.writeBoolean(args.exclusive);
106
+ this.writeNlm4Lock(args.lock);
107
+ }
108
+ writeLockArgs(args) {
109
+ const xdr = this.xdr;
110
+ this.writeCookie(args.cookie);
111
+ xdr.writeBoolean(args.block);
112
+ xdr.writeBoolean(args.exclusive);
113
+ this.writeNlm4Lock(args.lock);
114
+ xdr.writeBoolean(args.reclaim);
115
+ xdr.writeInt(args.state);
116
+ }
117
+ writeCancelArgs(args) {
118
+ const xdr = this.xdr;
119
+ this.writeCookie(args.cookie);
120
+ xdr.writeBoolean(args.block);
121
+ xdr.writeBoolean(args.exclusive);
122
+ this.writeNlm4Lock(args.lock);
123
+ }
124
+ writeUnlockArgs(args) {
125
+ this.writeCookie(args.cookie);
126
+ this.writeNlm4Lock(args.lock);
127
+ }
128
+ writeShareArgs(args) {
129
+ this.writeCookie(args.cookie);
130
+ this.writeNlm4Share(args.share);
131
+ this.xdr.writeBoolean(args.reclaim);
132
+ }
133
+ writeTestRequest(req) {
134
+ this.writeTestArgs(req.args);
135
+ }
136
+ writeTestResponse(res) {
137
+ const xdr = this.xdr;
138
+ this.writeCookie(res.cookie);
139
+ xdr.writeUnsignedInt(res.stat);
140
+ if (res.stat === 1 && res.holder) {
141
+ this.writeNlm4Holder(res.holder);
142
+ }
143
+ }
144
+ writeLockRequest(req) {
145
+ this.writeLockArgs(req.args);
146
+ }
147
+ writeResponse4(res) {
148
+ this.writeCookie(res.cookie);
149
+ this.xdr.writeUnsignedInt(res.stat);
150
+ }
151
+ writeCancelRequest(req) {
152
+ this.writeCancelArgs(req.args);
153
+ }
154
+ writeUnlockRequest(req) {
155
+ this.writeUnlockArgs(req.args);
156
+ }
157
+ writeGrantedRequest(req) {
158
+ this.writeTestArgs(req.args);
159
+ }
160
+ writeShareRequest(req) {
161
+ this.writeShareArgs(req.args);
162
+ }
163
+ writeShareResponse(res) {
164
+ const xdr = this.xdr;
165
+ this.writeCookie(res.cookie);
166
+ xdr.writeUnsignedInt(res.stat);
167
+ xdr.writeInt(res.sequence);
168
+ }
169
+ writeUnshareRequest(req) {
170
+ this.writeShareArgs(req.args);
171
+ }
172
+ writeNmLockRequest(req) {
173
+ this.writeLockArgs(req.args);
174
+ }
175
+ writeFreeAllRequest(req) {
176
+ const xdr = this.xdr;
177
+ xdr.writeStr(req.notify.name);
178
+ xdr.writeInt(req.notify.state);
179
+ }
180
+ }
181
+ exports.NlmEncoder = NlmEncoder;
182
+ //# sourceMappingURL=NlmEncoder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NlmEncoder.js","sourceRoot":"","sources":["../../../../src/nfs/v3/locks/NlmEncoder.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,39 @@
1
+ export declare const enum NlmConst {
2
+ PROGRAM = 100021,
3
+ VERSION = 4,
4
+ LM_MAXSTRLEN = 1024
5
+ }
6
+ export declare const enum NlmProc {
7
+ NULL = 0,
8
+ TEST = 1,
9
+ LOCK = 2,
10
+ CANCEL = 3,
11
+ UNLOCK = 4,
12
+ GRANTED = 5,
13
+ TEST_MSG = 6,
14
+ LOCK_MSG = 7,
15
+ CANCEL_MSG = 8,
16
+ UNLOCK_MSG = 9,
17
+ GRANTED_MSG = 10,
18
+ TEST_RES = 11,
19
+ LOCK_RES = 12,
20
+ CANCEL_RES = 13,
21
+ UNLOCK_RES = 14,
22
+ GRANTED_RES = 15,
23
+ SHARE = 20,
24
+ UNSHARE = 21,
25
+ NM_LOCK = 22,
26
+ FREE_ALL = 23
27
+ }
28
+ export declare const enum Nlm4Stat {
29
+ NLM4_GRANTED = 0,
30
+ NLM4_DENIED = 1,
31
+ NLM4_DENIED_NOLOCKS = 2,
32
+ NLM4_BLOCKED = 3,
33
+ NLM4_DENIED_GRACE_PERIOD = 4,
34
+ NLM4_DEADLCK = 5,
35
+ NLM4_ROFS = 6,
36
+ NLM4_STALE_FH = 7,
37
+ NLM4_FBIG = 8,
38
+ NLM4_FAILED = 9
39
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../src/nfs/v3/locks/constants.ts"],"names":[],"mappings":""}
@@ -0,0 +1,96 @@
1
+ import { Nlm4Stat } from './constants';
2
+ import type { Reader } from '@jsonjoy.com/buffers/lib/Reader';
3
+ import type * as stucts from './structs';
4
+ export type NlmMessage = NlmRequest | NlmResponse;
5
+ export type NlmRequest = Nlm4TestRequest | Nlm4LockRequest | Nlm4CancelRequest | Nlm4UnlockRequest | Nlm4GrantedRequest | Nlm4ShareRequest | Nlm4UnshareRequest | Nlm4NmLockRequest | Nlm4FreeAllRequest;
6
+ export type NlmResponse = Nlm4TestResponse | Nlm4Response | Nlm4ShareResponse;
7
+ export declare class Nlm4TestArgs {
8
+ readonly cookie: Reader;
9
+ readonly exclusive: boolean;
10
+ readonly lock: stucts.Nlm4Lock;
11
+ constructor(cookie: Reader, exclusive: boolean, lock: stucts.Nlm4Lock);
12
+ }
13
+ export declare class Nlm4TestRequest {
14
+ readonly args: Nlm4TestArgs;
15
+ constructor(args: Nlm4TestArgs);
16
+ }
17
+ export declare class Nlm4TestDenied {
18
+ readonly holder: stucts.Nlm4Holder;
19
+ constructor(holder: stucts.Nlm4Holder);
20
+ }
21
+ export declare class Nlm4TestResponse {
22
+ readonly cookie: Reader;
23
+ readonly stat: Nlm4Stat;
24
+ readonly holder?: stucts.Nlm4Holder | undefined;
25
+ constructor(cookie: Reader, stat: Nlm4Stat, holder?: stucts.Nlm4Holder | undefined);
26
+ }
27
+ export declare class Nlm4LockArgs {
28
+ readonly cookie: Reader;
29
+ readonly block: boolean;
30
+ readonly exclusive: boolean;
31
+ readonly lock: stucts.Nlm4Lock;
32
+ readonly reclaim: boolean;
33
+ readonly state: number;
34
+ constructor(cookie: Reader, block: boolean, exclusive: boolean, lock: stucts.Nlm4Lock, reclaim: boolean, state: number);
35
+ }
36
+ export declare class Nlm4LockRequest {
37
+ readonly args: Nlm4LockArgs;
38
+ constructor(args: Nlm4LockArgs);
39
+ }
40
+ export declare class Nlm4Response {
41
+ readonly cookie: Reader;
42
+ readonly stat: Nlm4Stat;
43
+ constructor(cookie: Reader, stat: Nlm4Stat);
44
+ }
45
+ export declare class Nlm4CancelArgs {
46
+ readonly cookie: Reader;
47
+ readonly block: boolean;
48
+ readonly exclusive: boolean;
49
+ readonly lock: stucts.Nlm4Lock;
50
+ constructor(cookie: Reader, block: boolean, exclusive: boolean, lock: stucts.Nlm4Lock);
51
+ }
52
+ export declare class Nlm4CancelRequest {
53
+ readonly args: Nlm4CancelArgs;
54
+ constructor(args: Nlm4CancelArgs);
55
+ }
56
+ export declare class Nlm4UnlockArgs {
57
+ readonly cookie: Reader;
58
+ readonly lock: stucts.Nlm4Lock;
59
+ constructor(cookie: Reader, lock: stucts.Nlm4Lock);
60
+ }
61
+ export declare class Nlm4UnlockRequest {
62
+ readonly args: Nlm4UnlockArgs;
63
+ constructor(args: Nlm4UnlockArgs);
64
+ }
65
+ export declare class Nlm4GrantedRequest {
66
+ readonly args: Nlm4TestArgs;
67
+ constructor(args: Nlm4TestArgs);
68
+ }
69
+ export declare class Nlm4ShareArgs {
70
+ readonly cookie: Reader;
71
+ readonly share: stucts.Nlm4Share;
72
+ readonly reclaim: boolean;
73
+ constructor(cookie: Reader, share: stucts.Nlm4Share, reclaim: boolean);
74
+ }
75
+ export declare class Nlm4ShareRequest {
76
+ readonly args: Nlm4ShareArgs;
77
+ constructor(args: Nlm4ShareArgs);
78
+ }
79
+ export declare class Nlm4ShareResponse {
80
+ readonly cookie: Reader;
81
+ readonly stat: Nlm4Stat;
82
+ readonly sequence: number;
83
+ constructor(cookie: Reader, stat: Nlm4Stat, sequence: number);
84
+ }
85
+ export declare class Nlm4UnshareRequest {
86
+ readonly args: Nlm4ShareArgs;
87
+ constructor(args: Nlm4ShareArgs);
88
+ }
89
+ export declare class Nlm4NmLockRequest {
90
+ readonly args: Nlm4LockArgs;
91
+ constructor(args: Nlm4LockArgs);
92
+ }
93
+ export declare class Nlm4FreeAllRequest {
94
+ readonly notify: stucts.Nlm4Notify;
95
+ constructor(notify: stucts.Nlm4Notify);
96
+ }