{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":638239430,"defaultBranch":"main","name":"golang-tcp-client-and-server","ownerLogin":"m-kuzmin","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2023-05-09T11:22:21.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/71077087?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1683640292.0","currentOid":""},"activityList":{"items":[{"before":"49125c0c805c5953c3775987fee078fa490164d4","after":"be2b0c81509d4a56968f032526fca826afd83665","ref":"refs/heads/main","pushedAt":"2023-05-19T09:03:57.293Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"m-kuzmin","name":"Maxim Kuzmin","path":"/m-kuzmin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/71077087?s=80&v=4"},"commit":{"message":"Implemented TCP server and client\n\n# Server:\r\n- Listen and accept connections\r\n- Read and display client message\r\n- Send response after reading\r\n- Graceful shutdown\r\n\r\n# Client\r\n- Connecting to a server\r\n- Send data to server\r\n- Read server response\r\n\r\n# Readme\r\n- Added currently implemented features","shortMessageHtmlLink":"Implemented TCP server and client"}},{"before":"5f85fe2d8763f91817c53c7c72093e48792fe779","after":"ce581a6811df3f419a3b7b3a69170b2e4cf22043","ref":"refs/heads/dev","pushedAt":"2023-05-17T18:48:08.690Z","pushType":"push","commitsCount":1,"pusher":{"login":"m-kuzmin","name":"Maxim Kuzmin","path":"/m-kuzmin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/71077087?s=80&v=4"},"commit":{"message":"readme: Added currently implemented features","shortMessageHtmlLink":"readme: Added currently implemented features"}},{"before":"38d9daa1570bcdf9ad88a10ecd66e4c4cc4248b8","after":"5f85fe2d8763f91817c53c7c72093e48792fe779","ref":"refs/heads/dev","pushedAt":"2023-05-17T13:46:40.096Z","pushType":"push","commitsCount":1,"pusher":{"login":"m-kuzmin","name":"Maxim Kuzmin","path":"/m-kuzmin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/71077087?s=80&v=4"},"commit":{"message":"client: Consider err from conn.Read as Fatal","shortMessageHtmlLink":"client: Consider err from conn.Read as Fatal"}},{"before":"8a56c5ec45812541252c69c3d5d85ffbe2afec68","after":"38d9daa1570bcdf9ad88a10ecd66e4c4cc4248b8","ref":"refs/heads/dev","pushedAt":"2023-05-17T13:45:13.712Z","pushType":"push","commitsCount":1,"pusher":{"login":"m-kuzmin","name":"Maxim Kuzmin","path":"/m-kuzmin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/71077087?s=80&v=4"},"commit":{"message":"fix(server): Added `break` to the close loop","shortMessageHtmlLink":"fix(server): Added break to the close loop"}},{"before":"0ab37ae163b54569de63790b3862cfdb5a1c4c15","after":"8a56c5ec45812541252c69c3d5d85ffbe2afec68","ref":"refs/heads/dev","pushedAt":"2023-05-17T13:38:32.139Z","pushType":"push","commitsCount":1,"pusher":{"login":"m-kuzmin","name":"Maxim Kuzmin","path":"/m-kuzmin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/71077087?s=80&v=4"},"commit":{"message":"feat(server)!: Added graceful shutdown\n\nAdded a quit channel and a wait group to stop all goroutines and\nshutdown the server gracefuly.\n\nBREAKING CHANGE: `handle_connection` expects two additional args:\n`wg WaitGroup` and `quitCh chan struct{}`. This is required for the implementation\nof graceful shutdown as these params are used for communication with the\nmain thread.","shortMessageHtmlLink":"feat(server)!: Added graceful shutdown"}},{"before":"02805c372578cd402cce948bc267f94416d72b07","after":"0ab37ae163b54569de63790b3862cfdb5a1c4c15","ref":"refs/heads/dev","pushedAt":"2023-05-17T09:53:44.417Z","pushType":"push","commitsCount":1,"pusher":{"login":"m-kuzmin","name":"Maxim Kuzmin","path":"/m-kuzmin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/71077087?s=80&v=4"},"commit":{"message":"rfct: Made `var`s const; Added package comment","shortMessageHtmlLink":"rfct: Made vars const; Added package comment"}},{"before":"4717acc9a8c2f3911616dd67ee3f5773f20e3dcb","after":"02805c372578cd402cce948bc267f94416d72b07","ref":"refs/heads/dev","pushedAt":"2023-05-17T09:00:03.100Z","pushType":"push","commitsCount":1,"pusher":{"login":"m-kuzmin","name":"Maxim Kuzmin","path":"/m-kuzmin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/71077087?s=80&v=4"},"commit":{"message":"lint: Renamed variables","shortMessageHtmlLink":"lint: Renamed variables"}},{"before":"81e943897e3468472028f7c079274a9772aeac8b","after":"4717acc9a8c2f3911616dd67ee3f5773f20e3dcb","ref":"refs/heads/dev","pushedAt":"2023-05-15T09:17:33.855Z","pushType":"push","commitsCount":1,"pusher":{"login":"m-kuzmin","name":"Maxim Kuzmin","path":"/m-kuzmin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/71077087?s=80&v=4"},"commit":{"message":"rfct: Moved `main`s into cmd//main.go","shortMessageHtmlLink":"rfct: Moved mains into cmd/<name>/main.go"}},{"before":"40fa52cb239bf3fbb9e203be0af43e71674425d1","after":"81e943897e3468472028f7c079274a9772aeac8b","ref":"refs/heads/dev","pushedAt":"2023-05-11T19:16:22.206Z","pushType":"push","commitsCount":2,"pusher":{"login":"m-kuzmin","name":"Maxim Kuzmin","path":"/m-kuzmin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/71077087?s=80&v=4"},"commit":{"message":"feat(client): Read server responce","shortMessageHtmlLink":"feat(client): Read server responce"}},{"before":"d1770e470e855646efb0372e5450529903498b33","after":"40fa52cb239bf3fbb9e203be0af43e71674425d1","ref":"refs/heads/dev","pushedAt":"2023-05-11T18:54:19.976Z","pushType":"push","commitsCount":2,"pusher":{"login":"m-kuzmin","name":"Maxim Kuzmin","path":"/m-kuzmin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/71077087?s=80&v=4"},"commit":{"message":"feat(server): Read and display client message","shortMessageHtmlLink":"feat(server): Read and display client message"}},{"before":"cc711c1f5621e24b19a203ff40196be17cbcf9a2","after":"d1770e470e855646efb0372e5450529903498b33","ref":"refs/heads/dev","pushedAt":"2023-05-11T10:37:14.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"m-kuzmin","name":"Maxim Kuzmin","path":"/m-kuzmin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/71077087?s=80&v=4"},"commit":{"message":"feat(client): Connecting to a server","shortMessageHtmlLink":"feat(client): Connecting to a server"}},{"before":"49125c0c805c5953c3775987fee078fa490164d4","after":"cc711c1f5621e24b19a203ff40196be17cbcf9a2","ref":"refs/heads/dev","pushedAt":"2023-05-11T10:20:02.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"m-kuzmin","name":"Maxim Kuzmin","path":"/m-kuzmin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/71077087?s=80&v=4"},"commit":{"message":"feat(server): Listen and accept connections","shortMessageHtmlLink":"feat(server): Listen and accept connections"}},{"before":"d2d363d0add08a6e4d13110afd6970975e39ac0b","after":"49125c0c805c5953c3775987fee078fa490164d4","ref":"refs/heads/main","pushedAt":"2023-05-10T11:02:35.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"m-kuzmin","name":"Maxim Kuzmin","path":"/m-kuzmin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/71077087?s=80&v=4"},"commit":{"message":"Initial commit","shortMessageHtmlLink":"Initial commit"}},{"before":"a8b650decc481e0f2d8e3fb9165cb9735436bb3f","after":"49125c0c805c5953c3775987fee078fa490164d4","ref":"refs/heads/dev","pushedAt":"2023-05-10T10:56:34.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"m-kuzmin","name":"Maxim Kuzmin","path":"/m-kuzmin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/71077087?s=80&v=4"},"commit":{"message":"Initial commit","shortMessageHtmlLink":"Initial commit"}},{"before":"a8b650decc481e0f2d8e3fb9165cb9735436bb3f","after":"d2d363d0add08a6e4d13110afd6970975e39ac0b","ref":"refs/heads/main","pushedAt":"2023-05-10T10:53:00.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"m-kuzmin","name":"Maxim Kuzmin","path":"/m-kuzmin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/71077087?s=80&v=4"},"commit":{"message":"Initial commit","shortMessageHtmlLink":"Initial commit"}},{"before":null,"after":"a8b650decc481e0f2d8e3fb9165cb9735436bb3f","ref":"refs/heads/dev","pushedAt":"2023-05-09T13:51:32.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"m-kuzmin","name":"Maxim Kuzmin","path":"/m-kuzmin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/71077087?s=80&v=4"},"commit":{"message":"Initial commit","shortMessageHtmlLink":"Initial commit"}},{"before":"98e59fd7d28d383961fb37c2483f72e2da922364","after":"a8b650decc481e0f2d8e3fb9165cb9735436bb3f","ref":"refs/heads/main","pushedAt":"2023-05-09T13:50:51.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"m-kuzmin","name":"Maxim Kuzmin","path":"/m-kuzmin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/71077087?s=80&v=4"},"commit":{"message":"Initial commit","shortMessageHtmlLink":"Initial commit"}},{"before":null,"after":"98e59fd7d28d383961fb37c2483f72e2da922364","ref":"refs/heads/main","pushedAt":"2023-05-09T11:22:22.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"m-kuzmin","name":"Maxim Kuzmin","path":"/m-kuzmin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/71077087?s=80&v=4"},"commit":{"message":"Initial commit","shortMessageHtmlLink":"Initial commit"}}],"hasNextPage":false,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAADMAVT6QA","startCursor":null,"endCursor":null}},"title":"Activity ยท m-kuzmin/golang-tcp-client-and-server"}