Guest User

Untitled

a guest
Oct 23rd, 2017
72
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.24 KB | None | 0 0
  1. pub struct Middleware {
  2. listener: TcpListener,
  3. queue: Vec<String>,
  4. servers: Vec<String>,
  5. }
  6.  
  7. impl Middleware {
  8. pub fn run(&mut self) {
  9. for stream in self.listener.incoming() {
  10. let mut stream = stream.unwrap();
  11. let mut buffer = vec![0u8; 512];
  12. stream.read(&mut buffer).unwrap();
  13. self.queue.push(String::from_utf8(buffer).unwrap());
  14. }
  15. }
  16.  
  17. impl Middleware {
  18. pub fn run(&mut self) {
  19. for stream in self.listener.incoming() {
  20. let mut stream = stream.unwrap();
  21. self.handle_client(stream);
  22. }
  23. }
  24.  
  25. fn handle_client(&mut self, mut stream: TcpStream) {
  26. let mut buffer = vec![0u8; 512];
  27. stream.read(&mut buffer).unwrap();
  28. self.queue.push(String::from_utf8(buffer).unwrap());
  29. }
  30. }
  31.  
  32. cannot borrow `*self` as mutable because `self.listener` is also borrowed as immutable
  33. --> src/lib.rs:21:13
  34. |
  35. 19 | for stream in self.listener.incoming() {
  36. | ------------- immutable borrow occurs here
  37. 20 | let mut stream = stream.unwrap();
  38. 21 | self.handle_client(stream);
  39. | ^^^^ mutable borrow occurs here
  40. 22 | }
  41. | - immutable borrow ends here
Add Comment
Please, Sign In to add comment