connection.go 32 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216
  1. // Code generated by counterfeiter. DO NOT EDIT.
  2. package mocks
  3. import (
  4. "context"
  5. "net"
  6. "sync"
  7. "time"
  8. "github.com/syncthing/syncthing/lib/protocol"
  9. )
  10. type Connection struct {
  11. CloseStub func(error)
  12. closeMutex sync.RWMutex
  13. closeArgsForCall []struct {
  14. arg1 error
  15. }
  16. ClosedStub func() <-chan struct{}
  17. closedMutex sync.RWMutex
  18. closedArgsForCall []struct {
  19. }
  20. closedReturns struct {
  21. result1 <-chan struct{}
  22. }
  23. closedReturnsOnCall map[int]struct {
  24. result1 <-chan struct{}
  25. }
  26. ClusterConfigStub func(protocol.ClusterConfig)
  27. clusterConfigMutex sync.RWMutex
  28. clusterConfigArgsForCall []struct {
  29. arg1 protocol.ClusterConfig
  30. }
  31. CryptoStub func() string
  32. cryptoMutex sync.RWMutex
  33. cryptoArgsForCall []struct {
  34. }
  35. cryptoReturns struct {
  36. result1 string
  37. }
  38. cryptoReturnsOnCall map[int]struct {
  39. result1 string
  40. }
  41. DownloadProgressStub func(context.Context, string, []protocol.FileDownloadProgressUpdate)
  42. downloadProgressMutex sync.RWMutex
  43. downloadProgressArgsForCall []struct {
  44. arg1 context.Context
  45. arg2 string
  46. arg3 []protocol.FileDownloadProgressUpdate
  47. }
  48. EstablishedAtStub func() time.Time
  49. establishedAtMutex sync.RWMutex
  50. establishedAtArgsForCall []struct {
  51. }
  52. establishedAtReturns struct {
  53. result1 time.Time
  54. }
  55. establishedAtReturnsOnCall map[int]struct {
  56. result1 time.Time
  57. }
  58. IDStub func() protocol.DeviceID
  59. iDMutex sync.RWMutex
  60. iDArgsForCall []struct {
  61. }
  62. iDReturns struct {
  63. result1 protocol.DeviceID
  64. }
  65. iDReturnsOnCall map[int]struct {
  66. result1 protocol.DeviceID
  67. }
  68. IndexStub func(context.Context, string, []protocol.FileInfo) error
  69. indexMutex sync.RWMutex
  70. indexArgsForCall []struct {
  71. arg1 context.Context
  72. arg2 string
  73. arg3 []protocol.FileInfo
  74. }
  75. indexReturns struct {
  76. result1 error
  77. }
  78. indexReturnsOnCall map[int]struct {
  79. result1 error
  80. }
  81. IndexUpdateStub func(context.Context, string, []protocol.FileInfo) error
  82. indexUpdateMutex sync.RWMutex
  83. indexUpdateArgsForCall []struct {
  84. arg1 context.Context
  85. arg2 string
  86. arg3 []protocol.FileInfo
  87. }
  88. indexUpdateReturns struct {
  89. result1 error
  90. }
  91. indexUpdateReturnsOnCall map[int]struct {
  92. result1 error
  93. }
  94. IsLocalStub func() bool
  95. isLocalMutex sync.RWMutex
  96. isLocalArgsForCall []struct {
  97. }
  98. isLocalReturns struct {
  99. result1 bool
  100. }
  101. isLocalReturnsOnCall map[int]struct {
  102. result1 bool
  103. }
  104. PriorityStub func() int
  105. priorityMutex sync.RWMutex
  106. priorityArgsForCall []struct {
  107. }
  108. priorityReturns struct {
  109. result1 int
  110. }
  111. priorityReturnsOnCall map[int]struct {
  112. result1 int
  113. }
  114. RemoteAddrStub func() net.Addr
  115. remoteAddrMutex sync.RWMutex
  116. remoteAddrArgsForCall []struct {
  117. }
  118. remoteAddrReturns struct {
  119. result1 net.Addr
  120. }
  121. remoteAddrReturnsOnCall map[int]struct {
  122. result1 net.Addr
  123. }
  124. RequestStub func(context.Context, string, string, int, int64, int, []byte, uint32, bool) ([]byte, error)
  125. requestMutex sync.RWMutex
  126. requestArgsForCall []struct {
  127. arg1 context.Context
  128. arg2 string
  129. arg3 string
  130. arg4 int
  131. arg5 int64
  132. arg6 int
  133. arg7 []byte
  134. arg8 uint32
  135. arg9 bool
  136. }
  137. requestReturns struct {
  138. result1 []byte
  139. result2 error
  140. }
  141. requestReturnsOnCall map[int]struct {
  142. result1 []byte
  143. result2 error
  144. }
  145. SetFolderPasswordsStub func(map[string]string)
  146. setFolderPasswordsMutex sync.RWMutex
  147. setFolderPasswordsArgsForCall []struct {
  148. arg1 map[string]string
  149. }
  150. StartStub func()
  151. startMutex sync.RWMutex
  152. startArgsForCall []struct {
  153. }
  154. StatisticsStub func() protocol.Statistics
  155. statisticsMutex sync.RWMutex
  156. statisticsArgsForCall []struct {
  157. }
  158. statisticsReturns struct {
  159. result1 protocol.Statistics
  160. }
  161. statisticsReturnsOnCall map[int]struct {
  162. result1 protocol.Statistics
  163. }
  164. StringStub func() string
  165. stringMutex sync.RWMutex
  166. stringArgsForCall []struct {
  167. }
  168. stringReturns struct {
  169. result1 string
  170. }
  171. stringReturnsOnCall map[int]struct {
  172. result1 string
  173. }
  174. TransportStub func() string
  175. transportMutex sync.RWMutex
  176. transportArgsForCall []struct {
  177. }
  178. transportReturns struct {
  179. result1 string
  180. }
  181. transportReturnsOnCall map[int]struct {
  182. result1 string
  183. }
  184. TypeStub func() string
  185. typeMutex sync.RWMutex
  186. typeArgsForCall []struct {
  187. }
  188. typeReturns struct {
  189. result1 string
  190. }
  191. typeReturnsOnCall map[int]struct {
  192. result1 string
  193. }
  194. invocations map[string][][]interface{}
  195. invocationsMutex sync.RWMutex
  196. }
  197. func (fake *Connection) Close(arg1 error) {
  198. fake.closeMutex.Lock()
  199. fake.closeArgsForCall = append(fake.closeArgsForCall, struct {
  200. arg1 error
  201. }{arg1})
  202. stub := fake.CloseStub
  203. fake.recordInvocation("Close", []interface{}{arg1})
  204. fake.closeMutex.Unlock()
  205. if stub != nil {
  206. fake.CloseStub(arg1)
  207. }
  208. }
  209. func (fake *Connection) CloseCallCount() int {
  210. fake.closeMutex.RLock()
  211. defer fake.closeMutex.RUnlock()
  212. return len(fake.closeArgsForCall)
  213. }
  214. func (fake *Connection) CloseCalls(stub func(error)) {
  215. fake.closeMutex.Lock()
  216. defer fake.closeMutex.Unlock()
  217. fake.CloseStub = stub
  218. }
  219. func (fake *Connection) CloseArgsForCall(i int) error {
  220. fake.closeMutex.RLock()
  221. defer fake.closeMutex.RUnlock()
  222. argsForCall := fake.closeArgsForCall[i]
  223. return argsForCall.arg1
  224. }
  225. func (fake *Connection) Closed() <-chan struct{} {
  226. fake.closedMutex.Lock()
  227. ret, specificReturn := fake.closedReturnsOnCall[len(fake.closedArgsForCall)]
  228. fake.closedArgsForCall = append(fake.closedArgsForCall, struct {
  229. }{})
  230. stub := fake.ClosedStub
  231. fakeReturns := fake.closedReturns
  232. fake.recordInvocation("Closed", []interface{}{})
  233. fake.closedMutex.Unlock()
  234. if stub != nil {
  235. return stub()
  236. }
  237. if specificReturn {
  238. return ret.result1
  239. }
  240. return fakeReturns.result1
  241. }
  242. func (fake *Connection) ClosedCallCount() int {
  243. fake.closedMutex.RLock()
  244. defer fake.closedMutex.RUnlock()
  245. return len(fake.closedArgsForCall)
  246. }
  247. func (fake *Connection) ClosedCalls(stub func() <-chan struct{}) {
  248. fake.closedMutex.Lock()
  249. defer fake.closedMutex.Unlock()
  250. fake.ClosedStub = stub
  251. }
  252. func (fake *Connection) ClosedReturns(result1 <-chan struct{}) {
  253. fake.closedMutex.Lock()
  254. defer fake.closedMutex.Unlock()
  255. fake.ClosedStub = nil
  256. fake.closedReturns = struct {
  257. result1 <-chan struct{}
  258. }{result1}
  259. }
  260. func (fake *Connection) ClosedReturnsOnCall(i int, result1 <-chan struct{}) {
  261. fake.closedMutex.Lock()
  262. defer fake.closedMutex.Unlock()
  263. fake.ClosedStub = nil
  264. if fake.closedReturnsOnCall == nil {
  265. fake.closedReturnsOnCall = make(map[int]struct {
  266. result1 <-chan struct{}
  267. })
  268. }
  269. fake.closedReturnsOnCall[i] = struct {
  270. result1 <-chan struct{}
  271. }{result1}
  272. }
  273. func (fake *Connection) ClusterConfig(arg1 protocol.ClusterConfig) {
  274. fake.clusterConfigMutex.Lock()
  275. fake.clusterConfigArgsForCall = append(fake.clusterConfigArgsForCall, struct {
  276. arg1 protocol.ClusterConfig
  277. }{arg1})
  278. stub := fake.ClusterConfigStub
  279. fake.recordInvocation("ClusterConfig", []interface{}{arg1})
  280. fake.clusterConfigMutex.Unlock()
  281. if stub != nil {
  282. fake.ClusterConfigStub(arg1)
  283. }
  284. }
  285. func (fake *Connection) ClusterConfigCallCount() int {
  286. fake.clusterConfigMutex.RLock()
  287. defer fake.clusterConfigMutex.RUnlock()
  288. return len(fake.clusterConfigArgsForCall)
  289. }
  290. func (fake *Connection) ClusterConfigCalls(stub func(protocol.ClusterConfig)) {
  291. fake.clusterConfigMutex.Lock()
  292. defer fake.clusterConfigMutex.Unlock()
  293. fake.ClusterConfigStub = stub
  294. }
  295. func (fake *Connection) ClusterConfigArgsForCall(i int) protocol.ClusterConfig {
  296. fake.clusterConfigMutex.RLock()
  297. defer fake.clusterConfigMutex.RUnlock()
  298. argsForCall := fake.clusterConfigArgsForCall[i]
  299. return argsForCall.arg1
  300. }
  301. func (fake *Connection) Crypto() string {
  302. fake.cryptoMutex.Lock()
  303. ret, specificReturn := fake.cryptoReturnsOnCall[len(fake.cryptoArgsForCall)]
  304. fake.cryptoArgsForCall = append(fake.cryptoArgsForCall, struct {
  305. }{})
  306. stub := fake.CryptoStub
  307. fakeReturns := fake.cryptoReturns
  308. fake.recordInvocation("Crypto", []interface{}{})
  309. fake.cryptoMutex.Unlock()
  310. if stub != nil {
  311. return stub()
  312. }
  313. if specificReturn {
  314. return ret.result1
  315. }
  316. return fakeReturns.result1
  317. }
  318. func (fake *Connection) CryptoCallCount() int {
  319. fake.cryptoMutex.RLock()
  320. defer fake.cryptoMutex.RUnlock()
  321. return len(fake.cryptoArgsForCall)
  322. }
  323. func (fake *Connection) CryptoCalls(stub func() string) {
  324. fake.cryptoMutex.Lock()
  325. defer fake.cryptoMutex.Unlock()
  326. fake.CryptoStub = stub
  327. }
  328. func (fake *Connection) CryptoReturns(result1 string) {
  329. fake.cryptoMutex.Lock()
  330. defer fake.cryptoMutex.Unlock()
  331. fake.CryptoStub = nil
  332. fake.cryptoReturns = struct {
  333. result1 string
  334. }{result1}
  335. }
  336. func (fake *Connection) CryptoReturnsOnCall(i int, result1 string) {
  337. fake.cryptoMutex.Lock()
  338. defer fake.cryptoMutex.Unlock()
  339. fake.CryptoStub = nil
  340. if fake.cryptoReturnsOnCall == nil {
  341. fake.cryptoReturnsOnCall = make(map[int]struct {
  342. result1 string
  343. })
  344. }
  345. fake.cryptoReturnsOnCall[i] = struct {
  346. result1 string
  347. }{result1}
  348. }
  349. func (fake *Connection) DownloadProgress(arg1 context.Context, arg2 string, arg3 []protocol.FileDownloadProgressUpdate) {
  350. var arg3Copy []protocol.FileDownloadProgressUpdate
  351. if arg3 != nil {
  352. arg3Copy = make([]protocol.FileDownloadProgressUpdate, len(arg3))
  353. copy(arg3Copy, arg3)
  354. }
  355. fake.downloadProgressMutex.Lock()
  356. fake.downloadProgressArgsForCall = append(fake.downloadProgressArgsForCall, struct {
  357. arg1 context.Context
  358. arg2 string
  359. arg3 []protocol.FileDownloadProgressUpdate
  360. }{arg1, arg2, arg3Copy})
  361. stub := fake.DownloadProgressStub
  362. fake.recordInvocation("DownloadProgress", []interface{}{arg1, arg2, arg3Copy})
  363. fake.downloadProgressMutex.Unlock()
  364. if stub != nil {
  365. fake.DownloadProgressStub(arg1, arg2, arg3)
  366. }
  367. }
  368. func (fake *Connection) DownloadProgressCallCount() int {
  369. fake.downloadProgressMutex.RLock()
  370. defer fake.downloadProgressMutex.RUnlock()
  371. return len(fake.downloadProgressArgsForCall)
  372. }
  373. func (fake *Connection) DownloadProgressCalls(stub func(context.Context, string, []protocol.FileDownloadProgressUpdate)) {
  374. fake.downloadProgressMutex.Lock()
  375. defer fake.downloadProgressMutex.Unlock()
  376. fake.DownloadProgressStub = stub
  377. }
  378. func (fake *Connection) DownloadProgressArgsForCall(i int) (context.Context, string, []protocol.FileDownloadProgressUpdate) {
  379. fake.downloadProgressMutex.RLock()
  380. defer fake.downloadProgressMutex.RUnlock()
  381. argsForCall := fake.downloadProgressArgsForCall[i]
  382. return argsForCall.arg1, argsForCall.arg2, argsForCall.arg3
  383. }
  384. func (fake *Connection) EstablishedAt() time.Time {
  385. fake.establishedAtMutex.Lock()
  386. ret, specificReturn := fake.establishedAtReturnsOnCall[len(fake.establishedAtArgsForCall)]
  387. fake.establishedAtArgsForCall = append(fake.establishedAtArgsForCall, struct {
  388. }{})
  389. stub := fake.EstablishedAtStub
  390. fakeReturns := fake.establishedAtReturns
  391. fake.recordInvocation("EstablishedAt", []interface{}{})
  392. fake.establishedAtMutex.Unlock()
  393. if stub != nil {
  394. return stub()
  395. }
  396. if specificReturn {
  397. return ret.result1
  398. }
  399. return fakeReturns.result1
  400. }
  401. func (fake *Connection) EstablishedAtCallCount() int {
  402. fake.establishedAtMutex.RLock()
  403. defer fake.establishedAtMutex.RUnlock()
  404. return len(fake.establishedAtArgsForCall)
  405. }
  406. func (fake *Connection) EstablishedAtCalls(stub func() time.Time) {
  407. fake.establishedAtMutex.Lock()
  408. defer fake.establishedAtMutex.Unlock()
  409. fake.EstablishedAtStub = stub
  410. }
  411. func (fake *Connection) EstablishedAtReturns(result1 time.Time) {
  412. fake.establishedAtMutex.Lock()
  413. defer fake.establishedAtMutex.Unlock()
  414. fake.EstablishedAtStub = nil
  415. fake.establishedAtReturns = struct {
  416. result1 time.Time
  417. }{result1}
  418. }
  419. func (fake *Connection) EstablishedAtReturnsOnCall(i int, result1 time.Time) {
  420. fake.establishedAtMutex.Lock()
  421. defer fake.establishedAtMutex.Unlock()
  422. fake.EstablishedAtStub = nil
  423. if fake.establishedAtReturnsOnCall == nil {
  424. fake.establishedAtReturnsOnCall = make(map[int]struct {
  425. result1 time.Time
  426. })
  427. }
  428. fake.establishedAtReturnsOnCall[i] = struct {
  429. result1 time.Time
  430. }{result1}
  431. }
  432. func (fake *Connection) ID() protocol.DeviceID {
  433. fake.iDMutex.Lock()
  434. ret, specificReturn := fake.iDReturnsOnCall[len(fake.iDArgsForCall)]
  435. fake.iDArgsForCall = append(fake.iDArgsForCall, struct {
  436. }{})
  437. stub := fake.IDStub
  438. fakeReturns := fake.iDReturns
  439. fake.recordInvocation("ID", []interface{}{})
  440. fake.iDMutex.Unlock()
  441. if stub != nil {
  442. return stub()
  443. }
  444. if specificReturn {
  445. return ret.result1
  446. }
  447. return fakeReturns.result1
  448. }
  449. func (fake *Connection) IDCallCount() int {
  450. fake.iDMutex.RLock()
  451. defer fake.iDMutex.RUnlock()
  452. return len(fake.iDArgsForCall)
  453. }
  454. func (fake *Connection) IDCalls(stub func() protocol.DeviceID) {
  455. fake.iDMutex.Lock()
  456. defer fake.iDMutex.Unlock()
  457. fake.IDStub = stub
  458. }
  459. func (fake *Connection) IDReturns(result1 protocol.DeviceID) {
  460. fake.iDMutex.Lock()
  461. defer fake.iDMutex.Unlock()
  462. fake.IDStub = nil
  463. fake.iDReturns = struct {
  464. result1 protocol.DeviceID
  465. }{result1}
  466. }
  467. func (fake *Connection) IDReturnsOnCall(i int, result1 protocol.DeviceID) {
  468. fake.iDMutex.Lock()
  469. defer fake.iDMutex.Unlock()
  470. fake.IDStub = nil
  471. if fake.iDReturnsOnCall == nil {
  472. fake.iDReturnsOnCall = make(map[int]struct {
  473. result1 protocol.DeviceID
  474. })
  475. }
  476. fake.iDReturnsOnCall[i] = struct {
  477. result1 protocol.DeviceID
  478. }{result1}
  479. }
  480. func (fake *Connection) Index(arg1 context.Context, arg2 string, arg3 []protocol.FileInfo) error {
  481. var arg3Copy []protocol.FileInfo
  482. if arg3 != nil {
  483. arg3Copy = make([]protocol.FileInfo, len(arg3))
  484. copy(arg3Copy, arg3)
  485. }
  486. fake.indexMutex.Lock()
  487. ret, specificReturn := fake.indexReturnsOnCall[len(fake.indexArgsForCall)]
  488. fake.indexArgsForCall = append(fake.indexArgsForCall, struct {
  489. arg1 context.Context
  490. arg2 string
  491. arg3 []protocol.FileInfo
  492. }{arg1, arg2, arg3Copy})
  493. stub := fake.IndexStub
  494. fakeReturns := fake.indexReturns
  495. fake.recordInvocation("Index", []interface{}{arg1, arg2, arg3Copy})
  496. fake.indexMutex.Unlock()
  497. if stub != nil {
  498. return stub(arg1, arg2, arg3)
  499. }
  500. if specificReturn {
  501. return ret.result1
  502. }
  503. return fakeReturns.result1
  504. }
  505. func (fake *Connection) IndexCallCount() int {
  506. fake.indexMutex.RLock()
  507. defer fake.indexMutex.RUnlock()
  508. return len(fake.indexArgsForCall)
  509. }
  510. func (fake *Connection) IndexCalls(stub func(context.Context, string, []protocol.FileInfo) error) {
  511. fake.indexMutex.Lock()
  512. defer fake.indexMutex.Unlock()
  513. fake.IndexStub = stub
  514. }
  515. func (fake *Connection) IndexArgsForCall(i int) (context.Context, string, []protocol.FileInfo) {
  516. fake.indexMutex.RLock()
  517. defer fake.indexMutex.RUnlock()
  518. argsForCall := fake.indexArgsForCall[i]
  519. return argsForCall.arg1, argsForCall.arg2, argsForCall.arg3
  520. }
  521. func (fake *Connection) IndexReturns(result1 error) {
  522. fake.indexMutex.Lock()
  523. defer fake.indexMutex.Unlock()
  524. fake.IndexStub = nil
  525. fake.indexReturns = struct {
  526. result1 error
  527. }{result1}
  528. }
  529. func (fake *Connection) IndexReturnsOnCall(i int, result1 error) {
  530. fake.indexMutex.Lock()
  531. defer fake.indexMutex.Unlock()
  532. fake.IndexStub = nil
  533. if fake.indexReturnsOnCall == nil {
  534. fake.indexReturnsOnCall = make(map[int]struct {
  535. result1 error
  536. })
  537. }
  538. fake.indexReturnsOnCall[i] = struct {
  539. result1 error
  540. }{result1}
  541. }
  542. func (fake *Connection) IndexUpdate(arg1 context.Context, arg2 string, arg3 []protocol.FileInfo) error {
  543. var arg3Copy []protocol.FileInfo
  544. if arg3 != nil {
  545. arg3Copy = make([]protocol.FileInfo, len(arg3))
  546. copy(arg3Copy, arg3)
  547. }
  548. fake.indexUpdateMutex.Lock()
  549. ret, specificReturn := fake.indexUpdateReturnsOnCall[len(fake.indexUpdateArgsForCall)]
  550. fake.indexUpdateArgsForCall = append(fake.indexUpdateArgsForCall, struct {
  551. arg1 context.Context
  552. arg2 string
  553. arg3 []protocol.FileInfo
  554. }{arg1, arg2, arg3Copy})
  555. stub := fake.IndexUpdateStub
  556. fakeReturns := fake.indexUpdateReturns
  557. fake.recordInvocation("IndexUpdate", []interface{}{arg1, arg2, arg3Copy})
  558. fake.indexUpdateMutex.Unlock()
  559. if stub != nil {
  560. return stub(arg1, arg2, arg3)
  561. }
  562. if specificReturn {
  563. return ret.result1
  564. }
  565. return fakeReturns.result1
  566. }
  567. func (fake *Connection) IndexUpdateCallCount() int {
  568. fake.indexUpdateMutex.RLock()
  569. defer fake.indexUpdateMutex.RUnlock()
  570. return len(fake.indexUpdateArgsForCall)
  571. }
  572. func (fake *Connection) IndexUpdateCalls(stub func(context.Context, string, []protocol.FileInfo) error) {
  573. fake.indexUpdateMutex.Lock()
  574. defer fake.indexUpdateMutex.Unlock()
  575. fake.IndexUpdateStub = stub
  576. }
  577. func (fake *Connection) IndexUpdateArgsForCall(i int) (context.Context, string, []protocol.FileInfo) {
  578. fake.indexUpdateMutex.RLock()
  579. defer fake.indexUpdateMutex.RUnlock()
  580. argsForCall := fake.indexUpdateArgsForCall[i]
  581. return argsForCall.arg1, argsForCall.arg2, argsForCall.arg3
  582. }
  583. func (fake *Connection) IndexUpdateReturns(result1 error) {
  584. fake.indexUpdateMutex.Lock()
  585. defer fake.indexUpdateMutex.Unlock()
  586. fake.IndexUpdateStub = nil
  587. fake.indexUpdateReturns = struct {
  588. result1 error
  589. }{result1}
  590. }
  591. func (fake *Connection) IndexUpdateReturnsOnCall(i int, result1 error) {
  592. fake.indexUpdateMutex.Lock()
  593. defer fake.indexUpdateMutex.Unlock()
  594. fake.IndexUpdateStub = nil
  595. if fake.indexUpdateReturnsOnCall == nil {
  596. fake.indexUpdateReturnsOnCall = make(map[int]struct {
  597. result1 error
  598. })
  599. }
  600. fake.indexUpdateReturnsOnCall[i] = struct {
  601. result1 error
  602. }{result1}
  603. }
  604. func (fake *Connection) IsLocal() bool {
  605. fake.isLocalMutex.Lock()
  606. ret, specificReturn := fake.isLocalReturnsOnCall[len(fake.isLocalArgsForCall)]
  607. fake.isLocalArgsForCall = append(fake.isLocalArgsForCall, struct {
  608. }{})
  609. stub := fake.IsLocalStub
  610. fakeReturns := fake.isLocalReturns
  611. fake.recordInvocation("IsLocal", []interface{}{})
  612. fake.isLocalMutex.Unlock()
  613. if stub != nil {
  614. return stub()
  615. }
  616. if specificReturn {
  617. return ret.result1
  618. }
  619. return fakeReturns.result1
  620. }
  621. func (fake *Connection) IsLocalCallCount() int {
  622. fake.isLocalMutex.RLock()
  623. defer fake.isLocalMutex.RUnlock()
  624. return len(fake.isLocalArgsForCall)
  625. }
  626. func (fake *Connection) IsLocalCalls(stub func() bool) {
  627. fake.isLocalMutex.Lock()
  628. defer fake.isLocalMutex.Unlock()
  629. fake.IsLocalStub = stub
  630. }
  631. func (fake *Connection) IsLocalReturns(result1 bool) {
  632. fake.isLocalMutex.Lock()
  633. defer fake.isLocalMutex.Unlock()
  634. fake.IsLocalStub = nil
  635. fake.isLocalReturns = struct {
  636. result1 bool
  637. }{result1}
  638. }
  639. func (fake *Connection) IsLocalReturnsOnCall(i int, result1 bool) {
  640. fake.isLocalMutex.Lock()
  641. defer fake.isLocalMutex.Unlock()
  642. fake.IsLocalStub = nil
  643. if fake.isLocalReturnsOnCall == nil {
  644. fake.isLocalReturnsOnCall = make(map[int]struct {
  645. result1 bool
  646. })
  647. }
  648. fake.isLocalReturnsOnCall[i] = struct {
  649. result1 bool
  650. }{result1}
  651. }
  652. func (fake *Connection) Priority() int {
  653. fake.priorityMutex.Lock()
  654. ret, specificReturn := fake.priorityReturnsOnCall[len(fake.priorityArgsForCall)]
  655. fake.priorityArgsForCall = append(fake.priorityArgsForCall, struct {
  656. }{})
  657. stub := fake.PriorityStub
  658. fakeReturns := fake.priorityReturns
  659. fake.recordInvocation("Priority", []interface{}{})
  660. fake.priorityMutex.Unlock()
  661. if stub != nil {
  662. return stub()
  663. }
  664. if specificReturn {
  665. return ret.result1
  666. }
  667. return fakeReturns.result1
  668. }
  669. func (fake *Connection) PriorityCallCount() int {
  670. fake.priorityMutex.RLock()
  671. defer fake.priorityMutex.RUnlock()
  672. return len(fake.priorityArgsForCall)
  673. }
  674. func (fake *Connection) PriorityCalls(stub func() int) {
  675. fake.priorityMutex.Lock()
  676. defer fake.priorityMutex.Unlock()
  677. fake.PriorityStub = stub
  678. }
  679. func (fake *Connection) PriorityReturns(result1 int) {
  680. fake.priorityMutex.Lock()
  681. defer fake.priorityMutex.Unlock()
  682. fake.PriorityStub = nil
  683. fake.priorityReturns = struct {
  684. result1 int
  685. }{result1}
  686. }
  687. func (fake *Connection) PriorityReturnsOnCall(i int, result1 int) {
  688. fake.priorityMutex.Lock()
  689. defer fake.priorityMutex.Unlock()
  690. fake.PriorityStub = nil
  691. if fake.priorityReturnsOnCall == nil {
  692. fake.priorityReturnsOnCall = make(map[int]struct {
  693. result1 int
  694. })
  695. }
  696. fake.priorityReturnsOnCall[i] = struct {
  697. result1 int
  698. }{result1}
  699. }
  700. func (fake *Connection) RemoteAddr() net.Addr {
  701. fake.remoteAddrMutex.Lock()
  702. ret, specificReturn := fake.remoteAddrReturnsOnCall[len(fake.remoteAddrArgsForCall)]
  703. fake.remoteAddrArgsForCall = append(fake.remoteAddrArgsForCall, struct {
  704. }{})
  705. stub := fake.RemoteAddrStub
  706. fakeReturns := fake.remoteAddrReturns
  707. fake.recordInvocation("RemoteAddr", []interface{}{})
  708. fake.remoteAddrMutex.Unlock()
  709. if stub != nil {
  710. return stub()
  711. }
  712. if specificReturn {
  713. return ret.result1
  714. }
  715. return fakeReturns.result1
  716. }
  717. func (fake *Connection) RemoteAddrCallCount() int {
  718. fake.remoteAddrMutex.RLock()
  719. defer fake.remoteAddrMutex.RUnlock()
  720. return len(fake.remoteAddrArgsForCall)
  721. }
  722. func (fake *Connection) RemoteAddrCalls(stub func() net.Addr) {
  723. fake.remoteAddrMutex.Lock()
  724. defer fake.remoteAddrMutex.Unlock()
  725. fake.RemoteAddrStub = stub
  726. }
  727. func (fake *Connection) RemoteAddrReturns(result1 net.Addr) {
  728. fake.remoteAddrMutex.Lock()
  729. defer fake.remoteAddrMutex.Unlock()
  730. fake.RemoteAddrStub = nil
  731. fake.remoteAddrReturns = struct {
  732. result1 net.Addr
  733. }{result1}
  734. }
  735. func (fake *Connection) RemoteAddrReturnsOnCall(i int, result1 net.Addr) {
  736. fake.remoteAddrMutex.Lock()
  737. defer fake.remoteAddrMutex.Unlock()
  738. fake.RemoteAddrStub = nil
  739. if fake.remoteAddrReturnsOnCall == nil {
  740. fake.remoteAddrReturnsOnCall = make(map[int]struct {
  741. result1 net.Addr
  742. })
  743. }
  744. fake.remoteAddrReturnsOnCall[i] = struct {
  745. result1 net.Addr
  746. }{result1}
  747. }
  748. func (fake *Connection) Request(arg1 context.Context, arg2 string, arg3 string, arg4 int, arg5 int64, arg6 int, arg7 []byte, arg8 uint32, arg9 bool) ([]byte, error) {
  749. var arg7Copy []byte
  750. if arg7 != nil {
  751. arg7Copy = make([]byte, len(arg7))
  752. copy(arg7Copy, arg7)
  753. }
  754. fake.requestMutex.Lock()
  755. ret, specificReturn := fake.requestReturnsOnCall[len(fake.requestArgsForCall)]
  756. fake.requestArgsForCall = append(fake.requestArgsForCall, struct {
  757. arg1 context.Context
  758. arg2 string
  759. arg3 string
  760. arg4 int
  761. arg5 int64
  762. arg6 int
  763. arg7 []byte
  764. arg8 uint32
  765. arg9 bool
  766. }{arg1, arg2, arg3, arg4, arg5, arg6, arg7Copy, arg8, arg9})
  767. stub := fake.RequestStub
  768. fakeReturns := fake.requestReturns
  769. fake.recordInvocation("Request", []interface{}{arg1, arg2, arg3, arg4, arg5, arg6, arg7Copy, arg8, arg9})
  770. fake.requestMutex.Unlock()
  771. if stub != nil {
  772. return stub(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9)
  773. }
  774. if specificReturn {
  775. return ret.result1, ret.result2
  776. }
  777. return fakeReturns.result1, fakeReturns.result2
  778. }
  779. func (fake *Connection) RequestCallCount() int {
  780. fake.requestMutex.RLock()
  781. defer fake.requestMutex.RUnlock()
  782. return len(fake.requestArgsForCall)
  783. }
  784. func (fake *Connection) RequestCalls(stub func(context.Context, string, string, int, int64, int, []byte, uint32, bool) ([]byte, error)) {
  785. fake.requestMutex.Lock()
  786. defer fake.requestMutex.Unlock()
  787. fake.RequestStub = stub
  788. }
  789. func (fake *Connection) RequestArgsForCall(i int) (context.Context, string, string, int, int64, int, []byte, uint32, bool) {
  790. fake.requestMutex.RLock()
  791. defer fake.requestMutex.RUnlock()
  792. argsForCall := fake.requestArgsForCall[i]
  793. return argsForCall.arg1, argsForCall.arg2, argsForCall.arg3, argsForCall.arg4, argsForCall.arg5, argsForCall.arg6, argsForCall.arg7, argsForCall.arg8, argsForCall.arg9
  794. }
  795. func (fake *Connection) RequestReturns(result1 []byte, result2 error) {
  796. fake.requestMutex.Lock()
  797. defer fake.requestMutex.Unlock()
  798. fake.RequestStub = nil
  799. fake.requestReturns = struct {
  800. result1 []byte
  801. result2 error
  802. }{result1, result2}
  803. }
  804. func (fake *Connection) RequestReturnsOnCall(i int, result1 []byte, result2 error) {
  805. fake.requestMutex.Lock()
  806. defer fake.requestMutex.Unlock()
  807. fake.RequestStub = nil
  808. if fake.requestReturnsOnCall == nil {
  809. fake.requestReturnsOnCall = make(map[int]struct {
  810. result1 []byte
  811. result2 error
  812. })
  813. }
  814. fake.requestReturnsOnCall[i] = struct {
  815. result1 []byte
  816. result2 error
  817. }{result1, result2}
  818. }
  819. func (fake *Connection) SetFolderPasswords(arg1 map[string]string) {
  820. fake.setFolderPasswordsMutex.Lock()
  821. fake.setFolderPasswordsArgsForCall = append(fake.setFolderPasswordsArgsForCall, struct {
  822. arg1 map[string]string
  823. }{arg1})
  824. stub := fake.SetFolderPasswordsStub
  825. fake.recordInvocation("SetFolderPasswords", []interface{}{arg1})
  826. fake.setFolderPasswordsMutex.Unlock()
  827. if stub != nil {
  828. fake.SetFolderPasswordsStub(arg1)
  829. }
  830. }
  831. func (fake *Connection) SetFolderPasswordsCallCount() int {
  832. fake.setFolderPasswordsMutex.RLock()
  833. defer fake.setFolderPasswordsMutex.RUnlock()
  834. return len(fake.setFolderPasswordsArgsForCall)
  835. }
  836. func (fake *Connection) SetFolderPasswordsCalls(stub func(map[string]string)) {
  837. fake.setFolderPasswordsMutex.Lock()
  838. defer fake.setFolderPasswordsMutex.Unlock()
  839. fake.SetFolderPasswordsStub = stub
  840. }
  841. func (fake *Connection) SetFolderPasswordsArgsForCall(i int) map[string]string {
  842. fake.setFolderPasswordsMutex.RLock()
  843. defer fake.setFolderPasswordsMutex.RUnlock()
  844. argsForCall := fake.setFolderPasswordsArgsForCall[i]
  845. return argsForCall.arg1
  846. }
  847. func (fake *Connection) Start() {
  848. fake.startMutex.Lock()
  849. fake.startArgsForCall = append(fake.startArgsForCall, struct {
  850. }{})
  851. stub := fake.StartStub
  852. fake.recordInvocation("Start", []interface{}{})
  853. fake.startMutex.Unlock()
  854. if stub != nil {
  855. fake.StartStub()
  856. }
  857. }
  858. func (fake *Connection) StartCallCount() int {
  859. fake.startMutex.RLock()
  860. defer fake.startMutex.RUnlock()
  861. return len(fake.startArgsForCall)
  862. }
  863. func (fake *Connection) StartCalls(stub func()) {
  864. fake.startMutex.Lock()
  865. defer fake.startMutex.Unlock()
  866. fake.StartStub = stub
  867. }
  868. func (fake *Connection) Statistics() protocol.Statistics {
  869. fake.statisticsMutex.Lock()
  870. ret, specificReturn := fake.statisticsReturnsOnCall[len(fake.statisticsArgsForCall)]
  871. fake.statisticsArgsForCall = append(fake.statisticsArgsForCall, struct {
  872. }{})
  873. stub := fake.StatisticsStub
  874. fakeReturns := fake.statisticsReturns
  875. fake.recordInvocation("Statistics", []interface{}{})
  876. fake.statisticsMutex.Unlock()
  877. if stub != nil {
  878. return stub()
  879. }
  880. if specificReturn {
  881. return ret.result1
  882. }
  883. return fakeReturns.result1
  884. }
  885. func (fake *Connection) StatisticsCallCount() int {
  886. fake.statisticsMutex.RLock()
  887. defer fake.statisticsMutex.RUnlock()
  888. return len(fake.statisticsArgsForCall)
  889. }
  890. func (fake *Connection) StatisticsCalls(stub func() protocol.Statistics) {
  891. fake.statisticsMutex.Lock()
  892. defer fake.statisticsMutex.Unlock()
  893. fake.StatisticsStub = stub
  894. }
  895. func (fake *Connection) StatisticsReturns(result1 protocol.Statistics) {
  896. fake.statisticsMutex.Lock()
  897. defer fake.statisticsMutex.Unlock()
  898. fake.StatisticsStub = nil
  899. fake.statisticsReturns = struct {
  900. result1 protocol.Statistics
  901. }{result1}
  902. }
  903. func (fake *Connection) StatisticsReturnsOnCall(i int, result1 protocol.Statistics) {
  904. fake.statisticsMutex.Lock()
  905. defer fake.statisticsMutex.Unlock()
  906. fake.StatisticsStub = nil
  907. if fake.statisticsReturnsOnCall == nil {
  908. fake.statisticsReturnsOnCall = make(map[int]struct {
  909. result1 protocol.Statistics
  910. })
  911. }
  912. fake.statisticsReturnsOnCall[i] = struct {
  913. result1 protocol.Statistics
  914. }{result1}
  915. }
  916. func (fake *Connection) String() string {
  917. fake.stringMutex.Lock()
  918. ret, specificReturn := fake.stringReturnsOnCall[len(fake.stringArgsForCall)]
  919. fake.stringArgsForCall = append(fake.stringArgsForCall, struct {
  920. }{})
  921. stub := fake.StringStub
  922. fakeReturns := fake.stringReturns
  923. fake.recordInvocation("String", []interface{}{})
  924. fake.stringMutex.Unlock()
  925. if stub != nil {
  926. return stub()
  927. }
  928. if specificReturn {
  929. return ret.result1
  930. }
  931. return fakeReturns.result1
  932. }
  933. func (fake *Connection) StringCallCount() int {
  934. fake.stringMutex.RLock()
  935. defer fake.stringMutex.RUnlock()
  936. return len(fake.stringArgsForCall)
  937. }
  938. func (fake *Connection) StringCalls(stub func() string) {
  939. fake.stringMutex.Lock()
  940. defer fake.stringMutex.Unlock()
  941. fake.StringStub = stub
  942. }
  943. func (fake *Connection) StringReturns(result1 string) {
  944. fake.stringMutex.Lock()
  945. defer fake.stringMutex.Unlock()
  946. fake.StringStub = nil
  947. fake.stringReturns = struct {
  948. result1 string
  949. }{result1}
  950. }
  951. func (fake *Connection) StringReturnsOnCall(i int, result1 string) {
  952. fake.stringMutex.Lock()
  953. defer fake.stringMutex.Unlock()
  954. fake.StringStub = nil
  955. if fake.stringReturnsOnCall == nil {
  956. fake.stringReturnsOnCall = make(map[int]struct {
  957. result1 string
  958. })
  959. }
  960. fake.stringReturnsOnCall[i] = struct {
  961. result1 string
  962. }{result1}
  963. }
  964. func (fake *Connection) Transport() string {
  965. fake.transportMutex.Lock()
  966. ret, specificReturn := fake.transportReturnsOnCall[len(fake.transportArgsForCall)]
  967. fake.transportArgsForCall = append(fake.transportArgsForCall, struct {
  968. }{})
  969. stub := fake.TransportStub
  970. fakeReturns := fake.transportReturns
  971. fake.recordInvocation("Transport", []interface{}{})
  972. fake.transportMutex.Unlock()
  973. if stub != nil {
  974. return stub()
  975. }
  976. if specificReturn {
  977. return ret.result1
  978. }
  979. return fakeReturns.result1
  980. }
  981. func (fake *Connection) TransportCallCount() int {
  982. fake.transportMutex.RLock()
  983. defer fake.transportMutex.RUnlock()
  984. return len(fake.transportArgsForCall)
  985. }
  986. func (fake *Connection) TransportCalls(stub func() string) {
  987. fake.transportMutex.Lock()
  988. defer fake.transportMutex.Unlock()
  989. fake.TransportStub = stub
  990. }
  991. func (fake *Connection) TransportReturns(result1 string) {
  992. fake.transportMutex.Lock()
  993. defer fake.transportMutex.Unlock()
  994. fake.TransportStub = nil
  995. fake.transportReturns = struct {
  996. result1 string
  997. }{result1}
  998. }
  999. func (fake *Connection) TransportReturnsOnCall(i int, result1 string) {
  1000. fake.transportMutex.Lock()
  1001. defer fake.transportMutex.Unlock()
  1002. fake.TransportStub = nil
  1003. if fake.transportReturnsOnCall == nil {
  1004. fake.transportReturnsOnCall = make(map[int]struct {
  1005. result1 string
  1006. })
  1007. }
  1008. fake.transportReturnsOnCall[i] = struct {
  1009. result1 string
  1010. }{result1}
  1011. }
  1012. func (fake *Connection) Type() string {
  1013. fake.typeMutex.Lock()
  1014. ret, specificReturn := fake.typeReturnsOnCall[len(fake.typeArgsForCall)]
  1015. fake.typeArgsForCall = append(fake.typeArgsForCall, struct {
  1016. }{})
  1017. stub := fake.TypeStub
  1018. fakeReturns := fake.typeReturns
  1019. fake.recordInvocation("Type", []interface{}{})
  1020. fake.typeMutex.Unlock()
  1021. if stub != nil {
  1022. return stub()
  1023. }
  1024. if specificReturn {
  1025. return ret.result1
  1026. }
  1027. return fakeReturns.result1
  1028. }
  1029. func (fake *Connection) TypeCallCount() int {
  1030. fake.typeMutex.RLock()
  1031. defer fake.typeMutex.RUnlock()
  1032. return len(fake.typeArgsForCall)
  1033. }
  1034. func (fake *Connection) TypeCalls(stub func() string) {
  1035. fake.typeMutex.Lock()
  1036. defer fake.typeMutex.Unlock()
  1037. fake.TypeStub = stub
  1038. }
  1039. func (fake *Connection) TypeReturns(result1 string) {
  1040. fake.typeMutex.Lock()
  1041. defer fake.typeMutex.Unlock()
  1042. fake.TypeStub = nil
  1043. fake.typeReturns = struct {
  1044. result1 string
  1045. }{result1}
  1046. }
  1047. func (fake *Connection) TypeReturnsOnCall(i int, result1 string) {
  1048. fake.typeMutex.Lock()
  1049. defer fake.typeMutex.Unlock()
  1050. fake.TypeStub = nil
  1051. if fake.typeReturnsOnCall == nil {
  1052. fake.typeReturnsOnCall = make(map[int]struct {
  1053. result1 string
  1054. })
  1055. }
  1056. fake.typeReturnsOnCall[i] = struct {
  1057. result1 string
  1058. }{result1}
  1059. }
  1060. func (fake *Connection) Invocations() map[string][][]interface{} {
  1061. fake.invocationsMutex.RLock()
  1062. defer fake.invocationsMutex.RUnlock()
  1063. fake.closeMutex.RLock()
  1064. defer fake.closeMutex.RUnlock()
  1065. fake.closedMutex.RLock()
  1066. defer fake.closedMutex.RUnlock()
  1067. fake.clusterConfigMutex.RLock()
  1068. defer fake.clusterConfigMutex.RUnlock()
  1069. fake.cryptoMutex.RLock()
  1070. defer fake.cryptoMutex.RUnlock()
  1071. fake.downloadProgressMutex.RLock()
  1072. defer fake.downloadProgressMutex.RUnlock()
  1073. fake.establishedAtMutex.RLock()
  1074. defer fake.establishedAtMutex.RUnlock()
  1075. fake.iDMutex.RLock()
  1076. defer fake.iDMutex.RUnlock()
  1077. fake.indexMutex.RLock()
  1078. defer fake.indexMutex.RUnlock()
  1079. fake.indexUpdateMutex.RLock()
  1080. defer fake.indexUpdateMutex.RUnlock()
  1081. fake.isLocalMutex.RLock()
  1082. defer fake.isLocalMutex.RUnlock()
  1083. fake.priorityMutex.RLock()
  1084. defer fake.priorityMutex.RUnlock()
  1085. fake.remoteAddrMutex.RLock()
  1086. defer fake.remoteAddrMutex.RUnlock()
  1087. fake.requestMutex.RLock()
  1088. defer fake.requestMutex.RUnlock()
  1089. fake.setFolderPasswordsMutex.RLock()
  1090. defer fake.setFolderPasswordsMutex.RUnlock()
  1091. fake.startMutex.RLock()
  1092. defer fake.startMutex.RUnlock()
  1093. fake.statisticsMutex.RLock()
  1094. defer fake.statisticsMutex.RUnlock()
  1095. fake.stringMutex.RLock()
  1096. defer fake.stringMutex.RUnlock()
  1097. fake.transportMutex.RLock()
  1098. defer fake.transportMutex.RUnlock()
  1099. fake.typeMutex.RLock()
  1100. defer fake.typeMutex.RUnlock()
  1101. copiedInvocations := map[string][][]interface{}{}
  1102. for key, value := range fake.invocations {
  1103. copiedInvocations[key] = value
  1104. }
  1105. return copiedInvocations
  1106. }
  1107. func (fake *Connection) recordInvocation(key string, args []interface{}) {
  1108. fake.invocationsMutex.Lock()
  1109. defer fake.invocationsMutex.Unlock()
  1110. if fake.invocations == nil {
  1111. fake.invocations = map[string][][]interface{}{}
  1112. }
  1113. if fake.invocations[key] == nil {
  1114. fake.invocations[key] = [][]interface{}{}
  1115. }
  1116. fake.invocations[key] = append(fake.invocations[key], args)
  1117. }
  1118. var _ protocol.Connection = new(Connection)