You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

2520 lines
98 KiB

6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
  1. // Code generated by protoc-gen-go.
  2. // source: volume_server.proto
  3. // DO NOT EDIT!
  4. /*
  5. Package volume_server_pb is a generated protocol buffer package.
  6. It is generated from these files:
  7. volume_server.proto
  8. It has these top-level messages:
  9. BatchDeleteRequest
  10. BatchDeleteResponse
  11. DeleteResult
  12. Empty
  13. VacuumVolumeCheckRequest
  14. VacuumVolumeCheckResponse
  15. VacuumVolumeCompactRequest
  16. VacuumVolumeCompactResponse
  17. VacuumVolumeCommitRequest
  18. VacuumVolumeCommitResponse
  19. VacuumVolumeCleanupRequest
  20. VacuumVolumeCleanupResponse
  21. DeleteCollectionRequest
  22. DeleteCollectionResponse
  23. AllocateVolumeRequest
  24. AllocateVolumeResponse
  25. VolumeSyncStatusRequest
  26. VolumeSyncStatusResponse
  27. VolumeIncrementalCopyRequest
  28. VolumeIncrementalCopyResponse
  29. VolumeMountRequest
  30. VolumeMountResponse
  31. VolumeUnmountRequest
  32. VolumeUnmountResponse
  33. VolumeDeleteRequest
  34. VolumeDeleteResponse
  35. VolumeCopyRequest
  36. VolumeCopyResponse
  37. CopyFileRequest
  38. CopyFileResponse
  39. VolumeTailSenderRequest
  40. VolumeTailSenderResponse
  41. VolumeTailReceiverRequest
  42. VolumeTailReceiverResponse
  43. VolumeEcShardsGenerateRequest
  44. VolumeEcShardsGenerateResponse
  45. VolumeEcShardsRebuildRequest
  46. VolumeEcShardsRebuildResponse
  47. VolumeEcShardsCopyRequest
  48. VolumeEcShardsCopyResponse
  49. VolumeEcShardsDeleteRequest
  50. VolumeEcShardsDeleteResponse
  51. VolumeEcShardsMountRequest
  52. VolumeEcShardsMountResponse
  53. VolumeEcShardsUnmountRequest
  54. VolumeEcShardsUnmountResponse
  55. VolumeEcShardReadRequest
  56. VolumeEcShardReadResponse
  57. VolumeEcBlobDeleteRequest
  58. VolumeEcBlobDeleteResponse
  59. ReadVolumeFileStatusRequest
  60. ReadVolumeFileStatusResponse
  61. DiskStatus
  62. MemStatus
  63. */
  64. package volume_server_pb
  65. import proto "github.com/golang/protobuf/proto"
  66. import fmt "fmt"
  67. import math "math"
  68. import (
  69. context "golang.org/x/net/context"
  70. grpc "google.golang.org/grpc"
  71. )
  72. // Reference imports to suppress errors if they are not otherwise used.
  73. var _ = proto.Marshal
  74. var _ = fmt.Errorf
  75. var _ = math.Inf
  76. // This is a compile-time assertion to ensure that this generated file
  77. // is compatible with the proto package it is being compiled against.
  78. // A compilation error at this line likely means your copy of the
  79. // proto package needs to be updated.
  80. const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package
  81. type BatchDeleteRequest struct {
  82. FileIds []string `protobuf:"bytes,1,rep,name=file_ids,json=fileIds" json:"file_ids,omitempty"`
  83. }
  84. func (m *BatchDeleteRequest) Reset() { *m = BatchDeleteRequest{} }
  85. func (m *BatchDeleteRequest) String() string { return proto.CompactTextString(m) }
  86. func (*BatchDeleteRequest) ProtoMessage() {}
  87. func (*BatchDeleteRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }
  88. func (m *BatchDeleteRequest) GetFileIds() []string {
  89. if m != nil {
  90. return m.FileIds
  91. }
  92. return nil
  93. }
  94. type BatchDeleteResponse struct {
  95. Results []*DeleteResult `protobuf:"bytes,1,rep,name=results" json:"results,omitempty"`
  96. }
  97. func (m *BatchDeleteResponse) Reset() { *m = BatchDeleteResponse{} }
  98. func (m *BatchDeleteResponse) String() string { return proto.CompactTextString(m) }
  99. func (*BatchDeleteResponse) ProtoMessage() {}
  100. func (*BatchDeleteResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{1} }
  101. func (m *BatchDeleteResponse) GetResults() []*DeleteResult {
  102. if m != nil {
  103. return m.Results
  104. }
  105. return nil
  106. }
  107. type DeleteResult struct {
  108. FileId string `protobuf:"bytes,1,opt,name=file_id,json=fileId" json:"file_id,omitempty"`
  109. Status int32 `protobuf:"varint,2,opt,name=status" json:"status,omitempty"`
  110. Error string `protobuf:"bytes,3,opt,name=error" json:"error,omitempty"`
  111. Size uint32 `protobuf:"varint,4,opt,name=size" json:"size,omitempty"`
  112. Version uint32 `protobuf:"varint,5,opt,name=version" json:"version,omitempty"`
  113. }
  114. func (m *DeleteResult) Reset() { *m = DeleteResult{} }
  115. func (m *DeleteResult) String() string { return proto.CompactTextString(m) }
  116. func (*DeleteResult) ProtoMessage() {}
  117. func (*DeleteResult) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{2} }
  118. func (m *DeleteResult) GetFileId() string {
  119. if m != nil {
  120. return m.FileId
  121. }
  122. return ""
  123. }
  124. func (m *DeleteResult) GetStatus() int32 {
  125. if m != nil {
  126. return m.Status
  127. }
  128. return 0
  129. }
  130. func (m *DeleteResult) GetError() string {
  131. if m != nil {
  132. return m.Error
  133. }
  134. return ""
  135. }
  136. func (m *DeleteResult) GetSize() uint32 {
  137. if m != nil {
  138. return m.Size
  139. }
  140. return 0
  141. }
  142. func (m *DeleteResult) GetVersion() uint32 {
  143. if m != nil {
  144. return m.Version
  145. }
  146. return 0
  147. }
  148. type Empty struct {
  149. }
  150. func (m *Empty) Reset() { *m = Empty{} }
  151. func (m *Empty) String() string { return proto.CompactTextString(m) }
  152. func (*Empty) ProtoMessage() {}
  153. func (*Empty) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{3} }
  154. type VacuumVolumeCheckRequest struct {
  155. VolumeId uint32 `protobuf:"varint,1,opt,name=volume_id,json=volumeId" json:"volume_id,omitempty"`
  156. }
  157. func (m *VacuumVolumeCheckRequest) Reset() { *m = VacuumVolumeCheckRequest{} }
  158. func (m *VacuumVolumeCheckRequest) String() string { return proto.CompactTextString(m) }
  159. func (*VacuumVolumeCheckRequest) ProtoMessage() {}
  160. func (*VacuumVolumeCheckRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{4} }
  161. func (m *VacuumVolumeCheckRequest) GetVolumeId() uint32 {
  162. if m != nil {
  163. return m.VolumeId
  164. }
  165. return 0
  166. }
  167. type VacuumVolumeCheckResponse struct {
  168. GarbageRatio float64 `protobuf:"fixed64,1,opt,name=garbage_ratio,json=garbageRatio" json:"garbage_ratio,omitempty"`
  169. }
  170. func (m *VacuumVolumeCheckResponse) Reset() { *m = VacuumVolumeCheckResponse{} }
  171. func (m *VacuumVolumeCheckResponse) String() string { return proto.CompactTextString(m) }
  172. func (*VacuumVolumeCheckResponse) ProtoMessage() {}
  173. func (*VacuumVolumeCheckResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{5} }
  174. func (m *VacuumVolumeCheckResponse) GetGarbageRatio() float64 {
  175. if m != nil {
  176. return m.GarbageRatio
  177. }
  178. return 0
  179. }
  180. type VacuumVolumeCompactRequest struct {
  181. VolumeId uint32 `protobuf:"varint,1,opt,name=volume_id,json=volumeId" json:"volume_id,omitempty"`
  182. Preallocate int64 `protobuf:"varint,2,opt,name=preallocate" json:"preallocate,omitempty"`
  183. }
  184. func (m *VacuumVolumeCompactRequest) Reset() { *m = VacuumVolumeCompactRequest{} }
  185. func (m *VacuumVolumeCompactRequest) String() string { return proto.CompactTextString(m) }
  186. func (*VacuumVolumeCompactRequest) ProtoMessage() {}
  187. func (*VacuumVolumeCompactRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{6} }
  188. func (m *VacuumVolumeCompactRequest) GetVolumeId() uint32 {
  189. if m != nil {
  190. return m.VolumeId
  191. }
  192. return 0
  193. }
  194. func (m *VacuumVolumeCompactRequest) GetPreallocate() int64 {
  195. if m != nil {
  196. return m.Preallocate
  197. }
  198. return 0
  199. }
  200. type VacuumVolumeCompactResponse struct {
  201. }
  202. func (m *VacuumVolumeCompactResponse) Reset() { *m = VacuumVolumeCompactResponse{} }
  203. func (m *VacuumVolumeCompactResponse) String() string { return proto.CompactTextString(m) }
  204. func (*VacuumVolumeCompactResponse) ProtoMessage() {}
  205. func (*VacuumVolumeCompactResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{7} }
  206. type VacuumVolumeCommitRequest struct {
  207. VolumeId uint32 `protobuf:"varint,1,opt,name=volume_id,json=volumeId" json:"volume_id,omitempty"`
  208. }
  209. func (m *VacuumVolumeCommitRequest) Reset() { *m = VacuumVolumeCommitRequest{} }
  210. func (m *VacuumVolumeCommitRequest) String() string { return proto.CompactTextString(m) }
  211. func (*VacuumVolumeCommitRequest) ProtoMessage() {}
  212. func (*VacuumVolumeCommitRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{8} }
  213. func (m *VacuumVolumeCommitRequest) GetVolumeId() uint32 {
  214. if m != nil {
  215. return m.VolumeId
  216. }
  217. return 0
  218. }
  219. type VacuumVolumeCommitResponse struct {
  220. }
  221. func (m *VacuumVolumeCommitResponse) Reset() { *m = VacuumVolumeCommitResponse{} }
  222. func (m *VacuumVolumeCommitResponse) String() string { return proto.CompactTextString(m) }
  223. func (*VacuumVolumeCommitResponse) ProtoMessage() {}
  224. func (*VacuumVolumeCommitResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{9} }
  225. type VacuumVolumeCleanupRequest struct {
  226. VolumeId uint32 `protobuf:"varint,1,opt,name=volume_id,json=volumeId" json:"volume_id,omitempty"`
  227. }
  228. func (m *VacuumVolumeCleanupRequest) Reset() { *m = VacuumVolumeCleanupRequest{} }
  229. func (m *VacuumVolumeCleanupRequest) String() string { return proto.CompactTextString(m) }
  230. func (*VacuumVolumeCleanupRequest) ProtoMessage() {}
  231. func (*VacuumVolumeCleanupRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{10} }
  232. func (m *VacuumVolumeCleanupRequest) GetVolumeId() uint32 {
  233. if m != nil {
  234. return m.VolumeId
  235. }
  236. return 0
  237. }
  238. type VacuumVolumeCleanupResponse struct {
  239. }
  240. func (m *VacuumVolumeCleanupResponse) Reset() { *m = VacuumVolumeCleanupResponse{} }
  241. func (m *VacuumVolumeCleanupResponse) String() string { return proto.CompactTextString(m) }
  242. func (*VacuumVolumeCleanupResponse) ProtoMessage() {}
  243. func (*VacuumVolumeCleanupResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{11} }
  244. type DeleteCollectionRequest struct {
  245. Collection string `protobuf:"bytes,1,opt,name=collection" json:"collection,omitempty"`
  246. }
  247. func (m *DeleteCollectionRequest) Reset() { *m = DeleteCollectionRequest{} }
  248. func (m *DeleteCollectionRequest) String() string { return proto.CompactTextString(m) }
  249. func (*DeleteCollectionRequest) ProtoMessage() {}
  250. func (*DeleteCollectionRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{12} }
  251. func (m *DeleteCollectionRequest) GetCollection() string {
  252. if m != nil {
  253. return m.Collection
  254. }
  255. return ""
  256. }
  257. type DeleteCollectionResponse struct {
  258. }
  259. func (m *DeleteCollectionResponse) Reset() { *m = DeleteCollectionResponse{} }
  260. func (m *DeleteCollectionResponse) String() string { return proto.CompactTextString(m) }
  261. func (*DeleteCollectionResponse) ProtoMessage() {}
  262. func (*DeleteCollectionResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{13} }
  263. type AllocateVolumeRequest struct {
  264. VolumeId uint32 `protobuf:"varint,1,opt,name=volume_id,json=volumeId" json:"volume_id,omitempty"`
  265. Collection string `protobuf:"bytes,2,opt,name=collection" json:"collection,omitempty"`
  266. Preallocate int64 `protobuf:"varint,3,opt,name=preallocate" json:"preallocate,omitempty"`
  267. Replication string `protobuf:"bytes,4,opt,name=replication" json:"replication,omitempty"`
  268. Ttl string `protobuf:"bytes,5,opt,name=ttl" json:"ttl,omitempty"`
  269. }
  270. func (m *AllocateVolumeRequest) Reset() { *m = AllocateVolumeRequest{} }
  271. func (m *AllocateVolumeRequest) String() string { return proto.CompactTextString(m) }
  272. func (*AllocateVolumeRequest) ProtoMessage() {}
  273. func (*AllocateVolumeRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{14} }
  274. func (m *AllocateVolumeRequest) GetVolumeId() uint32 {
  275. if m != nil {
  276. return m.VolumeId
  277. }
  278. return 0
  279. }
  280. func (m *AllocateVolumeRequest) GetCollection() string {
  281. if m != nil {
  282. return m.Collection
  283. }
  284. return ""
  285. }
  286. func (m *AllocateVolumeRequest) GetPreallocate() int64 {
  287. if m != nil {
  288. return m.Preallocate
  289. }
  290. return 0
  291. }
  292. func (m *AllocateVolumeRequest) GetReplication() string {
  293. if m != nil {
  294. return m.Replication
  295. }
  296. return ""
  297. }
  298. func (m *AllocateVolumeRequest) GetTtl() string {
  299. if m != nil {
  300. return m.Ttl
  301. }
  302. return ""
  303. }
  304. type AllocateVolumeResponse struct {
  305. }
  306. func (m *AllocateVolumeResponse) Reset() { *m = AllocateVolumeResponse{} }
  307. func (m *AllocateVolumeResponse) String() string { return proto.CompactTextString(m) }
  308. func (*AllocateVolumeResponse) ProtoMessage() {}
  309. func (*AllocateVolumeResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{15} }
  310. type VolumeSyncStatusRequest struct {
  311. VolumeId uint32 `protobuf:"varint,1,opt,name=volume_id,json=volumeId" json:"volume_id,omitempty"`
  312. }
  313. func (m *VolumeSyncStatusRequest) Reset() { *m = VolumeSyncStatusRequest{} }
  314. func (m *VolumeSyncStatusRequest) String() string { return proto.CompactTextString(m) }
  315. func (*VolumeSyncStatusRequest) ProtoMessage() {}
  316. func (*VolumeSyncStatusRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{16} }
  317. func (m *VolumeSyncStatusRequest) GetVolumeId() uint32 {
  318. if m != nil {
  319. return m.VolumeId
  320. }
  321. return 0
  322. }
  323. type VolumeSyncStatusResponse struct {
  324. VolumeId uint32 `protobuf:"varint,1,opt,name=volume_id,json=volumeId" json:"volume_id,omitempty"`
  325. Collection string `protobuf:"bytes,2,opt,name=collection" json:"collection,omitempty"`
  326. Replication string `protobuf:"bytes,4,opt,name=replication" json:"replication,omitempty"`
  327. Ttl string `protobuf:"bytes,5,opt,name=ttl" json:"ttl,omitempty"`
  328. TailOffset uint64 `protobuf:"varint,6,opt,name=tail_offset,json=tailOffset" json:"tail_offset,omitempty"`
  329. CompactRevision uint32 `protobuf:"varint,7,opt,name=compact_revision,json=compactRevision" json:"compact_revision,omitempty"`
  330. IdxFileSize uint64 `protobuf:"varint,8,opt,name=idx_file_size,json=idxFileSize" json:"idx_file_size,omitempty"`
  331. }
  332. func (m *VolumeSyncStatusResponse) Reset() { *m = VolumeSyncStatusResponse{} }
  333. func (m *VolumeSyncStatusResponse) String() string { return proto.CompactTextString(m) }
  334. func (*VolumeSyncStatusResponse) ProtoMessage() {}
  335. func (*VolumeSyncStatusResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{17} }
  336. func (m *VolumeSyncStatusResponse) GetVolumeId() uint32 {
  337. if m != nil {
  338. return m.VolumeId
  339. }
  340. return 0
  341. }
  342. func (m *VolumeSyncStatusResponse) GetCollection() string {
  343. if m != nil {
  344. return m.Collection
  345. }
  346. return ""
  347. }
  348. func (m *VolumeSyncStatusResponse) GetReplication() string {
  349. if m != nil {
  350. return m.Replication
  351. }
  352. return ""
  353. }
  354. func (m *VolumeSyncStatusResponse) GetTtl() string {
  355. if m != nil {
  356. return m.Ttl
  357. }
  358. return ""
  359. }
  360. func (m *VolumeSyncStatusResponse) GetTailOffset() uint64 {
  361. if m != nil {
  362. return m.TailOffset
  363. }
  364. return 0
  365. }
  366. func (m *VolumeSyncStatusResponse) GetCompactRevision() uint32 {
  367. if m != nil {
  368. return m.CompactRevision
  369. }
  370. return 0
  371. }
  372. func (m *VolumeSyncStatusResponse) GetIdxFileSize() uint64 {
  373. if m != nil {
  374. return m.IdxFileSize
  375. }
  376. return 0
  377. }
  378. type VolumeIncrementalCopyRequest struct {
  379. VolumeId uint32 `protobuf:"varint,1,opt,name=volume_id,json=volumeId" json:"volume_id,omitempty"`
  380. SinceNs uint64 `protobuf:"varint,2,opt,name=since_ns,json=sinceNs" json:"since_ns,omitempty"`
  381. }
  382. func (m *VolumeIncrementalCopyRequest) Reset() { *m = VolumeIncrementalCopyRequest{} }
  383. func (m *VolumeIncrementalCopyRequest) String() string { return proto.CompactTextString(m) }
  384. func (*VolumeIncrementalCopyRequest) ProtoMessage() {}
  385. func (*VolumeIncrementalCopyRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{18} }
  386. func (m *VolumeIncrementalCopyRequest) GetVolumeId() uint32 {
  387. if m != nil {
  388. return m.VolumeId
  389. }
  390. return 0
  391. }
  392. func (m *VolumeIncrementalCopyRequest) GetSinceNs() uint64 {
  393. if m != nil {
  394. return m.SinceNs
  395. }
  396. return 0
  397. }
  398. type VolumeIncrementalCopyResponse struct {
  399. FileContent []byte `protobuf:"bytes,1,opt,name=file_content,json=fileContent,proto3" json:"file_content,omitempty"`
  400. }
  401. func (m *VolumeIncrementalCopyResponse) Reset() { *m = VolumeIncrementalCopyResponse{} }
  402. func (m *VolumeIncrementalCopyResponse) String() string { return proto.CompactTextString(m) }
  403. func (*VolumeIncrementalCopyResponse) ProtoMessage() {}
  404. func (*VolumeIncrementalCopyResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{19} }
  405. func (m *VolumeIncrementalCopyResponse) GetFileContent() []byte {
  406. if m != nil {
  407. return m.FileContent
  408. }
  409. return nil
  410. }
  411. type VolumeMountRequest struct {
  412. VolumeId uint32 `protobuf:"varint,1,opt,name=volume_id,json=volumeId" json:"volume_id,omitempty"`
  413. }
  414. func (m *VolumeMountRequest) Reset() { *m = VolumeMountRequest{} }
  415. func (m *VolumeMountRequest) String() string { return proto.CompactTextString(m) }
  416. func (*VolumeMountRequest) ProtoMessage() {}
  417. func (*VolumeMountRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{20} }
  418. func (m *VolumeMountRequest) GetVolumeId() uint32 {
  419. if m != nil {
  420. return m.VolumeId
  421. }
  422. return 0
  423. }
  424. type VolumeMountResponse struct {
  425. }
  426. func (m *VolumeMountResponse) Reset() { *m = VolumeMountResponse{} }
  427. func (m *VolumeMountResponse) String() string { return proto.CompactTextString(m) }
  428. func (*VolumeMountResponse) ProtoMessage() {}
  429. func (*VolumeMountResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{21} }
  430. type VolumeUnmountRequest struct {
  431. VolumeId uint32 `protobuf:"varint,1,opt,name=volume_id,json=volumeId" json:"volume_id,omitempty"`
  432. }
  433. func (m *VolumeUnmountRequest) Reset() { *m = VolumeUnmountRequest{} }
  434. func (m *VolumeUnmountRequest) String() string { return proto.CompactTextString(m) }
  435. func (*VolumeUnmountRequest) ProtoMessage() {}
  436. func (*VolumeUnmountRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{22} }
  437. func (m *VolumeUnmountRequest) GetVolumeId() uint32 {
  438. if m != nil {
  439. return m.VolumeId
  440. }
  441. return 0
  442. }
  443. type VolumeUnmountResponse struct {
  444. }
  445. func (m *VolumeUnmountResponse) Reset() { *m = VolumeUnmountResponse{} }
  446. func (m *VolumeUnmountResponse) String() string { return proto.CompactTextString(m) }
  447. func (*VolumeUnmountResponse) ProtoMessage() {}
  448. func (*VolumeUnmountResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{23} }
  449. type VolumeDeleteRequest struct {
  450. VolumeId uint32 `protobuf:"varint,1,opt,name=volume_id,json=volumeId" json:"volume_id,omitempty"`
  451. }
  452. func (m *VolumeDeleteRequest) Reset() { *m = VolumeDeleteRequest{} }
  453. func (m *VolumeDeleteRequest) String() string { return proto.CompactTextString(m) }
  454. func (*VolumeDeleteRequest) ProtoMessage() {}
  455. func (*VolumeDeleteRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{24} }
  456. func (m *VolumeDeleteRequest) GetVolumeId() uint32 {
  457. if m != nil {
  458. return m.VolumeId
  459. }
  460. return 0
  461. }
  462. type VolumeDeleteResponse struct {
  463. }
  464. func (m *VolumeDeleteResponse) Reset() { *m = VolumeDeleteResponse{} }
  465. func (m *VolumeDeleteResponse) String() string { return proto.CompactTextString(m) }
  466. func (*VolumeDeleteResponse) ProtoMessage() {}
  467. func (*VolumeDeleteResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{25} }
  468. type VolumeCopyRequest struct {
  469. VolumeId uint32 `protobuf:"varint,1,opt,name=volume_id,json=volumeId" json:"volume_id,omitempty"`
  470. Collection string `protobuf:"bytes,2,opt,name=collection" json:"collection,omitempty"`
  471. Replication string `protobuf:"bytes,3,opt,name=replication" json:"replication,omitempty"`
  472. Ttl string `protobuf:"bytes,4,opt,name=ttl" json:"ttl,omitempty"`
  473. SourceDataNode string `protobuf:"bytes,5,opt,name=source_data_node,json=sourceDataNode" json:"source_data_node,omitempty"`
  474. }
  475. func (m *VolumeCopyRequest) Reset() { *m = VolumeCopyRequest{} }
  476. func (m *VolumeCopyRequest) String() string { return proto.CompactTextString(m) }
  477. func (*VolumeCopyRequest) ProtoMessage() {}
  478. func (*VolumeCopyRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{26} }
  479. func (m *VolumeCopyRequest) GetVolumeId() uint32 {
  480. if m != nil {
  481. return m.VolumeId
  482. }
  483. return 0
  484. }
  485. func (m *VolumeCopyRequest) GetCollection() string {
  486. if m != nil {
  487. return m.Collection
  488. }
  489. return ""
  490. }
  491. func (m *VolumeCopyRequest) GetReplication() string {
  492. if m != nil {
  493. return m.Replication
  494. }
  495. return ""
  496. }
  497. func (m *VolumeCopyRequest) GetTtl() string {
  498. if m != nil {
  499. return m.Ttl
  500. }
  501. return ""
  502. }
  503. func (m *VolumeCopyRequest) GetSourceDataNode() string {
  504. if m != nil {
  505. return m.SourceDataNode
  506. }
  507. return ""
  508. }
  509. type VolumeCopyResponse struct {
  510. LastAppendAtNs uint64 `protobuf:"varint,1,opt,name=last_append_at_ns,json=lastAppendAtNs" json:"last_append_at_ns,omitempty"`
  511. }
  512. func (m *VolumeCopyResponse) Reset() { *m = VolumeCopyResponse{} }
  513. func (m *VolumeCopyResponse) String() string { return proto.CompactTextString(m) }
  514. func (*VolumeCopyResponse) ProtoMessage() {}
  515. func (*VolumeCopyResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{27} }
  516. func (m *VolumeCopyResponse) GetLastAppendAtNs() uint64 {
  517. if m != nil {
  518. return m.LastAppendAtNs
  519. }
  520. return 0
  521. }
  522. type CopyFileRequest struct {
  523. VolumeId uint32 `protobuf:"varint,1,opt,name=volume_id,json=volumeId" json:"volume_id,omitempty"`
  524. Ext string `protobuf:"bytes,2,opt,name=ext" json:"ext,omitempty"`
  525. CompactionRevision uint32 `protobuf:"varint,3,opt,name=compaction_revision,json=compactionRevision" json:"compaction_revision,omitempty"`
  526. StopOffset uint64 `protobuf:"varint,4,opt,name=stop_offset,json=stopOffset" json:"stop_offset,omitempty"`
  527. Collection string `protobuf:"bytes,5,opt,name=collection" json:"collection,omitempty"`
  528. IsEcVolume bool `protobuf:"varint,6,opt,name=is_ec_volume,json=isEcVolume" json:"is_ec_volume,omitempty"`
  529. }
  530. func (m *CopyFileRequest) Reset() { *m = CopyFileRequest{} }
  531. func (m *CopyFileRequest) String() string { return proto.CompactTextString(m) }
  532. func (*CopyFileRequest) ProtoMessage() {}
  533. func (*CopyFileRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{28} }
  534. func (m *CopyFileRequest) GetVolumeId() uint32 {
  535. if m != nil {
  536. return m.VolumeId
  537. }
  538. return 0
  539. }
  540. func (m *CopyFileRequest) GetExt() string {
  541. if m != nil {
  542. return m.Ext
  543. }
  544. return ""
  545. }
  546. func (m *CopyFileRequest) GetCompactionRevision() uint32 {
  547. if m != nil {
  548. return m.CompactionRevision
  549. }
  550. return 0
  551. }
  552. func (m *CopyFileRequest) GetStopOffset() uint64 {
  553. if m != nil {
  554. return m.StopOffset
  555. }
  556. return 0
  557. }
  558. func (m *CopyFileRequest) GetCollection() string {
  559. if m != nil {
  560. return m.Collection
  561. }
  562. return ""
  563. }
  564. func (m *CopyFileRequest) GetIsEcVolume() bool {
  565. if m != nil {
  566. return m.IsEcVolume
  567. }
  568. return false
  569. }
  570. type CopyFileResponse struct {
  571. FileContent []byte `protobuf:"bytes,1,opt,name=file_content,json=fileContent,proto3" json:"file_content,omitempty"`
  572. }
  573. func (m *CopyFileResponse) Reset() { *m = CopyFileResponse{} }
  574. func (m *CopyFileResponse) String() string { return proto.CompactTextString(m) }
  575. func (*CopyFileResponse) ProtoMessage() {}
  576. func (*CopyFileResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{29} }
  577. func (m *CopyFileResponse) GetFileContent() []byte {
  578. if m != nil {
  579. return m.FileContent
  580. }
  581. return nil
  582. }
  583. type VolumeTailSenderRequest struct {
  584. VolumeId uint32 `protobuf:"varint,1,opt,name=volume_id,json=volumeId" json:"volume_id,omitempty"`
  585. SinceNs uint64 `protobuf:"varint,2,opt,name=since_ns,json=sinceNs" json:"since_ns,omitempty"`
  586. IdleTimeoutSeconds uint32 `protobuf:"varint,3,opt,name=idle_timeout_seconds,json=idleTimeoutSeconds" json:"idle_timeout_seconds,omitempty"`
  587. }
  588. func (m *VolumeTailSenderRequest) Reset() { *m = VolumeTailSenderRequest{} }
  589. func (m *VolumeTailSenderRequest) String() string { return proto.CompactTextString(m) }
  590. func (*VolumeTailSenderRequest) ProtoMessage() {}
  591. func (*VolumeTailSenderRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{30} }
  592. func (m *VolumeTailSenderRequest) GetVolumeId() uint32 {
  593. if m != nil {
  594. return m.VolumeId
  595. }
  596. return 0
  597. }
  598. func (m *VolumeTailSenderRequest) GetSinceNs() uint64 {
  599. if m != nil {
  600. return m.SinceNs
  601. }
  602. return 0
  603. }
  604. func (m *VolumeTailSenderRequest) GetIdleTimeoutSeconds() uint32 {
  605. if m != nil {
  606. return m.IdleTimeoutSeconds
  607. }
  608. return 0
  609. }
  610. type VolumeTailSenderResponse struct {
  611. NeedleHeader []byte `protobuf:"bytes,1,opt,name=needle_header,json=needleHeader,proto3" json:"needle_header,omitempty"`
  612. NeedleBody []byte `protobuf:"bytes,2,opt,name=needle_body,json=needleBody,proto3" json:"needle_body,omitempty"`
  613. IsLastChunk bool `protobuf:"varint,3,opt,name=is_last_chunk,json=isLastChunk" json:"is_last_chunk,omitempty"`
  614. }
  615. func (m *VolumeTailSenderResponse) Reset() { *m = VolumeTailSenderResponse{} }
  616. func (m *VolumeTailSenderResponse) String() string { return proto.CompactTextString(m) }
  617. func (*VolumeTailSenderResponse) ProtoMessage() {}
  618. func (*VolumeTailSenderResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{31} }
  619. func (m *VolumeTailSenderResponse) GetNeedleHeader() []byte {
  620. if m != nil {
  621. return m.NeedleHeader
  622. }
  623. return nil
  624. }
  625. func (m *VolumeTailSenderResponse) GetNeedleBody() []byte {
  626. if m != nil {
  627. return m.NeedleBody
  628. }
  629. return nil
  630. }
  631. func (m *VolumeTailSenderResponse) GetIsLastChunk() bool {
  632. if m != nil {
  633. return m.IsLastChunk
  634. }
  635. return false
  636. }
  637. type VolumeTailReceiverRequest struct {
  638. VolumeId uint32 `protobuf:"varint,1,opt,name=volume_id,json=volumeId" json:"volume_id,omitempty"`
  639. SinceNs uint64 `protobuf:"varint,2,opt,name=since_ns,json=sinceNs" json:"since_ns,omitempty"`
  640. IdleTimeoutSeconds uint32 `protobuf:"varint,3,opt,name=idle_timeout_seconds,json=idleTimeoutSeconds" json:"idle_timeout_seconds,omitempty"`
  641. SourceVolumeServer string `protobuf:"bytes,4,opt,name=source_volume_server,json=sourceVolumeServer" json:"source_volume_server,omitempty"`
  642. }
  643. func (m *VolumeTailReceiverRequest) Reset() { *m = VolumeTailReceiverRequest{} }
  644. func (m *VolumeTailReceiverRequest) String() string { return proto.CompactTextString(m) }
  645. func (*VolumeTailReceiverRequest) ProtoMessage() {}
  646. func (*VolumeTailReceiverRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{32} }
  647. func (m *VolumeTailReceiverRequest) GetVolumeId() uint32 {
  648. if m != nil {
  649. return m.VolumeId
  650. }
  651. return 0
  652. }
  653. func (m *VolumeTailReceiverRequest) GetSinceNs() uint64 {
  654. if m != nil {
  655. return m.SinceNs
  656. }
  657. return 0
  658. }
  659. func (m *VolumeTailReceiverRequest) GetIdleTimeoutSeconds() uint32 {
  660. if m != nil {
  661. return m.IdleTimeoutSeconds
  662. }
  663. return 0
  664. }
  665. func (m *VolumeTailReceiverRequest) GetSourceVolumeServer() string {
  666. if m != nil {
  667. return m.SourceVolumeServer
  668. }
  669. return ""
  670. }
  671. type VolumeTailReceiverResponse struct {
  672. }
  673. func (m *VolumeTailReceiverResponse) Reset() { *m = VolumeTailReceiverResponse{} }
  674. func (m *VolumeTailReceiverResponse) String() string { return proto.CompactTextString(m) }
  675. func (*VolumeTailReceiverResponse) ProtoMessage() {}
  676. func (*VolumeTailReceiverResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{33} }
  677. type VolumeEcShardsGenerateRequest struct {
  678. VolumeId uint32 `protobuf:"varint,1,opt,name=volume_id,json=volumeId" json:"volume_id,omitempty"`
  679. Collection string `protobuf:"bytes,2,opt,name=collection" json:"collection,omitempty"`
  680. }
  681. func (m *VolumeEcShardsGenerateRequest) Reset() { *m = VolumeEcShardsGenerateRequest{} }
  682. func (m *VolumeEcShardsGenerateRequest) String() string { return proto.CompactTextString(m) }
  683. func (*VolumeEcShardsGenerateRequest) ProtoMessage() {}
  684. func (*VolumeEcShardsGenerateRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{34} }
  685. func (m *VolumeEcShardsGenerateRequest) GetVolumeId() uint32 {
  686. if m != nil {
  687. return m.VolumeId
  688. }
  689. return 0
  690. }
  691. func (m *VolumeEcShardsGenerateRequest) GetCollection() string {
  692. if m != nil {
  693. return m.Collection
  694. }
  695. return ""
  696. }
  697. type VolumeEcShardsGenerateResponse struct {
  698. }
  699. func (m *VolumeEcShardsGenerateResponse) Reset() { *m = VolumeEcShardsGenerateResponse{} }
  700. func (m *VolumeEcShardsGenerateResponse) String() string { return proto.CompactTextString(m) }
  701. func (*VolumeEcShardsGenerateResponse) ProtoMessage() {}
  702. func (*VolumeEcShardsGenerateResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{35} }
  703. type VolumeEcShardsRebuildRequest struct {
  704. VolumeId uint32 `protobuf:"varint,1,opt,name=volume_id,json=volumeId" json:"volume_id,omitempty"`
  705. Collection string `protobuf:"bytes,2,opt,name=collection" json:"collection,omitempty"`
  706. }
  707. func (m *VolumeEcShardsRebuildRequest) Reset() { *m = VolumeEcShardsRebuildRequest{} }
  708. func (m *VolumeEcShardsRebuildRequest) String() string { return proto.CompactTextString(m) }
  709. func (*VolumeEcShardsRebuildRequest) ProtoMessage() {}
  710. func (*VolumeEcShardsRebuildRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{36} }
  711. func (m *VolumeEcShardsRebuildRequest) GetVolumeId() uint32 {
  712. if m != nil {
  713. return m.VolumeId
  714. }
  715. return 0
  716. }
  717. func (m *VolumeEcShardsRebuildRequest) GetCollection() string {
  718. if m != nil {
  719. return m.Collection
  720. }
  721. return ""
  722. }
  723. type VolumeEcShardsRebuildResponse struct {
  724. RebuiltShardIds []uint32 `protobuf:"varint,1,rep,packed,name=rebuilt_shard_ids,json=rebuiltShardIds" json:"rebuilt_shard_ids,omitempty"`
  725. }
  726. func (m *VolumeEcShardsRebuildResponse) Reset() { *m = VolumeEcShardsRebuildResponse{} }
  727. func (m *VolumeEcShardsRebuildResponse) String() string { return proto.CompactTextString(m) }
  728. func (*VolumeEcShardsRebuildResponse) ProtoMessage() {}
  729. func (*VolumeEcShardsRebuildResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{37} }
  730. func (m *VolumeEcShardsRebuildResponse) GetRebuiltShardIds() []uint32 {
  731. if m != nil {
  732. return m.RebuiltShardIds
  733. }
  734. return nil
  735. }
  736. type VolumeEcShardsCopyRequest struct {
  737. VolumeId uint32 `protobuf:"varint,1,opt,name=volume_id,json=volumeId" json:"volume_id,omitempty"`
  738. Collection string `protobuf:"bytes,2,opt,name=collection" json:"collection,omitempty"`
  739. ShardIds []uint32 `protobuf:"varint,3,rep,packed,name=shard_ids,json=shardIds" json:"shard_ids,omitempty"`
  740. CopyEcxFile bool `protobuf:"varint,4,opt,name=copy_ecx_file,json=copyEcxFile" json:"copy_ecx_file,omitempty"`
  741. SourceDataNode string `protobuf:"bytes,5,opt,name=source_data_node,json=sourceDataNode" json:"source_data_node,omitempty"`
  742. }
  743. func (m *VolumeEcShardsCopyRequest) Reset() { *m = VolumeEcShardsCopyRequest{} }
  744. func (m *VolumeEcShardsCopyRequest) String() string { return proto.CompactTextString(m) }
  745. func (*VolumeEcShardsCopyRequest) ProtoMessage() {}
  746. func (*VolumeEcShardsCopyRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{38} }
  747. func (m *VolumeEcShardsCopyRequest) GetVolumeId() uint32 {
  748. if m != nil {
  749. return m.VolumeId
  750. }
  751. return 0
  752. }
  753. func (m *VolumeEcShardsCopyRequest) GetCollection() string {
  754. if m != nil {
  755. return m.Collection
  756. }
  757. return ""
  758. }
  759. func (m *VolumeEcShardsCopyRequest) GetShardIds() []uint32 {
  760. if m != nil {
  761. return m.ShardIds
  762. }
  763. return nil
  764. }
  765. func (m *VolumeEcShardsCopyRequest) GetCopyEcxFile() bool {
  766. if m != nil {
  767. return m.CopyEcxFile
  768. }
  769. return false
  770. }
  771. func (m *VolumeEcShardsCopyRequest) GetSourceDataNode() string {
  772. if m != nil {
  773. return m.SourceDataNode
  774. }
  775. return ""
  776. }
  777. type VolumeEcShardsCopyResponse struct {
  778. }
  779. func (m *VolumeEcShardsCopyResponse) Reset() { *m = VolumeEcShardsCopyResponse{} }
  780. func (m *VolumeEcShardsCopyResponse) String() string { return proto.CompactTextString(m) }
  781. func (*VolumeEcShardsCopyResponse) ProtoMessage() {}
  782. func (*VolumeEcShardsCopyResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{39} }
  783. type VolumeEcShardsDeleteRequest struct {
  784. VolumeId uint32 `protobuf:"varint,1,opt,name=volume_id,json=volumeId" json:"volume_id,omitempty"`
  785. Collection string `protobuf:"bytes,2,opt,name=collection" json:"collection,omitempty"`
  786. ShardIds []uint32 `protobuf:"varint,3,rep,packed,name=shard_ids,json=shardIds" json:"shard_ids,omitempty"`
  787. }
  788. func (m *VolumeEcShardsDeleteRequest) Reset() { *m = VolumeEcShardsDeleteRequest{} }
  789. func (m *VolumeEcShardsDeleteRequest) String() string { return proto.CompactTextString(m) }
  790. func (*VolumeEcShardsDeleteRequest) ProtoMessage() {}
  791. func (*VolumeEcShardsDeleteRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{40} }
  792. func (m *VolumeEcShardsDeleteRequest) GetVolumeId() uint32 {
  793. if m != nil {
  794. return m.VolumeId
  795. }
  796. return 0
  797. }
  798. func (m *VolumeEcShardsDeleteRequest) GetCollection() string {
  799. if m != nil {
  800. return m.Collection
  801. }
  802. return ""
  803. }
  804. func (m *VolumeEcShardsDeleteRequest) GetShardIds() []uint32 {
  805. if m != nil {
  806. return m.ShardIds
  807. }
  808. return nil
  809. }
  810. type VolumeEcShardsDeleteResponse struct {
  811. }
  812. func (m *VolumeEcShardsDeleteResponse) Reset() { *m = VolumeEcShardsDeleteResponse{} }
  813. func (m *VolumeEcShardsDeleteResponse) String() string { return proto.CompactTextString(m) }
  814. func (*VolumeEcShardsDeleteResponse) ProtoMessage() {}
  815. func (*VolumeEcShardsDeleteResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{41} }
  816. type VolumeEcShardsMountRequest struct {
  817. VolumeId uint32 `protobuf:"varint,1,opt,name=volume_id,json=volumeId" json:"volume_id,omitempty"`
  818. Collection string `protobuf:"bytes,2,opt,name=collection" json:"collection,omitempty"`
  819. ShardIds []uint32 `protobuf:"varint,3,rep,packed,name=shard_ids,json=shardIds" json:"shard_ids,omitempty"`
  820. }
  821. func (m *VolumeEcShardsMountRequest) Reset() { *m = VolumeEcShardsMountRequest{} }
  822. func (m *VolumeEcShardsMountRequest) String() string { return proto.CompactTextString(m) }
  823. func (*VolumeEcShardsMountRequest) ProtoMessage() {}
  824. func (*VolumeEcShardsMountRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{42} }
  825. func (m *VolumeEcShardsMountRequest) GetVolumeId() uint32 {
  826. if m != nil {
  827. return m.VolumeId
  828. }
  829. return 0
  830. }
  831. func (m *VolumeEcShardsMountRequest) GetCollection() string {
  832. if m != nil {
  833. return m.Collection
  834. }
  835. return ""
  836. }
  837. func (m *VolumeEcShardsMountRequest) GetShardIds() []uint32 {
  838. if m != nil {
  839. return m.ShardIds
  840. }
  841. return nil
  842. }
  843. type VolumeEcShardsMountResponse struct {
  844. }
  845. func (m *VolumeEcShardsMountResponse) Reset() { *m = VolumeEcShardsMountResponse{} }
  846. func (m *VolumeEcShardsMountResponse) String() string { return proto.CompactTextString(m) }
  847. func (*VolumeEcShardsMountResponse) ProtoMessage() {}
  848. func (*VolumeEcShardsMountResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{43} }
  849. type VolumeEcShardsUnmountRequest struct {
  850. VolumeId uint32 `protobuf:"varint,1,opt,name=volume_id,json=volumeId" json:"volume_id,omitempty"`
  851. ShardIds []uint32 `protobuf:"varint,3,rep,packed,name=shard_ids,json=shardIds" json:"shard_ids,omitempty"`
  852. }
  853. func (m *VolumeEcShardsUnmountRequest) Reset() { *m = VolumeEcShardsUnmountRequest{} }
  854. func (m *VolumeEcShardsUnmountRequest) String() string { return proto.CompactTextString(m) }
  855. func (*VolumeEcShardsUnmountRequest) ProtoMessage() {}
  856. func (*VolumeEcShardsUnmountRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{44} }
  857. func (m *VolumeEcShardsUnmountRequest) GetVolumeId() uint32 {
  858. if m != nil {
  859. return m.VolumeId
  860. }
  861. return 0
  862. }
  863. func (m *VolumeEcShardsUnmountRequest) GetShardIds() []uint32 {
  864. if m != nil {
  865. return m.ShardIds
  866. }
  867. return nil
  868. }
  869. type VolumeEcShardsUnmountResponse struct {
  870. }
  871. func (m *VolumeEcShardsUnmountResponse) Reset() { *m = VolumeEcShardsUnmountResponse{} }
  872. func (m *VolumeEcShardsUnmountResponse) String() string { return proto.CompactTextString(m) }
  873. func (*VolumeEcShardsUnmountResponse) ProtoMessage() {}
  874. func (*VolumeEcShardsUnmountResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{45} }
  875. type VolumeEcShardReadRequest struct {
  876. VolumeId uint32 `protobuf:"varint,1,opt,name=volume_id,json=volumeId" json:"volume_id,omitempty"`
  877. ShardId uint32 `protobuf:"varint,2,opt,name=shard_id,json=shardId" json:"shard_id,omitempty"`
  878. Offset int64 `protobuf:"varint,3,opt,name=offset" json:"offset,omitempty"`
  879. Size int64 `protobuf:"varint,4,opt,name=size" json:"size,omitempty"`
  880. FileKey uint64 `protobuf:"varint,5,opt,name=file_key,json=fileKey" json:"file_key,omitempty"`
  881. }
  882. func (m *VolumeEcShardReadRequest) Reset() { *m = VolumeEcShardReadRequest{} }
  883. func (m *VolumeEcShardReadRequest) String() string { return proto.CompactTextString(m) }
  884. func (*VolumeEcShardReadRequest) ProtoMessage() {}
  885. func (*VolumeEcShardReadRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{46} }
  886. func (m *VolumeEcShardReadRequest) GetVolumeId() uint32 {
  887. if m != nil {
  888. return m.VolumeId
  889. }
  890. return 0
  891. }
  892. func (m *VolumeEcShardReadRequest) GetShardId() uint32 {
  893. if m != nil {
  894. return m.ShardId
  895. }
  896. return 0
  897. }
  898. func (m *VolumeEcShardReadRequest) GetOffset() int64 {
  899. if m != nil {
  900. return m.Offset
  901. }
  902. return 0
  903. }
  904. func (m *VolumeEcShardReadRequest) GetSize() int64 {
  905. if m != nil {
  906. return m.Size
  907. }
  908. return 0
  909. }
  910. func (m *VolumeEcShardReadRequest) GetFileKey() uint64 {
  911. if m != nil {
  912. return m.FileKey
  913. }
  914. return 0
  915. }
  916. type VolumeEcShardReadResponse struct {
  917. Data []byte `protobuf:"bytes,1,opt,name=data,proto3" json:"data,omitempty"`
  918. IsDeleted bool `protobuf:"varint,2,opt,name=is_deleted,json=isDeleted" json:"is_deleted,omitempty"`
  919. }
  920. func (m *VolumeEcShardReadResponse) Reset() { *m = VolumeEcShardReadResponse{} }
  921. func (m *VolumeEcShardReadResponse) String() string { return proto.CompactTextString(m) }
  922. func (*VolumeEcShardReadResponse) ProtoMessage() {}
  923. func (*VolumeEcShardReadResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{47} }
  924. func (m *VolumeEcShardReadResponse) GetData() []byte {
  925. if m != nil {
  926. return m.Data
  927. }
  928. return nil
  929. }
  930. func (m *VolumeEcShardReadResponse) GetIsDeleted() bool {
  931. if m != nil {
  932. return m.IsDeleted
  933. }
  934. return false
  935. }
  936. type VolumeEcBlobDeleteRequest struct {
  937. VolumeId uint32 `protobuf:"varint,1,opt,name=volume_id,json=volumeId" json:"volume_id,omitempty"`
  938. Collection string `protobuf:"bytes,2,opt,name=collection" json:"collection,omitempty"`
  939. FileKey uint64 `protobuf:"varint,3,opt,name=file_key,json=fileKey" json:"file_key,omitempty"`
  940. Version uint32 `protobuf:"varint,4,opt,name=version" json:"version,omitempty"`
  941. }
  942. func (m *VolumeEcBlobDeleteRequest) Reset() { *m = VolumeEcBlobDeleteRequest{} }
  943. func (m *VolumeEcBlobDeleteRequest) String() string { return proto.CompactTextString(m) }
  944. func (*VolumeEcBlobDeleteRequest) ProtoMessage() {}
  945. func (*VolumeEcBlobDeleteRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{48} }
  946. func (m *VolumeEcBlobDeleteRequest) GetVolumeId() uint32 {
  947. if m != nil {
  948. return m.VolumeId
  949. }
  950. return 0
  951. }
  952. func (m *VolumeEcBlobDeleteRequest) GetCollection() string {
  953. if m != nil {
  954. return m.Collection
  955. }
  956. return ""
  957. }
  958. func (m *VolumeEcBlobDeleteRequest) GetFileKey() uint64 {
  959. if m != nil {
  960. return m.FileKey
  961. }
  962. return 0
  963. }
  964. func (m *VolumeEcBlobDeleteRequest) GetVersion() uint32 {
  965. if m != nil {
  966. return m.Version
  967. }
  968. return 0
  969. }
  970. type VolumeEcBlobDeleteResponse struct {
  971. }
  972. func (m *VolumeEcBlobDeleteResponse) Reset() { *m = VolumeEcBlobDeleteResponse{} }
  973. func (m *VolumeEcBlobDeleteResponse) String() string { return proto.CompactTextString(m) }
  974. func (*VolumeEcBlobDeleteResponse) ProtoMessage() {}
  975. func (*VolumeEcBlobDeleteResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{49} }
  976. type ReadVolumeFileStatusRequest struct {
  977. VolumeId uint32 `protobuf:"varint,1,opt,name=volume_id,json=volumeId" json:"volume_id,omitempty"`
  978. }
  979. func (m *ReadVolumeFileStatusRequest) Reset() { *m = ReadVolumeFileStatusRequest{} }
  980. func (m *ReadVolumeFileStatusRequest) String() string { return proto.CompactTextString(m) }
  981. func (*ReadVolumeFileStatusRequest) ProtoMessage() {}
  982. func (*ReadVolumeFileStatusRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{50} }
  983. func (m *ReadVolumeFileStatusRequest) GetVolumeId() uint32 {
  984. if m != nil {
  985. return m.VolumeId
  986. }
  987. return 0
  988. }
  989. type ReadVolumeFileStatusResponse struct {
  990. VolumeId uint32 `protobuf:"varint,1,opt,name=volume_id,json=volumeId" json:"volume_id,omitempty"`
  991. IdxFileTimestampSeconds uint64 `protobuf:"varint,2,opt,name=idx_file_timestamp_seconds,json=idxFileTimestampSeconds" json:"idx_file_timestamp_seconds,omitempty"`
  992. IdxFileSize uint64 `protobuf:"varint,3,opt,name=idx_file_size,json=idxFileSize" json:"idx_file_size,omitempty"`
  993. DatFileTimestampSeconds uint64 `protobuf:"varint,4,opt,name=dat_file_timestamp_seconds,json=datFileTimestampSeconds" json:"dat_file_timestamp_seconds,omitempty"`
  994. DatFileSize uint64 `protobuf:"varint,5,opt,name=dat_file_size,json=datFileSize" json:"dat_file_size,omitempty"`
  995. FileCount uint64 `protobuf:"varint,6,opt,name=file_count,json=fileCount" json:"file_count,omitempty"`
  996. CompactionRevision uint32 `protobuf:"varint,7,opt,name=compaction_revision,json=compactionRevision" json:"compaction_revision,omitempty"`
  997. Collection string `protobuf:"bytes,8,opt,name=collection" json:"collection,omitempty"`
  998. }
  999. func (m *ReadVolumeFileStatusResponse) Reset() { *m = ReadVolumeFileStatusResponse{} }
  1000. func (m *ReadVolumeFileStatusResponse) String() string { return proto.CompactTextString(m) }
  1001. func (*ReadVolumeFileStatusResponse) ProtoMessage() {}
  1002. func (*ReadVolumeFileStatusResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{51} }
  1003. func (m *ReadVolumeFileStatusResponse) GetVolumeId() uint32 {
  1004. if m != nil {
  1005. return m.VolumeId
  1006. }
  1007. return 0
  1008. }
  1009. func (m *ReadVolumeFileStatusResponse) GetIdxFileTimestampSeconds() uint64 {
  1010. if m != nil {
  1011. return m.IdxFileTimestampSeconds
  1012. }
  1013. return 0
  1014. }
  1015. func (m *ReadVolumeFileStatusResponse) GetIdxFileSize() uint64 {
  1016. if m != nil {
  1017. return m.IdxFileSize
  1018. }
  1019. return 0
  1020. }
  1021. func (m *ReadVolumeFileStatusResponse) GetDatFileTimestampSeconds() uint64 {
  1022. if m != nil {
  1023. return m.DatFileTimestampSeconds
  1024. }
  1025. return 0
  1026. }
  1027. func (m *ReadVolumeFileStatusResponse) GetDatFileSize() uint64 {
  1028. if m != nil {
  1029. return m.DatFileSize
  1030. }
  1031. return 0
  1032. }
  1033. func (m *ReadVolumeFileStatusResponse) GetFileCount() uint64 {
  1034. if m != nil {
  1035. return m.FileCount
  1036. }
  1037. return 0
  1038. }
  1039. func (m *ReadVolumeFileStatusResponse) GetCompactionRevision() uint32 {
  1040. if m != nil {
  1041. return m.CompactionRevision
  1042. }
  1043. return 0
  1044. }
  1045. func (m *ReadVolumeFileStatusResponse) GetCollection() string {
  1046. if m != nil {
  1047. return m.Collection
  1048. }
  1049. return ""
  1050. }
  1051. type DiskStatus struct {
  1052. Dir string `protobuf:"bytes,1,opt,name=dir" json:"dir,omitempty"`
  1053. All uint64 `protobuf:"varint,2,opt,name=all" json:"all,omitempty"`
  1054. Used uint64 `protobuf:"varint,3,opt,name=used" json:"used,omitempty"`
  1055. Free uint64 `protobuf:"varint,4,opt,name=free" json:"free,omitempty"`
  1056. }
  1057. func (m *DiskStatus) Reset() { *m = DiskStatus{} }
  1058. func (m *DiskStatus) String() string { return proto.CompactTextString(m) }
  1059. func (*DiskStatus) ProtoMessage() {}
  1060. func (*DiskStatus) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{52} }
  1061. func (m *DiskStatus) GetDir() string {
  1062. if m != nil {
  1063. return m.Dir
  1064. }
  1065. return ""
  1066. }
  1067. func (m *DiskStatus) GetAll() uint64 {
  1068. if m != nil {
  1069. return m.All
  1070. }
  1071. return 0
  1072. }
  1073. func (m *DiskStatus) GetUsed() uint64 {
  1074. if m != nil {
  1075. return m.Used
  1076. }
  1077. return 0
  1078. }
  1079. func (m *DiskStatus) GetFree() uint64 {
  1080. if m != nil {
  1081. return m.Free
  1082. }
  1083. return 0
  1084. }
  1085. type MemStatus struct {
  1086. Goroutines int32 `protobuf:"varint,1,opt,name=goroutines" json:"goroutines,omitempty"`
  1087. All uint64 `protobuf:"varint,2,opt,name=all" json:"all,omitempty"`
  1088. Used uint64 `protobuf:"varint,3,opt,name=used" json:"used,omitempty"`
  1089. Free uint64 `protobuf:"varint,4,opt,name=free" json:"free,omitempty"`
  1090. Self uint64 `protobuf:"varint,5,opt,name=self" json:"self,omitempty"`
  1091. Heap uint64 `protobuf:"varint,6,opt,name=heap" json:"heap,omitempty"`
  1092. Stack uint64 `protobuf:"varint,7,opt,name=stack" json:"stack,omitempty"`
  1093. }
  1094. func (m *MemStatus) Reset() { *m = MemStatus{} }
  1095. func (m *MemStatus) String() string { return proto.CompactTextString(m) }
  1096. func (*MemStatus) ProtoMessage() {}
  1097. func (*MemStatus) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{53} }
  1098. func (m *MemStatus) GetGoroutines() int32 {
  1099. if m != nil {
  1100. return m.Goroutines
  1101. }
  1102. return 0
  1103. }
  1104. func (m *MemStatus) GetAll() uint64 {
  1105. if m != nil {
  1106. return m.All
  1107. }
  1108. return 0
  1109. }
  1110. func (m *MemStatus) GetUsed() uint64 {
  1111. if m != nil {
  1112. return m.Used
  1113. }
  1114. return 0
  1115. }
  1116. func (m *MemStatus) GetFree() uint64 {
  1117. if m != nil {
  1118. return m.Free
  1119. }
  1120. return 0
  1121. }
  1122. func (m *MemStatus) GetSelf() uint64 {
  1123. if m != nil {
  1124. return m.Self
  1125. }
  1126. return 0
  1127. }
  1128. func (m *MemStatus) GetHeap() uint64 {
  1129. if m != nil {
  1130. return m.Heap
  1131. }
  1132. return 0
  1133. }
  1134. func (m *MemStatus) GetStack() uint64 {
  1135. if m != nil {
  1136. return m.Stack
  1137. }
  1138. return 0
  1139. }
  1140. func init() {
  1141. proto.RegisterType((*BatchDeleteRequest)(nil), "volume_server_pb.BatchDeleteRequest")
  1142. proto.RegisterType((*BatchDeleteResponse)(nil), "volume_server_pb.BatchDeleteResponse")
  1143. proto.RegisterType((*DeleteResult)(nil), "volume_server_pb.DeleteResult")
  1144. proto.RegisterType((*Empty)(nil), "volume_server_pb.Empty")
  1145. proto.RegisterType((*VacuumVolumeCheckRequest)(nil), "volume_server_pb.VacuumVolumeCheckRequest")
  1146. proto.RegisterType((*VacuumVolumeCheckResponse)(nil), "volume_server_pb.VacuumVolumeCheckResponse")
  1147. proto.RegisterType((*VacuumVolumeCompactRequest)(nil), "volume_server_pb.VacuumVolumeCompactRequest")
  1148. proto.RegisterType((*VacuumVolumeCompactResponse)(nil), "volume_server_pb.VacuumVolumeCompactResponse")
  1149. proto.RegisterType((*VacuumVolumeCommitRequest)(nil), "volume_server_pb.VacuumVolumeCommitRequest")
  1150. proto.RegisterType((*VacuumVolumeCommitResponse)(nil), "volume_server_pb.VacuumVolumeCommitResponse")
  1151. proto.RegisterType((*VacuumVolumeCleanupRequest)(nil), "volume_server_pb.VacuumVolumeCleanupRequest")
  1152. proto.RegisterType((*VacuumVolumeCleanupResponse)(nil), "volume_server_pb.VacuumVolumeCleanupResponse")
  1153. proto.RegisterType((*DeleteCollectionRequest)(nil), "volume_server_pb.DeleteCollectionRequest")
  1154. proto.RegisterType((*DeleteCollectionResponse)(nil), "volume_server_pb.DeleteCollectionResponse")
  1155. proto.RegisterType((*AllocateVolumeRequest)(nil), "volume_server_pb.AllocateVolumeRequest")
  1156. proto.RegisterType((*AllocateVolumeResponse)(nil), "volume_server_pb.AllocateVolumeResponse")
  1157. proto.RegisterType((*VolumeSyncStatusRequest)(nil), "volume_server_pb.VolumeSyncStatusRequest")
  1158. proto.RegisterType((*VolumeSyncStatusResponse)(nil), "volume_server_pb.VolumeSyncStatusResponse")
  1159. proto.RegisterType((*VolumeIncrementalCopyRequest)(nil), "volume_server_pb.VolumeIncrementalCopyRequest")
  1160. proto.RegisterType((*VolumeIncrementalCopyResponse)(nil), "volume_server_pb.VolumeIncrementalCopyResponse")
  1161. proto.RegisterType((*VolumeMountRequest)(nil), "volume_server_pb.VolumeMountRequest")
  1162. proto.RegisterType((*VolumeMountResponse)(nil), "volume_server_pb.VolumeMountResponse")
  1163. proto.RegisterType((*VolumeUnmountRequest)(nil), "volume_server_pb.VolumeUnmountRequest")
  1164. proto.RegisterType((*VolumeUnmountResponse)(nil), "volume_server_pb.VolumeUnmountResponse")
  1165. proto.RegisterType((*VolumeDeleteRequest)(nil), "volume_server_pb.VolumeDeleteRequest")
  1166. proto.RegisterType((*VolumeDeleteResponse)(nil), "volume_server_pb.VolumeDeleteResponse")
  1167. proto.RegisterType((*VolumeCopyRequest)(nil), "volume_server_pb.VolumeCopyRequest")
  1168. proto.RegisterType((*VolumeCopyResponse)(nil), "volume_server_pb.VolumeCopyResponse")
  1169. proto.RegisterType((*CopyFileRequest)(nil), "volume_server_pb.CopyFileRequest")
  1170. proto.RegisterType((*CopyFileResponse)(nil), "volume_server_pb.CopyFileResponse")
  1171. proto.RegisterType((*VolumeTailSenderRequest)(nil), "volume_server_pb.VolumeTailSenderRequest")
  1172. proto.RegisterType((*VolumeTailSenderResponse)(nil), "volume_server_pb.VolumeTailSenderResponse")
  1173. proto.RegisterType((*VolumeTailReceiverRequest)(nil), "volume_server_pb.VolumeTailReceiverRequest")
  1174. proto.RegisterType((*VolumeTailReceiverResponse)(nil), "volume_server_pb.VolumeTailReceiverResponse")
  1175. proto.RegisterType((*VolumeEcShardsGenerateRequest)(nil), "volume_server_pb.VolumeEcShardsGenerateRequest")
  1176. proto.RegisterType((*VolumeEcShardsGenerateResponse)(nil), "volume_server_pb.VolumeEcShardsGenerateResponse")
  1177. proto.RegisterType((*VolumeEcShardsRebuildRequest)(nil), "volume_server_pb.VolumeEcShardsRebuildRequest")
  1178. proto.RegisterType((*VolumeEcShardsRebuildResponse)(nil), "volume_server_pb.VolumeEcShardsRebuildResponse")
  1179. proto.RegisterType((*VolumeEcShardsCopyRequest)(nil), "volume_server_pb.VolumeEcShardsCopyRequest")
  1180. proto.RegisterType((*VolumeEcShardsCopyResponse)(nil), "volume_server_pb.VolumeEcShardsCopyResponse")
  1181. proto.RegisterType((*VolumeEcShardsDeleteRequest)(nil), "volume_server_pb.VolumeEcShardsDeleteRequest")
  1182. proto.RegisterType((*VolumeEcShardsDeleteResponse)(nil), "volume_server_pb.VolumeEcShardsDeleteResponse")
  1183. proto.RegisterType((*VolumeEcShardsMountRequest)(nil), "volume_server_pb.VolumeEcShardsMountRequest")
  1184. proto.RegisterType((*VolumeEcShardsMountResponse)(nil), "volume_server_pb.VolumeEcShardsMountResponse")
  1185. proto.RegisterType((*VolumeEcShardsUnmountRequest)(nil), "volume_server_pb.VolumeEcShardsUnmountRequest")
  1186. proto.RegisterType((*VolumeEcShardsUnmountResponse)(nil), "volume_server_pb.VolumeEcShardsUnmountResponse")
  1187. proto.RegisterType((*VolumeEcShardReadRequest)(nil), "volume_server_pb.VolumeEcShardReadRequest")
  1188. proto.RegisterType((*VolumeEcShardReadResponse)(nil), "volume_server_pb.VolumeEcShardReadResponse")
  1189. proto.RegisterType((*VolumeEcBlobDeleteRequest)(nil), "volume_server_pb.VolumeEcBlobDeleteRequest")
  1190. proto.RegisterType((*VolumeEcBlobDeleteResponse)(nil), "volume_server_pb.VolumeEcBlobDeleteResponse")
  1191. proto.RegisterType((*ReadVolumeFileStatusRequest)(nil), "volume_server_pb.ReadVolumeFileStatusRequest")
  1192. proto.RegisterType((*ReadVolumeFileStatusResponse)(nil), "volume_server_pb.ReadVolumeFileStatusResponse")
  1193. proto.RegisterType((*DiskStatus)(nil), "volume_server_pb.DiskStatus")
  1194. proto.RegisterType((*MemStatus)(nil), "volume_server_pb.MemStatus")
  1195. }
  1196. // Reference imports to suppress errors if they are not otherwise used.
  1197. var _ context.Context
  1198. var _ grpc.ClientConn
  1199. // This is a compile-time assertion to ensure that this generated file
  1200. // is compatible with the grpc package it is being compiled against.
  1201. const _ = grpc.SupportPackageIsVersion4
  1202. // Client API for VolumeServer service
  1203. type VolumeServerClient interface {
  1204. // Experts only: takes multiple fid parameters. This function does not propagate deletes to replicas.
  1205. BatchDelete(ctx context.Context, in *BatchDeleteRequest, opts ...grpc.CallOption) (*BatchDeleteResponse, error)
  1206. VacuumVolumeCheck(ctx context.Context, in *VacuumVolumeCheckRequest, opts ...grpc.CallOption) (*VacuumVolumeCheckResponse, error)
  1207. VacuumVolumeCompact(ctx context.Context, in *VacuumVolumeCompactRequest, opts ...grpc.CallOption) (*VacuumVolumeCompactResponse, error)
  1208. VacuumVolumeCommit(ctx context.Context, in *VacuumVolumeCommitRequest, opts ...grpc.CallOption) (*VacuumVolumeCommitResponse, error)
  1209. VacuumVolumeCleanup(ctx context.Context, in *VacuumVolumeCleanupRequest, opts ...grpc.CallOption) (*VacuumVolumeCleanupResponse, error)
  1210. DeleteCollection(ctx context.Context, in *DeleteCollectionRequest, opts ...grpc.CallOption) (*DeleteCollectionResponse, error)
  1211. AllocateVolume(ctx context.Context, in *AllocateVolumeRequest, opts ...grpc.CallOption) (*AllocateVolumeResponse, error)
  1212. VolumeSyncStatus(ctx context.Context, in *VolumeSyncStatusRequest, opts ...grpc.CallOption) (*VolumeSyncStatusResponse, error)
  1213. VolumeIncrementalCopy(ctx context.Context, in *VolumeIncrementalCopyRequest, opts ...grpc.CallOption) (VolumeServer_VolumeIncrementalCopyClient, error)
  1214. VolumeMount(ctx context.Context, in *VolumeMountRequest, opts ...grpc.CallOption) (*VolumeMountResponse, error)
  1215. VolumeUnmount(ctx context.Context, in *VolumeUnmountRequest, opts ...grpc.CallOption) (*VolumeUnmountResponse, error)
  1216. VolumeDelete(ctx context.Context, in *VolumeDeleteRequest, opts ...grpc.CallOption) (*VolumeDeleteResponse, error)
  1217. // copy the .idx .dat files, and mount this volume
  1218. VolumeCopy(ctx context.Context, in *VolumeCopyRequest, opts ...grpc.CallOption) (*VolumeCopyResponse, error)
  1219. ReadVolumeFileStatus(ctx context.Context, in *ReadVolumeFileStatusRequest, opts ...grpc.CallOption) (*ReadVolumeFileStatusResponse, error)
  1220. CopyFile(ctx context.Context, in *CopyFileRequest, opts ...grpc.CallOption) (VolumeServer_CopyFileClient, error)
  1221. VolumeTailSender(ctx context.Context, in *VolumeTailSenderRequest, opts ...grpc.CallOption) (VolumeServer_VolumeTailSenderClient, error)
  1222. VolumeTailReceiver(ctx context.Context, in *VolumeTailReceiverRequest, opts ...grpc.CallOption) (*VolumeTailReceiverResponse, error)
  1223. // erasure coding
  1224. VolumeEcShardsGenerate(ctx context.Context, in *VolumeEcShardsGenerateRequest, opts ...grpc.CallOption) (*VolumeEcShardsGenerateResponse, error)
  1225. VolumeEcShardsRebuild(ctx context.Context, in *VolumeEcShardsRebuildRequest, opts ...grpc.CallOption) (*VolumeEcShardsRebuildResponse, error)
  1226. VolumeEcShardsCopy(ctx context.Context, in *VolumeEcShardsCopyRequest, opts ...grpc.CallOption) (*VolumeEcShardsCopyResponse, error)
  1227. VolumeEcShardsDelete(ctx context.Context, in *VolumeEcShardsDeleteRequest, opts ...grpc.CallOption) (*VolumeEcShardsDeleteResponse, error)
  1228. VolumeEcShardsMount(ctx context.Context, in *VolumeEcShardsMountRequest, opts ...grpc.CallOption) (*VolumeEcShardsMountResponse, error)
  1229. VolumeEcShardsUnmount(ctx context.Context, in *VolumeEcShardsUnmountRequest, opts ...grpc.CallOption) (*VolumeEcShardsUnmountResponse, error)
  1230. VolumeEcShardRead(ctx context.Context, in *VolumeEcShardReadRequest, opts ...grpc.CallOption) (VolumeServer_VolumeEcShardReadClient, error)
  1231. VolumeEcBlobDelete(ctx context.Context, in *VolumeEcBlobDeleteRequest, opts ...grpc.CallOption) (*VolumeEcBlobDeleteResponse, error)
  1232. }
  1233. type volumeServerClient struct {
  1234. cc *grpc.ClientConn
  1235. }
  1236. func NewVolumeServerClient(cc *grpc.ClientConn) VolumeServerClient {
  1237. return &volumeServerClient{cc}
  1238. }
  1239. func (c *volumeServerClient) BatchDelete(ctx context.Context, in *BatchDeleteRequest, opts ...grpc.CallOption) (*BatchDeleteResponse, error) {
  1240. out := new(BatchDeleteResponse)
  1241. err := grpc.Invoke(ctx, "/volume_server_pb.VolumeServer/BatchDelete", in, out, c.cc, opts...)
  1242. if err != nil {
  1243. return nil, err
  1244. }
  1245. return out, nil
  1246. }
  1247. func (c *volumeServerClient) VacuumVolumeCheck(ctx context.Context, in *VacuumVolumeCheckRequest, opts ...grpc.CallOption) (*VacuumVolumeCheckResponse, error) {
  1248. out := new(VacuumVolumeCheckResponse)
  1249. err := grpc.Invoke(ctx, "/volume_server_pb.VolumeServer/VacuumVolumeCheck", in, out, c.cc, opts...)
  1250. if err != nil {
  1251. return nil, err
  1252. }
  1253. return out, nil
  1254. }
  1255. func (c *volumeServerClient) VacuumVolumeCompact(ctx context.Context, in *VacuumVolumeCompactRequest, opts ...grpc.CallOption) (*VacuumVolumeCompactResponse, error) {
  1256. out := new(VacuumVolumeCompactResponse)
  1257. err := grpc.Invoke(ctx, "/volume_server_pb.VolumeServer/VacuumVolumeCompact", in, out, c.cc, opts...)
  1258. if err != nil {
  1259. return nil, err
  1260. }
  1261. return out, nil
  1262. }
  1263. func (c *volumeServerClient) VacuumVolumeCommit(ctx context.Context, in *VacuumVolumeCommitRequest, opts ...grpc.CallOption) (*VacuumVolumeCommitResponse, error) {
  1264. out := new(VacuumVolumeCommitResponse)
  1265. err := grpc.Invoke(ctx, "/volume_server_pb.VolumeServer/VacuumVolumeCommit", in, out, c.cc, opts...)
  1266. if err != nil {
  1267. return nil, err
  1268. }
  1269. return out, nil
  1270. }
  1271. func (c *volumeServerClient) VacuumVolumeCleanup(ctx context.Context, in *VacuumVolumeCleanupRequest, opts ...grpc.CallOption) (*VacuumVolumeCleanupResponse, error) {
  1272. out := new(VacuumVolumeCleanupResponse)
  1273. err := grpc.Invoke(ctx, "/volume_server_pb.VolumeServer/VacuumVolumeCleanup", in, out, c.cc, opts...)
  1274. if err != nil {
  1275. return nil, err
  1276. }
  1277. return out, nil
  1278. }
  1279. func (c *volumeServerClient) DeleteCollection(ctx context.Context, in *DeleteCollectionRequest, opts ...grpc.CallOption) (*DeleteCollectionResponse, error) {
  1280. out := new(DeleteCollectionResponse)
  1281. err := grpc.Invoke(ctx, "/volume_server_pb.VolumeServer/DeleteCollection", in, out, c.cc, opts...)
  1282. if err != nil {
  1283. return nil, err
  1284. }
  1285. return out, nil
  1286. }
  1287. func (c *volumeServerClient) AllocateVolume(ctx context.Context, in *AllocateVolumeRequest, opts ...grpc.CallOption) (*AllocateVolumeResponse, error) {
  1288. out := new(AllocateVolumeResponse)
  1289. err := grpc.Invoke(ctx, "/volume_server_pb.VolumeServer/AllocateVolume", in, out, c.cc, opts...)
  1290. if err != nil {
  1291. return nil, err
  1292. }
  1293. return out, nil
  1294. }
  1295. func (c *volumeServerClient) VolumeSyncStatus(ctx context.Context, in *VolumeSyncStatusRequest, opts ...grpc.CallOption) (*VolumeSyncStatusResponse, error) {
  1296. out := new(VolumeSyncStatusResponse)
  1297. err := grpc.Invoke(ctx, "/volume_server_pb.VolumeServer/VolumeSyncStatus", in, out, c.cc, opts...)
  1298. if err != nil {
  1299. return nil, err
  1300. }
  1301. return out, nil
  1302. }
  1303. func (c *volumeServerClient) VolumeIncrementalCopy(ctx context.Context, in *VolumeIncrementalCopyRequest, opts ...grpc.CallOption) (VolumeServer_VolumeIncrementalCopyClient, error) {
  1304. stream, err := grpc.NewClientStream(ctx, &_VolumeServer_serviceDesc.Streams[0], c.cc, "/volume_server_pb.VolumeServer/VolumeIncrementalCopy", opts...)
  1305. if err != nil {
  1306. return nil, err
  1307. }
  1308. x := &volumeServerVolumeIncrementalCopyClient{stream}
  1309. if err := x.ClientStream.SendMsg(in); err != nil {
  1310. return nil, err
  1311. }
  1312. if err := x.ClientStream.CloseSend(); err != nil {
  1313. return nil, err
  1314. }
  1315. return x, nil
  1316. }
  1317. type VolumeServer_VolumeIncrementalCopyClient interface {
  1318. Recv() (*VolumeIncrementalCopyResponse, error)
  1319. grpc.ClientStream
  1320. }
  1321. type volumeServerVolumeIncrementalCopyClient struct {
  1322. grpc.ClientStream
  1323. }
  1324. func (x *volumeServerVolumeIncrementalCopyClient) Recv() (*VolumeIncrementalCopyResponse, error) {
  1325. m := new(VolumeIncrementalCopyResponse)
  1326. if err := x.ClientStream.RecvMsg(m); err != nil {
  1327. return nil, err
  1328. }
  1329. return m, nil
  1330. }
  1331. func (c *volumeServerClient) VolumeMount(ctx context.Context, in *VolumeMountRequest, opts ...grpc.CallOption) (*VolumeMountResponse, error) {
  1332. out := new(VolumeMountResponse)
  1333. err := grpc.Invoke(ctx, "/volume_server_pb.VolumeServer/VolumeMount", in, out, c.cc, opts...)
  1334. if err != nil {
  1335. return nil, err
  1336. }
  1337. return out, nil
  1338. }
  1339. func (c *volumeServerClient) VolumeUnmount(ctx context.Context, in *VolumeUnmountRequest, opts ...grpc.CallOption) (*VolumeUnmountResponse, error) {
  1340. out := new(VolumeUnmountResponse)
  1341. err := grpc.Invoke(ctx, "/volume_server_pb.VolumeServer/VolumeUnmount", in, out, c.cc, opts...)
  1342. if err != nil {
  1343. return nil, err
  1344. }
  1345. return out, nil
  1346. }
  1347. func (c *volumeServerClient) VolumeDelete(ctx context.Context, in *VolumeDeleteRequest, opts ...grpc.CallOption) (*VolumeDeleteResponse, error) {
  1348. out := new(VolumeDeleteResponse)
  1349. err := grpc.Invoke(ctx, "/volume_server_pb.VolumeServer/VolumeDelete", in, out, c.cc, opts...)
  1350. if err != nil {
  1351. return nil, err
  1352. }
  1353. return out, nil
  1354. }
  1355. func (c *volumeServerClient) VolumeCopy(ctx context.Context, in *VolumeCopyRequest, opts ...grpc.CallOption) (*VolumeCopyResponse, error) {
  1356. out := new(VolumeCopyResponse)
  1357. err := grpc.Invoke(ctx, "/volume_server_pb.VolumeServer/VolumeCopy", in, out, c.cc, opts...)
  1358. if err != nil {
  1359. return nil, err
  1360. }
  1361. return out, nil
  1362. }
  1363. func (c *volumeServerClient) ReadVolumeFileStatus(ctx context.Context, in *ReadVolumeFileStatusRequest, opts ...grpc.CallOption) (*ReadVolumeFileStatusResponse, error) {
  1364. out := new(ReadVolumeFileStatusResponse)
  1365. err := grpc.Invoke(ctx, "/volume_server_pb.VolumeServer/ReadVolumeFileStatus", in, out, c.cc, opts...)
  1366. if err != nil {
  1367. return nil, err
  1368. }
  1369. return out, nil
  1370. }
  1371. func (c *volumeServerClient) CopyFile(ctx context.Context, in *CopyFileRequest, opts ...grpc.CallOption) (VolumeServer_CopyFileClient, error) {
  1372. stream, err := grpc.NewClientStream(ctx, &_VolumeServer_serviceDesc.Streams[1], c.cc, "/volume_server_pb.VolumeServer/CopyFile", opts...)
  1373. if err != nil {
  1374. return nil, err
  1375. }
  1376. x := &volumeServerCopyFileClient{stream}
  1377. if err := x.ClientStream.SendMsg(in); err != nil {
  1378. return nil, err
  1379. }
  1380. if err := x.ClientStream.CloseSend(); err != nil {
  1381. return nil, err
  1382. }
  1383. return x, nil
  1384. }
  1385. type VolumeServer_CopyFileClient interface {
  1386. Recv() (*CopyFileResponse, error)
  1387. grpc.ClientStream
  1388. }
  1389. type volumeServerCopyFileClient struct {
  1390. grpc.ClientStream
  1391. }
  1392. func (x *volumeServerCopyFileClient) Recv() (*CopyFileResponse, error) {
  1393. m := new(CopyFileResponse)
  1394. if err := x.ClientStream.RecvMsg(m); err != nil {
  1395. return nil, err
  1396. }
  1397. return m, nil
  1398. }
  1399. func (c *volumeServerClient) VolumeTailSender(ctx context.Context, in *VolumeTailSenderRequest, opts ...grpc.CallOption) (VolumeServer_VolumeTailSenderClient, error) {
  1400. stream, err := grpc.NewClientStream(ctx, &_VolumeServer_serviceDesc.Streams[2], c.cc, "/volume_server_pb.VolumeServer/VolumeTailSender", opts...)
  1401. if err != nil {
  1402. return nil, err
  1403. }
  1404. x := &volumeServerVolumeTailSenderClient{stream}
  1405. if err := x.ClientStream.SendMsg(in); err != nil {
  1406. return nil, err
  1407. }
  1408. if err := x.ClientStream.CloseSend(); err != nil {
  1409. return nil, err
  1410. }
  1411. return x, nil
  1412. }
  1413. type VolumeServer_VolumeTailSenderClient interface {
  1414. Recv() (*VolumeTailSenderResponse, error)
  1415. grpc.ClientStream
  1416. }
  1417. type volumeServerVolumeTailSenderClient struct {
  1418. grpc.ClientStream
  1419. }
  1420. func (x *volumeServerVolumeTailSenderClient) Recv() (*VolumeTailSenderResponse, error) {
  1421. m := new(VolumeTailSenderResponse)
  1422. if err := x.ClientStream.RecvMsg(m); err != nil {
  1423. return nil, err
  1424. }
  1425. return m, nil
  1426. }
  1427. func (c *volumeServerClient) VolumeTailReceiver(ctx context.Context, in *VolumeTailReceiverRequest, opts ...grpc.CallOption) (*VolumeTailReceiverResponse, error) {
  1428. out := new(VolumeTailReceiverResponse)
  1429. err := grpc.Invoke(ctx, "/volume_server_pb.VolumeServer/VolumeTailReceiver", in, out, c.cc, opts...)
  1430. if err != nil {
  1431. return nil, err
  1432. }
  1433. return out, nil
  1434. }
  1435. func (c *volumeServerClient) VolumeEcShardsGenerate(ctx context.Context, in *VolumeEcShardsGenerateRequest, opts ...grpc.CallOption) (*VolumeEcShardsGenerateResponse, error) {
  1436. out := new(VolumeEcShardsGenerateResponse)
  1437. err := grpc.Invoke(ctx, "/volume_server_pb.VolumeServer/VolumeEcShardsGenerate", in, out, c.cc, opts...)
  1438. if err != nil {
  1439. return nil, err
  1440. }
  1441. return out, nil
  1442. }
  1443. func (c *volumeServerClient) VolumeEcShardsRebuild(ctx context.Context, in *VolumeEcShardsRebuildRequest, opts ...grpc.CallOption) (*VolumeEcShardsRebuildResponse, error) {
  1444. out := new(VolumeEcShardsRebuildResponse)
  1445. err := grpc.Invoke(ctx, "/volume_server_pb.VolumeServer/VolumeEcShardsRebuild", in, out, c.cc, opts...)
  1446. if err != nil {
  1447. return nil, err
  1448. }
  1449. return out, nil
  1450. }
  1451. func (c *volumeServerClient) VolumeEcShardsCopy(ctx context.Context, in *VolumeEcShardsCopyRequest, opts ...grpc.CallOption) (*VolumeEcShardsCopyResponse, error) {
  1452. out := new(VolumeEcShardsCopyResponse)
  1453. err := grpc.Invoke(ctx, "/volume_server_pb.VolumeServer/VolumeEcShardsCopy", in, out, c.cc, opts...)
  1454. if err != nil {
  1455. return nil, err
  1456. }
  1457. return out, nil
  1458. }
  1459. func (c *volumeServerClient) VolumeEcShardsDelete(ctx context.Context, in *VolumeEcShardsDeleteRequest, opts ...grpc.CallOption) (*VolumeEcShardsDeleteResponse, error) {
  1460. out := new(VolumeEcShardsDeleteResponse)
  1461. err := grpc.Invoke(ctx, "/volume_server_pb.VolumeServer/VolumeEcShardsDelete", in, out, c.cc, opts...)
  1462. if err != nil {
  1463. return nil, err
  1464. }
  1465. return out, nil
  1466. }
  1467. func (c *volumeServerClient) VolumeEcShardsMount(ctx context.Context, in *VolumeEcShardsMountRequest, opts ...grpc.CallOption) (*VolumeEcShardsMountResponse, error) {
  1468. out := new(VolumeEcShardsMountResponse)
  1469. err := grpc.Invoke(ctx, "/volume_server_pb.VolumeServer/VolumeEcShardsMount", in, out, c.cc, opts...)
  1470. if err != nil {
  1471. return nil, err
  1472. }
  1473. return out, nil
  1474. }
  1475. func (c *volumeServerClient) VolumeEcShardsUnmount(ctx context.Context, in *VolumeEcShardsUnmountRequest, opts ...grpc.CallOption) (*VolumeEcShardsUnmountResponse, error) {
  1476. out := new(VolumeEcShardsUnmountResponse)
  1477. err := grpc.Invoke(ctx, "/volume_server_pb.VolumeServer/VolumeEcShardsUnmount", in, out, c.cc, opts...)
  1478. if err != nil {
  1479. return nil, err
  1480. }
  1481. return out, nil
  1482. }
  1483. func (c *volumeServerClient) VolumeEcShardRead(ctx context.Context, in *VolumeEcShardReadRequest, opts ...grpc.CallOption) (VolumeServer_VolumeEcShardReadClient, error) {
  1484. stream, err := grpc.NewClientStream(ctx, &_VolumeServer_serviceDesc.Streams[3], c.cc, "/volume_server_pb.VolumeServer/VolumeEcShardRead", opts...)
  1485. if err != nil {
  1486. return nil, err
  1487. }
  1488. x := &volumeServerVolumeEcShardReadClient{stream}
  1489. if err := x.ClientStream.SendMsg(in); err != nil {
  1490. return nil, err
  1491. }
  1492. if err := x.ClientStream.CloseSend(); err != nil {
  1493. return nil, err
  1494. }
  1495. return x, nil
  1496. }
  1497. type VolumeServer_VolumeEcShardReadClient interface {
  1498. Recv() (*VolumeEcShardReadResponse, error)
  1499. grpc.ClientStream
  1500. }
  1501. type volumeServerVolumeEcShardReadClient struct {
  1502. grpc.ClientStream
  1503. }
  1504. func (x *volumeServerVolumeEcShardReadClient) Recv() (*VolumeEcShardReadResponse, error) {
  1505. m := new(VolumeEcShardReadResponse)
  1506. if err := x.ClientStream.RecvMsg(m); err != nil {
  1507. return nil, err
  1508. }
  1509. return m, nil
  1510. }
  1511. func (c *volumeServerClient) VolumeEcBlobDelete(ctx context.Context, in *VolumeEcBlobDeleteRequest, opts ...grpc.CallOption) (*VolumeEcBlobDeleteResponse, error) {
  1512. out := new(VolumeEcBlobDeleteResponse)
  1513. err := grpc.Invoke(ctx, "/volume_server_pb.VolumeServer/VolumeEcBlobDelete", in, out, c.cc, opts...)
  1514. if err != nil {
  1515. return nil, err
  1516. }
  1517. return out, nil
  1518. }
  1519. // Server API for VolumeServer service
  1520. type VolumeServerServer interface {
  1521. // Experts only: takes multiple fid parameters. This function does not propagate deletes to replicas.
  1522. BatchDelete(context.Context, *BatchDeleteRequest) (*BatchDeleteResponse, error)
  1523. VacuumVolumeCheck(context.Context, *VacuumVolumeCheckRequest) (*VacuumVolumeCheckResponse, error)
  1524. VacuumVolumeCompact(context.Context, *VacuumVolumeCompactRequest) (*VacuumVolumeCompactResponse, error)
  1525. VacuumVolumeCommit(context.Context, *VacuumVolumeCommitRequest) (*VacuumVolumeCommitResponse, error)
  1526. VacuumVolumeCleanup(context.Context, *VacuumVolumeCleanupRequest) (*VacuumVolumeCleanupResponse, error)
  1527. DeleteCollection(context.Context, *DeleteCollectionRequest) (*DeleteCollectionResponse, error)
  1528. AllocateVolume(context.Context, *AllocateVolumeRequest) (*AllocateVolumeResponse, error)
  1529. VolumeSyncStatus(context.Context, *VolumeSyncStatusRequest) (*VolumeSyncStatusResponse, error)
  1530. VolumeIncrementalCopy(*VolumeIncrementalCopyRequest, VolumeServer_VolumeIncrementalCopyServer) error
  1531. VolumeMount(context.Context, *VolumeMountRequest) (*VolumeMountResponse, error)
  1532. VolumeUnmount(context.Context, *VolumeUnmountRequest) (*VolumeUnmountResponse, error)
  1533. VolumeDelete(context.Context, *VolumeDeleteRequest) (*VolumeDeleteResponse, error)
  1534. // copy the .idx .dat files, and mount this volume
  1535. VolumeCopy(context.Context, *VolumeCopyRequest) (*VolumeCopyResponse, error)
  1536. ReadVolumeFileStatus(context.Context, *ReadVolumeFileStatusRequest) (*ReadVolumeFileStatusResponse, error)
  1537. CopyFile(*CopyFileRequest, VolumeServer_CopyFileServer) error
  1538. VolumeTailSender(*VolumeTailSenderRequest, VolumeServer_VolumeTailSenderServer) error
  1539. VolumeTailReceiver(context.Context, *VolumeTailReceiverRequest) (*VolumeTailReceiverResponse, error)
  1540. // erasure coding
  1541. VolumeEcShardsGenerate(context.Context, *VolumeEcShardsGenerateRequest) (*VolumeEcShardsGenerateResponse, error)
  1542. VolumeEcShardsRebuild(context.Context, *VolumeEcShardsRebuildRequest) (*VolumeEcShardsRebuildResponse, error)
  1543. VolumeEcShardsCopy(context.Context, *VolumeEcShardsCopyRequest) (*VolumeEcShardsCopyResponse, error)
  1544. VolumeEcShardsDelete(context.Context, *VolumeEcShardsDeleteRequest) (*VolumeEcShardsDeleteResponse, error)
  1545. VolumeEcShardsMount(context.Context, *VolumeEcShardsMountRequest) (*VolumeEcShardsMountResponse, error)
  1546. VolumeEcShardsUnmount(context.Context, *VolumeEcShardsUnmountRequest) (*VolumeEcShardsUnmountResponse, error)
  1547. VolumeEcShardRead(*VolumeEcShardReadRequest, VolumeServer_VolumeEcShardReadServer) error
  1548. VolumeEcBlobDelete(context.Context, *VolumeEcBlobDeleteRequest) (*VolumeEcBlobDeleteResponse, error)
  1549. }
  1550. func RegisterVolumeServerServer(s *grpc.Server, srv VolumeServerServer) {
  1551. s.RegisterService(&_VolumeServer_serviceDesc, srv)
  1552. }
  1553. func _VolumeServer_BatchDelete_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  1554. in := new(BatchDeleteRequest)
  1555. if err := dec(in); err != nil {
  1556. return nil, err
  1557. }
  1558. if interceptor == nil {
  1559. return srv.(VolumeServerServer).BatchDelete(ctx, in)
  1560. }
  1561. info := &grpc.UnaryServerInfo{
  1562. Server: srv,
  1563. FullMethod: "/volume_server_pb.VolumeServer/BatchDelete",
  1564. }
  1565. handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  1566. return srv.(VolumeServerServer).BatchDelete(ctx, req.(*BatchDeleteRequest))
  1567. }
  1568. return interceptor(ctx, in, info, handler)
  1569. }
  1570. func _VolumeServer_VacuumVolumeCheck_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  1571. in := new(VacuumVolumeCheckRequest)
  1572. if err := dec(in); err != nil {
  1573. return nil, err
  1574. }
  1575. if interceptor == nil {
  1576. return srv.(VolumeServerServer).VacuumVolumeCheck(ctx, in)
  1577. }
  1578. info := &grpc.UnaryServerInfo{
  1579. Server: srv,
  1580. FullMethod: "/volume_server_pb.VolumeServer/VacuumVolumeCheck",
  1581. }
  1582. handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  1583. return srv.(VolumeServerServer).VacuumVolumeCheck(ctx, req.(*VacuumVolumeCheckRequest))
  1584. }
  1585. return interceptor(ctx, in, info, handler)
  1586. }
  1587. func _VolumeServer_VacuumVolumeCompact_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  1588. in := new(VacuumVolumeCompactRequest)
  1589. if err := dec(in); err != nil {
  1590. return nil, err
  1591. }
  1592. if interceptor == nil {
  1593. return srv.(VolumeServerServer).VacuumVolumeCompact(ctx, in)
  1594. }
  1595. info := &grpc.UnaryServerInfo{
  1596. Server: srv,
  1597. FullMethod: "/volume_server_pb.VolumeServer/VacuumVolumeCompact",
  1598. }
  1599. handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  1600. return srv.(VolumeServerServer).VacuumVolumeCompact(ctx, req.(*VacuumVolumeCompactRequest))
  1601. }
  1602. return interceptor(ctx, in, info, handler)
  1603. }
  1604. func _VolumeServer_VacuumVolumeCommit_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  1605. in := new(VacuumVolumeCommitRequest)
  1606. if err := dec(in); err != nil {
  1607. return nil, err
  1608. }
  1609. if interceptor == nil {
  1610. return srv.(VolumeServerServer).VacuumVolumeCommit(ctx, in)
  1611. }
  1612. info := &grpc.UnaryServerInfo{
  1613. Server: srv,
  1614. FullMethod: "/volume_server_pb.VolumeServer/VacuumVolumeCommit",
  1615. }
  1616. handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  1617. return srv.(VolumeServerServer).VacuumVolumeCommit(ctx, req.(*VacuumVolumeCommitRequest))
  1618. }
  1619. return interceptor(ctx, in, info, handler)
  1620. }
  1621. func _VolumeServer_VacuumVolumeCleanup_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  1622. in := new(VacuumVolumeCleanupRequest)
  1623. if err := dec(in); err != nil {
  1624. return nil, err
  1625. }
  1626. if interceptor == nil {
  1627. return srv.(VolumeServerServer).VacuumVolumeCleanup(ctx, in)
  1628. }
  1629. info := &grpc.UnaryServerInfo{
  1630. Server: srv,
  1631. FullMethod: "/volume_server_pb.VolumeServer/VacuumVolumeCleanup",
  1632. }
  1633. handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  1634. return srv.(VolumeServerServer).VacuumVolumeCleanup(ctx, req.(*VacuumVolumeCleanupRequest))
  1635. }
  1636. return interceptor(ctx, in, info, handler)
  1637. }
  1638. func _VolumeServer_DeleteCollection_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  1639. in := new(DeleteCollectionRequest)
  1640. if err := dec(in); err != nil {
  1641. return nil, err
  1642. }
  1643. if interceptor == nil {
  1644. return srv.(VolumeServerServer).DeleteCollection(ctx, in)
  1645. }
  1646. info := &grpc.UnaryServerInfo{
  1647. Server: srv,
  1648. FullMethod: "/volume_server_pb.VolumeServer/DeleteCollection",
  1649. }
  1650. handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  1651. return srv.(VolumeServerServer).DeleteCollection(ctx, req.(*DeleteCollectionRequest))
  1652. }
  1653. return interceptor(ctx, in, info, handler)
  1654. }
  1655. func _VolumeServer_AllocateVolume_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  1656. in := new(AllocateVolumeRequest)
  1657. if err := dec(in); err != nil {
  1658. return nil, err
  1659. }
  1660. if interceptor == nil {
  1661. return srv.(VolumeServerServer).AllocateVolume(ctx, in)
  1662. }
  1663. info := &grpc.UnaryServerInfo{
  1664. Server: srv,
  1665. FullMethod: "/volume_server_pb.VolumeServer/AllocateVolume",
  1666. }
  1667. handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  1668. return srv.(VolumeServerServer).AllocateVolume(ctx, req.(*AllocateVolumeRequest))
  1669. }
  1670. return interceptor(ctx, in, info, handler)
  1671. }
  1672. func _VolumeServer_VolumeSyncStatus_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  1673. in := new(VolumeSyncStatusRequest)
  1674. if err := dec(in); err != nil {
  1675. return nil, err
  1676. }
  1677. if interceptor == nil {
  1678. return srv.(VolumeServerServer).VolumeSyncStatus(ctx, in)
  1679. }
  1680. info := &grpc.UnaryServerInfo{
  1681. Server: srv,
  1682. FullMethod: "/volume_server_pb.VolumeServer/VolumeSyncStatus",
  1683. }
  1684. handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  1685. return srv.(VolumeServerServer).VolumeSyncStatus(ctx, req.(*VolumeSyncStatusRequest))
  1686. }
  1687. return interceptor(ctx, in, info, handler)
  1688. }
  1689. func _VolumeServer_VolumeIncrementalCopy_Handler(srv interface{}, stream grpc.ServerStream) error {
  1690. m := new(VolumeIncrementalCopyRequest)
  1691. if err := stream.RecvMsg(m); err != nil {
  1692. return err
  1693. }
  1694. return srv.(VolumeServerServer).VolumeIncrementalCopy(m, &volumeServerVolumeIncrementalCopyServer{stream})
  1695. }
  1696. type VolumeServer_VolumeIncrementalCopyServer interface {
  1697. Send(*VolumeIncrementalCopyResponse) error
  1698. grpc.ServerStream
  1699. }
  1700. type volumeServerVolumeIncrementalCopyServer struct {
  1701. grpc.ServerStream
  1702. }
  1703. func (x *volumeServerVolumeIncrementalCopyServer) Send(m *VolumeIncrementalCopyResponse) error {
  1704. return x.ServerStream.SendMsg(m)
  1705. }
  1706. func _VolumeServer_VolumeMount_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  1707. in := new(VolumeMountRequest)
  1708. if err := dec(in); err != nil {
  1709. return nil, err
  1710. }
  1711. if interceptor == nil {
  1712. return srv.(VolumeServerServer).VolumeMount(ctx, in)
  1713. }
  1714. info := &grpc.UnaryServerInfo{
  1715. Server: srv,
  1716. FullMethod: "/volume_server_pb.VolumeServer/VolumeMount",
  1717. }
  1718. handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  1719. return srv.(VolumeServerServer).VolumeMount(ctx, req.(*VolumeMountRequest))
  1720. }
  1721. return interceptor(ctx, in, info, handler)
  1722. }
  1723. func _VolumeServer_VolumeUnmount_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  1724. in := new(VolumeUnmountRequest)
  1725. if err := dec(in); err != nil {
  1726. return nil, err
  1727. }
  1728. if interceptor == nil {
  1729. return srv.(VolumeServerServer).VolumeUnmount(ctx, in)
  1730. }
  1731. info := &grpc.UnaryServerInfo{
  1732. Server: srv,
  1733. FullMethod: "/volume_server_pb.VolumeServer/VolumeUnmount",
  1734. }
  1735. handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  1736. return srv.(VolumeServerServer).VolumeUnmount(ctx, req.(*VolumeUnmountRequest))
  1737. }
  1738. return interceptor(ctx, in, info, handler)
  1739. }
  1740. func _VolumeServer_VolumeDelete_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  1741. in := new(VolumeDeleteRequest)
  1742. if err := dec(in); err != nil {
  1743. return nil, err
  1744. }
  1745. if interceptor == nil {
  1746. return srv.(VolumeServerServer).VolumeDelete(ctx, in)
  1747. }
  1748. info := &grpc.UnaryServerInfo{
  1749. Server: srv,
  1750. FullMethod: "/volume_server_pb.VolumeServer/VolumeDelete",
  1751. }
  1752. handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  1753. return srv.(VolumeServerServer).VolumeDelete(ctx, req.(*VolumeDeleteRequest))
  1754. }
  1755. return interceptor(ctx, in, info, handler)
  1756. }
  1757. func _VolumeServer_VolumeCopy_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  1758. in := new(VolumeCopyRequest)
  1759. if err := dec(in); err != nil {
  1760. return nil, err
  1761. }
  1762. if interceptor == nil {
  1763. return srv.(VolumeServerServer).VolumeCopy(ctx, in)
  1764. }
  1765. info := &grpc.UnaryServerInfo{
  1766. Server: srv,
  1767. FullMethod: "/volume_server_pb.VolumeServer/VolumeCopy",
  1768. }
  1769. handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  1770. return srv.(VolumeServerServer).VolumeCopy(ctx, req.(*VolumeCopyRequest))
  1771. }
  1772. return interceptor(ctx, in, info, handler)
  1773. }
  1774. func _VolumeServer_ReadVolumeFileStatus_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  1775. in := new(ReadVolumeFileStatusRequest)
  1776. if err := dec(in); err != nil {
  1777. return nil, err
  1778. }
  1779. if interceptor == nil {
  1780. return srv.(VolumeServerServer).ReadVolumeFileStatus(ctx, in)
  1781. }
  1782. info := &grpc.UnaryServerInfo{
  1783. Server: srv,
  1784. FullMethod: "/volume_server_pb.VolumeServer/ReadVolumeFileStatus",
  1785. }
  1786. handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  1787. return srv.(VolumeServerServer).ReadVolumeFileStatus(ctx, req.(*ReadVolumeFileStatusRequest))
  1788. }
  1789. return interceptor(ctx, in, info, handler)
  1790. }
  1791. func _VolumeServer_CopyFile_Handler(srv interface{}, stream grpc.ServerStream) error {
  1792. m := new(CopyFileRequest)
  1793. if err := stream.RecvMsg(m); err != nil {
  1794. return err
  1795. }
  1796. return srv.(VolumeServerServer).CopyFile(m, &volumeServerCopyFileServer{stream})
  1797. }
  1798. type VolumeServer_CopyFileServer interface {
  1799. Send(*CopyFileResponse) error
  1800. grpc.ServerStream
  1801. }
  1802. type volumeServerCopyFileServer struct {
  1803. grpc.ServerStream
  1804. }
  1805. func (x *volumeServerCopyFileServer) Send(m *CopyFileResponse) error {
  1806. return x.ServerStream.SendMsg(m)
  1807. }
  1808. func _VolumeServer_VolumeTailSender_Handler(srv interface{}, stream grpc.ServerStream) error {
  1809. m := new(VolumeTailSenderRequest)
  1810. if err := stream.RecvMsg(m); err != nil {
  1811. return err
  1812. }
  1813. return srv.(VolumeServerServer).VolumeTailSender(m, &volumeServerVolumeTailSenderServer{stream})
  1814. }
  1815. type VolumeServer_VolumeTailSenderServer interface {
  1816. Send(*VolumeTailSenderResponse) error
  1817. grpc.ServerStream
  1818. }
  1819. type volumeServerVolumeTailSenderServer struct {
  1820. grpc.ServerStream
  1821. }
  1822. func (x *volumeServerVolumeTailSenderServer) Send(m *VolumeTailSenderResponse) error {
  1823. return x.ServerStream.SendMsg(m)
  1824. }
  1825. func _VolumeServer_VolumeTailReceiver_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  1826. in := new(VolumeTailReceiverRequest)
  1827. if err := dec(in); err != nil {
  1828. return nil, err
  1829. }
  1830. if interceptor == nil {
  1831. return srv.(VolumeServerServer).VolumeTailReceiver(ctx, in)
  1832. }
  1833. info := &grpc.UnaryServerInfo{
  1834. Server: srv,
  1835. FullMethod: "/volume_server_pb.VolumeServer/VolumeTailReceiver",
  1836. }
  1837. handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  1838. return srv.(VolumeServerServer).VolumeTailReceiver(ctx, req.(*VolumeTailReceiverRequest))
  1839. }
  1840. return interceptor(ctx, in, info, handler)
  1841. }
  1842. func _VolumeServer_VolumeEcShardsGenerate_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  1843. in := new(VolumeEcShardsGenerateRequest)
  1844. if err := dec(in); err != nil {
  1845. return nil, err
  1846. }
  1847. if interceptor == nil {
  1848. return srv.(VolumeServerServer).VolumeEcShardsGenerate(ctx, in)
  1849. }
  1850. info := &grpc.UnaryServerInfo{
  1851. Server: srv,
  1852. FullMethod: "/volume_server_pb.VolumeServer/VolumeEcShardsGenerate",
  1853. }
  1854. handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  1855. return srv.(VolumeServerServer).VolumeEcShardsGenerate(ctx, req.(*VolumeEcShardsGenerateRequest))
  1856. }
  1857. return interceptor(ctx, in, info, handler)
  1858. }
  1859. func _VolumeServer_VolumeEcShardsRebuild_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  1860. in := new(VolumeEcShardsRebuildRequest)
  1861. if err := dec(in); err != nil {
  1862. return nil, err
  1863. }
  1864. if interceptor == nil {
  1865. return srv.(VolumeServerServer).VolumeEcShardsRebuild(ctx, in)
  1866. }
  1867. info := &grpc.UnaryServerInfo{
  1868. Server: srv,
  1869. FullMethod: "/volume_server_pb.VolumeServer/VolumeEcShardsRebuild",
  1870. }
  1871. handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  1872. return srv.(VolumeServerServer).VolumeEcShardsRebuild(ctx, req.(*VolumeEcShardsRebuildRequest))
  1873. }
  1874. return interceptor(ctx, in, info, handler)
  1875. }
  1876. func _VolumeServer_VolumeEcShardsCopy_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  1877. in := new(VolumeEcShardsCopyRequest)
  1878. if err := dec(in); err != nil {
  1879. return nil, err
  1880. }
  1881. if interceptor == nil {
  1882. return srv.(VolumeServerServer).VolumeEcShardsCopy(ctx, in)
  1883. }
  1884. info := &grpc.UnaryServerInfo{
  1885. Server: srv,
  1886. FullMethod: "/volume_server_pb.VolumeServer/VolumeEcShardsCopy",
  1887. }
  1888. handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  1889. return srv.(VolumeServerServer).VolumeEcShardsCopy(ctx, req.(*VolumeEcShardsCopyRequest))
  1890. }
  1891. return interceptor(ctx, in, info, handler)
  1892. }
  1893. func _VolumeServer_VolumeEcShardsDelete_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  1894. in := new(VolumeEcShardsDeleteRequest)
  1895. if err := dec(in); err != nil {
  1896. return nil, err
  1897. }
  1898. if interceptor == nil {
  1899. return srv.(VolumeServerServer).VolumeEcShardsDelete(ctx, in)
  1900. }
  1901. info := &grpc.UnaryServerInfo{
  1902. Server: srv,
  1903. FullMethod: "/volume_server_pb.VolumeServer/VolumeEcShardsDelete",
  1904. }
  1905. handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  1906. return srv.(VolumeServerServer).VolumeEcShardsDelete(ctx, req.(*VolumeEcShardsDeleteRequest))
  1907. }
  1908. return interceptor(ctx, in, info, handler)
  1909. }
  1910. func _VolumeServer_VolumeEcShardsMount_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  1911. in := new(VolumeEcShardsMountRequest)
  1912. if err := dec(in); err != nil {
  1913. return nil, err
  1914. }
  1915. if interceptor == nil {
  1916. return srv.(VolumeServerServer).VolumeEcShardsMount(ctx, in)
  1917. }
  1918. info := &grpc.UnaryServerInfo{
  1919. Server: srv,
  1920. FullMethod: "/volume_server_pb.VolumeServer/VolumeEcShardsMount",
  1921. }
  1922. handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  1923. return srv.(VolumeServerServer).VolumeEcShardsMount(ctx, req.(*VolumeEcShardsMountRequest))
  1924. }
  1925. return interceptor(ctx, in, info, handler)
  1926. }
  1927. func _VolumeServer_VolumeEcShardsUnmount_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  1928. in := new(VolumeEcShardsUnmountRequest)
  1929. if err := dec(in); err != nil {
  1930. return nil, err
  1931. }
  1932. if interceptor == nil {
  1933. return srv.(VolumeServerServer).VolumeEcShardsUnmount(ctx, in)
  1934. }
  1935. info := &grpc.UnaryServerInfo{
  1936. Server: srv,
  1937. FullMethod: "/volume_server_pb.VolumeServer/VolumeEcShardsUnmount",
  1938. }
  1939. handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  1940. return srv.(VolumeServerServer).VolumeEcShardsUnmount(ctx, req.(*VolumeEcShardsUnmountRequest))
  1941. }
  1942. return interceptor(ctx, in, info, handler)
  1943. }
  1944. func _VolumeServer_VolumeEcShardRead_Handler(srv interface{}, stream grpc.ServerStream) error {
  1945. m := new(VolumeEcShardReadRequest)
  1946. if err := stream.RecvMsg(m); err != nil {
  1947. return err
  1948. }
  1949. return srv.(VolumeServerServer).VolumeEcShardRead(m, &volumeServerVolumeEcShardReadServer{stream})
  1950. }
  1951. type VolumeServer_VolumeEcShardReadServer interface {
  1952. Send(*VolumeEcShardReadResponse) error
  1953. grpc.ServerStream
  1954. }
  1955. type volumeServerVolumeEcShardReadServer struct {
  1956. grpc.ServerStream
  1957. }
  1958. func (x *volumeServerVolumeEcShardReadServer) Send(m *VolumeEcShardReadResponse) error {
  1959. return x.ServerStream.SendMsg(m)
  1960. }
  1961. func _VolumeServer_VolumeEcBlobDelete_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  1962. in := new(VolumeEcBlobDeleteRequest)
  1963. if err := dec(in); err != nil {
  1964. return nil, err
  1965. }
  1966. if interceptor == nil {
  1967. return srv.(VolumeServerServer).VolumeEcBlobDelete(ctx, in)
  1968. }
  1969. info := &grpc.UnaryServerInfo{
  1970. Server: srv,
  1971. FullMethod: "/volume_server_pb.VolumeServer/VolumeEcBlobDelete",
  1972. }
  1973. handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  1974. return srv.(VolumeServerServer).VolumeEcBlobDelete(ctx, req.(*VolumeEcBlobDeleteRequest))
  1975. }
  1976. return interceptor(ctx, in, info, handler)
  1977. }
  1978. var _VolumeServer_serviceDesc = grpc.ServiceDesc{
  1979. ServiceName: "volume_server_pb.VolumeServer",
  1980. HandlerType: (*VolumeServerServer)(nil),
  1981. Methods: []grpc.MethodDesc{
  1982. {
  1983. MethodName: "BatchDelete",
  1984. Handler: _VolumeServer_BatchDelete_Handler,
  1985. },
  1986. {
  1987. MethodName: "VacuumVolumeCheck",
  1988. Handler: _VolumeServer_VacuumVolumeCheck_Handler,
  1989. },
  1990. {
  1991. MethodName: "VacuumVolumeCompact",
  1992. Handler: _VolumeServer_VacuumVolumeCompact_Handler,
  1993. },
  1994. {
  1995. MethodName: "VacuumVolumeCommit",
  1996. Handler: _VolumeServer_VacuumVolumeCommit_Handler,
  1997. },
  1998. {
  1999. MethodName: "VacuumVolumeCleanup",
  2000. Handler: _VolumeServer_VacuumVolumeCleanup_Handler,
  2001. },
  2002. {
  2003. MethodName: "DeleteCollection",
  2004. Handler: _VolumeServer_DeleteCollection_Handler,
  2005. },
  2006. {
  2007. MethodName: "AllocateVolume",
  2008. Handler: _VolumeServer_AllocateVolume_Handler,
  2009. },
  2010. {
  2011. MethodName: "VolumeSyncStatus",
  2012. Handler: _VolumeServer_VolumeSyncStatus_Handler,
  2013. },
  2014. {
  2015. MethodName: "VolumeMount",
  2016. Handler: _VolumeServer_VolumeMount_Handler,
  2017. },
  2018. {
  2019. MethodName: "VolumeUnmount",
  2020. Handler: _VolumeServer_VolumeUnmount_Handler,
  2021. },
  2022. {
  2023. MethodName: "VolumeDelete",
  2024. Handler: _VolumeServer_VolumeDelete_Handler,
  2025. },
  2026. {
  2027. MethodName: "VolumeCopy",
  2028. Handler: _VolumeServer_VolumeCopy_Handler,
  2029. },
  2030. {
  2031. MethodName: "ReadVolumeFileStatus",
  2032. Handler: _VolumeServer_ReadVolumeFileStatus_Handler,
  2033. },
  2034. {
  2035. MethodName: "VolumeTailReceiver",
  2036. Handler: _VolumeServer_VolumeTailReceiver_Handler,
  2037. },
  2038. {
  2039. MethodName: "VolumeEcShardsGenerate",
  2040. Handler: _VolumeServer_VolumeEcShardsGenerate_Handler,
  2041. },
  2042. {
  2043. MethodName: "VolumeEcShardsRebuild",
  2044. Handler: _VolumeServer_VolumeEcShardsRebuild_Handler,
  2045. },
  2046. {
  2047. MethodName: "VolumeEcShardsCopy",
  2048. Handler: _VolumeServer_VolumeEcShardsCopy_Handler,
  2049. },
  2050. {
  2051. MethodName: "VolumeEcShardsDelete",
  2052. Handler: _VolumeServer_VolumeEcShardsDelete_Handler,
  2053. },
  2054. {
  2055. MethodName: "VolumeEcShardsMount",
  2056. Handler: _VolumeServer_VolumeEcShardsMount_Handler,
  2057. },
  2058. {
  2059. MethodName: "VolumeEcShardsUnmount",
  2060. Handler: _VolumeServer_VolumeEcShardsUnmount_Handler,
  2061. },
  2062. {
  2063. MethodName: "VolumeEcBlobDelete",
  2064. Handler: _VolumeServer_VolumeEcBlobDelete_Handler,
  2065. },
  2066. },
  2067. Streams: []grpc.StreamDesc{
  2068. {
  2069. StreamName: "VolumeIncrementalCopy",
  2070. Handler: _VolumeServer_VolumeIncrementalCopy_Handler,
  2071. ServerStreams: true,
  2072. },
  2073. {
  2074. StreamName: "CopyFile",
  2075. Handler: _VolumeServer_CopyFile_Handler,
  2076. ServerStreams: true,
  2077. },
  2078. {
  2079. StreamName: "VolumeTailSender",
  2080. Handler: _VolumeServer_VolumeTailSender_Handler,
  2081. ServerStreams: true,
  2082. },
  2083. {
  2084. StreamName: "VolumeEcShardRead",
  2085. Handler: _VolumeServer_VolumeEcShardRead_Handler,
  2086. ServerStreams: true,
  2087. },
  2088. },
  2089. Metadata: "volume_server.proto",
  2090. }
  2091. func init() { proto.RegisterFile("volume_server.proto", fileDescriptor0) }
  2092. var fileDescriptor0 = []byte{
  2093. // 1890 bytes of a gzipped FileDescriptorProto
  2094. 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xc4, 0x19, 0xcb, 0x72, 0xdb, 0xd6,
  2095. 0x55, 0x30, 0x29, 0x93, 0x3c, 0xa4, 0x6c, 0xe9, 0xea, 0x45, 0x41, 0x96, 0xac, 0x20, 0x69, 0x22,
  2096. 0xcb, 0x89, 0xe4, 0x3a, 0xd3, 0x36, 0x6d, 0x17, 0xad, 0x25, 0xab, 0xad, 0x27, 0x8d, 0x32, 0x03,
  2097. 0x39, 0x9e, 0x74, 0x92, 0x19, 0xcc, 0x15, 0x70, 0x65, 0x61, 0x04, 0x02, 0x30, 0xee, 0x85, 0x62,
  2098. 0x7a, 0xda, 0x55, 0xba, 0xed, 0x07, 0x74, 0xdd, 0x5d, 0x17, 0xdd, 0xf6, 0x03, 0xfa, 0x0b, 0xfd,
  2099. 0x88, 0x6e, 0xfa, 0x05, 0xdd, 0x74, 0xee, 0x03, 0x20, 0x9e, 0x24, 0x54, 0x69, 0xa6, 0x3b, 0xf0,
  2100. 0xdc, 0xf3, 0xba, 0xe7, 0x9e, 0x37, 0x61, 0xf9, 0x2a, 0xf0, 0xe2, 0x11, 0xb1, 0x28, 0x89, 0xae,
  2101. 0x48, 0xb4, 0x1f, 0x46, 0x01, 0x0b, 0xd0, 0x62, 0x0e, 0x68, 0x85, 0x67, 0xc6, 0x01, 0xa0, 0x43,
  2102. 0xcc, 0xec, 0x8b, 0xe7, 0xc4, 0x23, 0x8c, 0x98, 0xe4, 0x4d, 0x4c, 0x28, 0x43, 0x1b, 0xd0, 0x3d,
  2103. 0x77, 0x3d, 0x62, 0xb9, 0x0e, 0x1d, 0x6a, 0x3b, 0xad, 0xdd, 0x9e, 0xd9, 0xe1, 0xbf, 0x5f, 0x38,
  2104. 0xd4, 0xf8, 0x12, 0x96, 0x73, 0x04, 0x34, 0x0c, 0x7c, 0x4a, 0xd0, 0x67, 0xd0, 0x89, 0x08, 0x8d,
  2105. 0x3d, 0x26, 0x09, 0xfa, 0x4f, 0xb7, 0xf7, 0x8b, 0xb2, 0xf6, 0x53, 0x92, 0xd8, 0x63, 0x66, 0x82,
  2106. 0x6e, 0x7c, 0xaf, 0xc1, 0x20, 0x7b, 0x82, 0xd6, 0xa1, 0xa3, 0x84, 0x0f, 0xb5, 0x1d, 0x6d, 0xb7,
  2107. 0x67, 0xde, 0x95, 0xb2, 0xd1, 0x1a, 0xdc, 0xa5, 0x0c, 0xb3, 0x98, 0x0e, 0xef, 0xec, 0x68, 0xbb,
  2108. 0xf3, 0xa6, 0xfa, 0x85, 0x56, 0x60, 0x9e, 0x44, 0x51, 0x10, 0x0d, 0x5b, 0x02, 0x5d, 0xfe, 0x40,
  2109. 0x08, 0xda, 0xd4, 0x7d, 0x47, 0x86, 0xed, 0x1d, 0x6d, 0x77, 0xc1, 0x14, 0xdf, 0x68, 0x08, 0x9d,
  2110. 0x2b, 0x12, 0x51, 0x37, 0xf0, 0x87, 0xf3, 0x02, 0x9c, 0xfc, 0x34, 0x3a, 0x30, 0x7f, 0x3c, 0x0a,
  2111. 0xd9, 0xd8, 0xf8, 0x09, 0x0c, 0x5f, 0x61, 0x3b, 0x8e, 0x47, 0xaf, 0x84, 0xfa, 0x47, 0x17, 0xc4,
  2112. 0xbe, 0x4c, 0xcc, 0xb2, 0x09, 0x3d, 0x75, 0x29, 0xa5, 0xdb, 0x82, 0xd9, 0x95, 0x80, 0x17, 0x8e,
  2113. 0xf1, 0x4b, 0xd8, 0xa8, 0x20, 0x54, 0xe6, 0x79, 0x1f, 0x16, 0x5e, 0xe3, 0xe8, 0x0c, 0xbf, 0x26,
  2114. 0x56, 0x84, 0x99, 0x1b, 0x08, 0x6a, 0xcd, 0x1c, 0x28, 0xa0, 0xc9, 0x61, 0xc6, 0x37, 0xa0, 0xe7,
  2115. 0x38, 0x04, 0xa3, 0x10, 0xdb, 0xac, 0x89, 0x70, 0xb4, 0x03, 0xfd, 0x30, 0x22, 0xd8, 0xf3, 0x02,
  2116. 0x1b, 0x33, 0x22, 0xec, 0xd3, 0x32, 0xb3, 0x20, 0x63, 0x0b, 0x36, 0x2b, 0x99, 0x4b, 0x05, 0x8d,
  2117. 0xcf, 0x0a, 0xda, 0x07, 0xa3, 0x91, 0xdb, 0x48, 0xb4, 0xf1, 0xa0, 0xa4, 0xb5, 0xa0, 0x54, 0x7c,
  2118. 0x7f, 0x5a, 0x38, 0xf5, 0x08, 0xf6, 0xe3, 0xb0, 0x11, 0xe3, 0xa2, 0xc6, 0x09, 0x69, 0xca, 0x79,
  2119. 0x5d, 0xba, 0xcd, 0x51, 0xe0, 0x79, 0xc4, 0x66, 0x6e, 0xe0, 0x27, 0x6c, 0xb7, 0x01, 0xec, 0x14,
  2120. 0xa8, 0x9c, 0x28, 0x03, 0x31, 0x74, 0x18, 0x96, 0x49, 0x15, 0xdb, 0xbf, 0x6a, 0xb0, 0xfa, 0x4c,
  2121. 0x19, 0x4d, 0x0a, 0x6e, 0xf4, 0x00, 0x79, 0x91, 0x77, 0x8a, 0x22, 0x8b, 0x0f, 0xd4, 0x2a, 0x3d,
  2122. 0x10, 0xc7, 0x88, 0x48, 0xe8, 0xb9, 0x36, 0x16, 0x2c, 0xda, 0x82, 0x45, 0x16, 0x84, 0x16, 0xa1,
  2123. 0xc5, 0x98, 0x27, 0x3c, 0xb7, 0x67, 0xf2, 0x4f, 0x63, 0x08, 0x6b, 0x45, 0x5d, 0xd5, 0x35, 0x7e,
  2124. 0x0c, 0xeb, 0x12, 0x72, 0x3a, 0xf6, 0xed, 0x53, 0x11, 0x27, 0x8d, 0x8c, 0xfe, 0x1f, 0x0d, 0x86,
  2125. 0x65, 0x42, 0xe5, 0xc5, 0x37, 0xb5, 0xc0, 0x75, 0xef, 0x87, 0x1e, 0x42, 0x9f, 0x61, 0xd7, 0xb3,
  2126. 0x82, 0xf3, 0x73, 0x4a, 0xd8, 0xf0, 0xee, 0x8e, 0xb6, 0xdb, 0x36, 0x81, 0x83, 0xbe, 0x14, 0x10,
  2127. 0xf4, 0x08, 0x16, 0x6d, 0xe9, 0xc9, 0x56, 0x44, 0xae, 0x5c, 0x11, 0xd9, 0x1d, 0xa1, 0xd8, 0x7d,
  2128. 0x3b, 0xf1, 0x70, 0x09, 0x46, 0x06, 0x2c, 0xb8, 0xce, 0x5b, 0x4b, 0xa4, 0x16, 0x91, 0x18, 0xba,
  2129. 0x82, 0x5b, 0xdf, 0x75, 0xde, 0xfe, 0xca, 0xf5, 0xc8, 0xa9, 0xfb, 0x8e, 0x18, 0xaf, 0xe0, 0x81,
  2130. 0xbc, 0xfc, 0x0b, 0xdf, 0x8e, 0xc8, 0x88, 0xf8, 0x0c, 0x7b, 0x47, 0x41, 0x38, 0x6e, 0xe4, 0x02,
  2131. 0x1b, 0xd0, 0xa5, 0xae, 0x6f, 0x13, 0xcb, 0x97, 0x09, 0xaa, 0x6d, 0x76, 0xc4, 0xef, 0x13, 0x6a,
  2132. 0x1c, 0xc2, 0x56, 0x0d, 0x5f, 0x65, 0xd9, 0xf7, 0x60, 0x20, 0x14, 0xb3, 0x03, 0x9f, 0x11, 0x9f,
  2133. 0x09, 0xde, 0x03, 0xb3, 0xcf, 0x61, 0x47, 0x12, 0x64, 0xfc, 0x10, 0x90, 0xe4, 0xf1, 0x45, 0x10,
  2134. 0xfb, 0xcd, 0x42, 0x73, 0x15, 0x96, 0x73, 0x24, 0xca, 0x37, 0x3e, 0x85, 0x15, 0x09, 0xfe, 0xca,
  2135. 0x1f, 0x35, 0xe6, 0xb5, 0x0e, 0xab, 0x05, 0x22, 0xc5, 0xed, 0x69, 0x22, 0x24, 0x5f, 0x42, 0xa6,
  2136. 0x32, 0x5b, 0x4b, 0x34, 0xc8, 0x57, 0x11, 0xe3, 0x6f, 0x1a, 0x2c, 0x25, 0x69, 0xa4, 0xa1, 0xd5,
  2137. 0xaf, 0xe9, 0x76, 0xad, 0x5a, 0xb7, 0x6b, 0x4f, 0xdc, 0x6e, 0x17, 0x16, 0x69, 0x10, 0x47, 0x36,
  2138. 0xb1, 0x1c, 0xcc, 0xb0, 0xe5, 0x07, 0x0e, 0x51, 0x5e, 0x79, 0x4f, 0xc2, 0x9f, 0x63, 0x86, 0x4f,
  2139. 0x02, 0x87, 0x18, 0xbf, 0x48, 0x1e, 0x25, 0xf7, 0x9a, 0x8f, 0x60, 0xc9, 0xc3, 0x94, 0x59, 0x38,
  2140. 0x0c, 0x89, 0xef, 0x58, 0x98, 0x71, 0x97, 0xd0, 0x84, 0x4b, 0xdc, 0xe3, 0x07, 0xcf, 0x04, 0xfc,
  2141. 0x19, 0x3b, 0xa1, 0xc6, 0x3f, 0x35, 0xb8, 0xcf, 0x69, 0xb9, 0x0b, 0x36, 0xba, 0xef, 0x22, 0xb4,
  2142. 0xc8, 0x5b, 0xa6, 0x2e, 0xca, 0x3f, 0xd1, 0x01, 0x2c, 0x2b, 0x5f, 0x77, 0x03, 0x7f, 0x12, 0x06,
  2143. 0x2d, 0x41, 0x88, 0x26, 0x47, 0x69, 0x24, 0x3c, 0x84, 0x3e, 0x65, 0x41, 0x98, 0x44, 0x55, 0x5b,
  2144. 0x46, 0x15, 0x07, 0xa9, 0xa8, 0xca, 0xdb, 0x74, 0xbe, 0xc2, 0xa6, 0x03, 0x97, 0x5a, 0xc4, 0xb6,
  2145. 0xa4, 0x56, 0x22, 0x2e, 0xbb, 0x26, 0xb8, 0xf4, 0xd8, 0x96, 0xd6, 0x30, 0x7e, 0x04, 0x8b, 0x93,
  2146. 0x5b, 0x35, 0xf7, 0xf1, 0xef, 0xb5, 0x24, 0x6d, 0xbd, 0xc4, 0xae, 0x77, 0x4a, 0x7c, 0x87, 0x44,
  2147. 0x37, 0x8c, 0x3d, 0xf4, 0x04, 0x56, 0x5c, 0xc7, 0x23, 0x16, 0x73, 0x47, 0x24, 0x88, 0x99, 0x45,
  2148. 0x89, 0x1d, 0xf8, 0x0e, 0x4d, 0xec, 0xc3, 0xcf, 0x5e, 0xca, 0xa3, 0x53, 0x79, 0x62, 0xfc, 0x31,
  2149. 0xcd, 0x81, 0x59, 0x2d, 0x26, 0x95, 0xdc, 0x27, 0x84, 0x33, 0xbc, 0x20, 0xd8, 0x21, 0x91, 0xba,
  2150. 0xc6, 0x40, 0x02, 0x7f, 0x23, 0x60, 0xdc, 0xc2, 0x0a, 0xe9, 0x2c, 0x70, 0xc6, 0x42, 0xa3, 0x81,
  2151. 0x09, 0x12, 0x74, 0x18, 0x38, 0x63, 0x91, 0x8c, 0xa8, 0x25, 0x9c, 0xc4, 0xbe, 0x88, 0xfd, 0x4b,
  2152. 0xa1, 0x4d, 0xd7, 0xec, 0xbb, 0xf4, 0xb7, 0x98, 0xb2, 0x23, 0x0e, 0x32, 0xfe, 0xae, 0xc1, 0xc6,
  2153. 0x44, 0x0d, 0x93, 0xd8, 0xc4, 0xbd, 0xfa, 0x3f, 0x98, 0x83, 0x53, 0xa8, 0x68, 0xc8, 0x75, 0x74,
  2154. 0x2a, 0x60, 0x90, 0x3c, 0x53, 0x35, 0x43, 0x9c, 0x88, 0x96, 0xa0, 0x42, 0x71, 0x15, 0xe4, 0xdf,
  2155. 0x26, 0xc9, 0xf0, 0xd8, 0x3e, 0xbd, 0xc0, 0x91, 0x43, 0x7f, 0x4d, 0x7c, 0x12, 0x61, 0x76, 0x2b,
  2156. 0x85, 0xd6, 0xd8, 0x81, 0xed, 0x3a, 0xee, 0x4a, 0xfe, 0x37, 0x49, 0x92, 0x4f, 0x30, 0x4c, 0x72,
  2157. 0x16, 0xbb, 0x9e, 0x73, 0x2b, 0xe2, 0x3f, 0x2f, 0x5e, 0x2e, 0x65, 0xae, 0xfc, 0x67, 0x0f, 0x96,
  2158. 0x22, 0x01, 0x62, 0x16, 0xe5, 0x08, 0x69, 0x8f, 0xbd, 0x60, 0xde, 0x57, 0x07, 0x82, 0x90, 0xf7,
  2159. 0xda, 0xff, 0x48, 0x3d, 0x20, 0xe1, 0x76, 0x6b, 0x69, 0x71, 0x13, 0x7a, 0x13, 0xf1, 0x2d, 0x21,
  2160. 0xbe, 0x4b, 0x95, 0x5c, 0xee, 0x9d, 0x76, 0x10, 0x8e, 0x2d, 0x62, 0xcb, 0x7a, 0x29, 0x9e, 0xba,
  2161. 0x6b, 0xf6, 0x39, 0xf0, 0xd8, 0x16, 0xe5, 0xf2, 0x1a, 0x39, 0x32, 0xf5, 0x86, 0xfc, 0x25, 0xd4,
  2162. 0x6b, 0x7c, 0x07, 0x9b, 0xf9, 0xd3, 0xe6, 0x65, 0xe4, 0x46, 0x97, 0x34, 0xb6, 0x8b, 0x6e, 0x50,
  2163. 0xa8, 0x45, 0x57, 0x45, 0xb5, 0x1b, 0xd7, 0xdd, 0x9b, 0xe9, 0xb5, 0x55, 0x34, 0x48, 0xbe, 0x78,
  2164. 0x7f, 0x5d, 0x54, 0xfb, 0x1a, 0x45, 0x7c, 0xba, 0xe0, 0x87, 0x45, 0xd7, 0x2d, 0x56, 0xfa, 0x3f,
  2165. 0xa7, 0x79, 0x51, 0x61, 0x98, 0x04, 0x3b, 0x8d, 0xf3, 0x91, 0x92, 0x2b, 0xcc, 0xb1, 0x60, 0x76,
  2166. 0x94, 0x58, 0x3e, 0xd4, 0xa9, 0x3a, 0x24, 0x7b, 0x62, 0xf5, 0x2b, 0x37, 0xbe, 0xb5, 0xd4, 0xf8,
  2167. 0x96, 0x8c, 0xa5, 0x97, 0x64, 0x2c, 0x7c, 0xad, 0x2d, 0xc7, 0xd2, 0xcf, 0xc9, 0xd8, 0x38, 0x29,
  2168. 0x44, 0x8a, 0x54, 0x4d, 0xc5, 0x1c, 0x82, 0x36, 0x77, 0x52, 0x95, 0xaa, 0xc5, 0x37, 0xda, 0x02,
  2169. 0x70, 0xa9, 0xe5, 0x88, 0x37, 0x97, 0x4a, 0x75, 0xcd, 0x9e, 0xab, 0x9c, 0xc0, 0x31, 0xfe, 0x94,
  2170. 0x09, 0xbd, 0x43, 0x2f, 0x38, 0xbb, 0x45, 0xaf, 0xcc, 0xde, 0xa2, 0x95, 0xbb, 0x45, 0x76, 0x3e,
  2171. 0x6d, 0xe7, 0xe7, 0xd3, 0x4c, 0x10, 0x65, 0xd5, 0x51, 0x2f, 0xf3, 0x33, 0xd8, 0xe4, 0x17, 0x96,
  2172. 0x18, 0xa2, 0x9b, 0x6d, 0xde, 0xf1, 0xff, 0xfb, 0x0e, 0x3c, 0xa8, 0x26, 0x6e, 0xd2, 0xf5, 0xff,
  2173. 0x1c, 0xf4, 0xb4, 0xab, 0xe6, 0x25, 0x85, 0x32, 0x3c, 0x0a, 0xd3, 0xa2, 0x22, 0x6b, 0xcf, 0xba,
  2174. 0x6a, 0xb1, 0x5f, 0x26, 0xe7, 0x49, 0x65, 0x29, 0xb5, 0xe4, 0xad, 0x52, 0x4b, 0xce, 0x05, 0x38,
  2175. 0x98, 0xd5, 0x09, 0x90, 0xbd, 0xcb, 0xba, 0x83, 0x59, 0x9d, 0x80, 0x94, 0x58, 0x08, 0x90, 0x5e,
  2176. 0xd3, 0x57, 0xf8, 0x42, 0xc0, 0x16, 0x80, 0x6a, 0x4b, 0x62, 0x3f, 0x19, 0x31, 0x7a, 0xb2, 0x29,
  2177. 0x89, 0xfd, 0xda, 0xee, 0xaa, 0x53, 0xdb, 0x5d, 0xe5, 0x9f, 0xbf, 0x5b, 0xaa, 0x10, 0x5f, 0x03,
  2178. 0x3c, 0x77, 0xe9, 0xa5, 0x34, 0x32, 0x6f, 0xe7, 0x1c, 0x37, 0x52, 0x33, 0x2a, 0xff, 0xe4, 0x10,
  2179. 0xec, 0x79, 0xca, 0x74, 0xfc, 0x93, 0xbb, 0x6f, 0x4c, 0x89, 0xa3, 0xac, 0x23, 0xbe, 0x39, 0xec,
  2180. 0x3c, 0x22, 0x44, 0x19, 0x40, 0x7c, 0x1b, 0x7f, 0xd1, 0xa0, 0xf7, 0x05, 0x19, 0x29, 0xce, 0xdb,
  2181. 0x00, 0xaf, 0x83, 0x28, 0x88, 0x99, 0xeb, 0x13, 0xd9, 0x7d, 0xce, 0x9b, 0x19, 0xc8, 0xff, 0x2e,
  2182. 0x47, 0x84, 0x26, 0xf1, 0xce, 0x95, 0x31, 0xc5, 0x37, 0x87, 0x5d, 0x10, 0x1c, 0x2a, 0xfb, 0x89,
  2183. 0x6f, 0xb4, 0x02, 0xf3, 0x94, 0x61, 0xfb, 0x52, 0x18, 0xab, 0x6d, 0xca, 0x1f, 0x4f, 0xff, 0xb5,
  2184. 0x0a, 0x83, 0x6c, 0xb7, 0x80, 0xbe, 0x85, 0x7e, 0x66, 0xa3, 0x84, 0x3e, 0x28, 0x2f, 0x8e, 0xca,
  2185. 0x1b, 0x2a, 0xfd, 0x07, 0x33, 0xb0, 0x54, 0x60, 0xcc, 0x21, 0x1f, 0x96, 0x4a, 0x6b, 0x19, 0xb4,
  2186. 0x57, 0xa6, 0xae, 0x5b, 0xfa, 0xe8, 0x8f, 0x1b, 0xe1, 0xa6, 0xf2, 0x18, 0x2c, 0x57, 0xec, 0x59,
  2187. 0xd0, 0xc7, 0x33, 0xb8, 0xe4, 0x76, 0x3d, 0xfa, 0x27, 0x0d, 0xb1, 0x53, 0xa9, 0x6f, 0x00, 0x95,
  2188. 0x97, 0x30, 0xe8, 0xf1, 0x4c, 0x36, 0x93, 0x25, 0x8f, 0xfe, 0x71, 0x33, 0xe4, 0xda, 0x8b, 0xca,
  2189. 0xf5, 0xcc, 0xcc, 0x8b, 0xe6, 0x16, 0x40, 0x33, 0x2f, 0x5a, 0xd8, 0xf9, 0xcc, 0xa1, 0x4b, 0x58,
  2190. 0x2c, 0xae, 0x6e, 0xd0, 0xa3, 0xba, 0x55, 0x63, 0x69, 0x33, 0xa4, 0xef, 0x35, 0x41, 0x4d, 0x85,
  2191. 0x11, 0xb8, 0x97, 0x5f, 0xaf, 0xa0, 0x8f, 0xca, 0xf4, 0x95, 0xcb, 0x22, 0x7d, 0x77, 0x36, 0x62,
  2192. 0xf6, 0x4e, 0xc5, 0x95, 0x4b, 0xd5, 0x9d, 0x6a, 0xf6, 0x39, 0x55, 0x77, 0xaa, 0xdb, 0xe0, 0x18,
  2193. 0x73, 0xe8, 0xf7, 0xc9, 0x1c, 0x5f, 0x58, 0x45, 0xa0, 0xfd, 0x3a, 0x36, 0xd5, 0xbb, 0x10, 0xfd,
  2194. 0xa0, 0x31, 0x7e, 0x22, 0xfb, 0x89, 0xc6, 0x63, 0x3d, 0xb3, 0x91, 0xa8, 0x8a, 0xf5, 0xf2, 0x8e,
  2195. 0xa3, 0x2a, 0xd6, 0xab, 0xd6, 0x1a, 0x73, 0xe8, 0x0c, 0x16, 0x72, 0x3b, 0x0a, 0xf4, 0x61, 0x1d,
  2196. 0x65, 0xbe, 0x69, 0xd2, 0x3f, 0x9a, 0x89, 0x97, 0xca, 0xb0, 0x92, 0xec, 0xa5, 0xd2, 0x55, 0xad,
  2197. 0x72, 0xf9, 0x7c, 0xf5, 0xe1, 0x2c, 0xb4, 0x54, 0xc0, 0xef, 0x00, 0x26, 0x2b, 0x05, 0xf4, 0x7e,
  2198. 0x1d, 0x5d, 0xf6, 0x29, 0x3e, 0x98, 0x8e, 0x94, 0xb2, 0xfe, 0x0e, 0x56, 0xaa, 0x2a, 0x3d, 0xaa,
  2199. 0x88, 0xc2, 0x29, 0xed, 0x84, 0xbe, 0xdf, 0x14, 0x3d, 0x15, 0xfc, 0x15, 0x74, 0x93, 0x75, 0x00,
  2200. 0x7a, 0xaf, 0x4c, 0x5d, 0x58, 0x80, 0xe8, 0xc6, 0x34, 0x94, 0x8c, 0x37, 0x8d, 0x92, 0xc0, 0x99,
  2201. 0xcc, 0xe9, 0xf5, 0x81, 0x53, 0xda, 0x28, 0xd4, 0x07, 0x4e, 0x79, 0xec, 0x17, 0xe2, 0xde, 0x24,
  2202. 0xcb, 0x9e, 0xec, 0x58, 0x5b, 0x99, 0x64, 0xeb, 0xa6, 0xf6, 0xca, 0x24, 0x5b, 0x3f, 0x29, 0xcf,
  2203. 0xa1, 0x3f, 0xc0, 0x5a, 0xf5, 0x34, 0x8b, 0x6a, 0xc3, 0xaf, 0x66, 0xaa, 0xd6, 0x9f, 0x34, 0x27,
  2204. 0x48, 0xc5, 0xbf, 0x4b, 0x92, 0x45, 0x61, 0x9a, 0xad, 0x4f, 0x16, 0xd5, 0x33, 0xb5, 0x7e, 0xd0,
  2205. 0x18, 0x3f, 0x57, 0xd2, 0x4a, 0x63, 0x63, 0xbd, 0xb5, 0x2b, 0x26, 0xe4, 0x7a, 0x6b, 0x57, 0x4e,
  2206. 0xa2, 0x22, 0x3e, 0xaa, 0x46, 0xc2, 0xaa, 0xf8, 0x98, 0x32, 0xb3, 0xea, 0xfb, 0x4d, 0xd1, 0x73,
  2207. 0xb5, 0xb4, 0x3c, 0xf3, 0xa1, 0x99, 0xfa, 0xe7, 0xd2, 0xe4, 0x27, 0x0d, 0xb1, 0xeb, 0x5f, 0x37,
  2208. 0x49, 0x9b, 0x33, 0x2f, 0x50, 0x48, 0x9f, 0x07, 0x8d, 0xf1, 0x53, 0xd9, 0x61, 0xb2, 0xe8, 0xcd,
  2209. 0xcc, 0x6b, 0x68, 0x6f, 0x06, 0x9f, 0xcc, 0xbc, 0xa9, 0x3f, 0x6e, 0x84, 0x5b, 0x15, 0xbd, 0xd9,
  2210. 0x09, 0x6a, 0x9a, 0x3f, 0x95, 0xc6, 0xbe, 0x69, 0xfe, 0x54, 0x31, 0x94, 0xcd, 0x9d, 0xdd, 0x15,
  2211. 0xff, 0xba, 0x7e, 0xfa, 0xdf, 0x00, 0x00, 0x00, 0xff, 0xff, 0x5e, 0xae, 0x84, 0xe6, 0x8c, 0x1d,
  2212. 0x00, 0x00,
  2213. }