Guest
Hello,I'm having the following problem:
I've been writing some network code to be used in a library. There is a Socket class, which contains information about the file descriptor, it's status, etc. This class does not contain any information about objects from the application, such as a"user" or "client", since that would make the code non-generic and not reusable.
Whenever the Socket has an event, it calls a function called socket_handler from the main application. After all, the library doesn't even want to handle the input, that's up to the application.
My application has users (it's a chat server) and thus a User class storing name, email, password, etc. However, every time there is an event, the socket_handler needs to look up the user corresponding to the socket. Since my users are in a linked list (they come and they go after all, so an array is not the best choice here) this is a serious performance loss.
Instead I would like to have a pointer from the Socket class towards my User, without actually calling it a User, so that I could also use it for other projects.
Any ideas?
I've been writing some network code to be used in a library. There is a Socket class, which contains information about the file descriptor, it's status, etc. This class does not contain any information about objects from the application, such as a"user" or "client", since that would make the code non-generic and not reusable.
Whenever the Socket has an event, it calls a function called socket_handler from the main application. After all, the library doesn't even want to handle the input, that's up to the application.
My application has users (it's a chat server) and thus a User class storing name, email, password, etc. However, every time there is an event, the socket_handler needs to look up the user corresponding to the socket. Since my users are in a linked list (they come and they go after all, so an array is not the best choice here) this is a serious performance loss.
Instead I would like to have a pointer from the Socket class towards my User, without actually calling it a User, so that I could also use it for other projects.
Any ideas?