Merge branch 'master' into raph
This commit is contained in:
commit
520814d6bd
9 changed files with 357 additions and 225 deletions
52
diagram.puml
52
diagram.puml
|
|
@ -10,11 +10,13 @@ class "main()"
|
|||
' ========================
|
||||
class Server {
|
||||
- _port : int
|
||||
- _serverFd : int
|
||||
- _password : string
|
||||
- _server_fd : int
|
||||
- _poll : PollManager
|
||||
- _pollManager : PollManager
|
||||
- _users : map<int, User*>
|
||||
|
||||
+ Server(port : int, password : string)
|
||||
+ ~Server()
|
||||
+ start() : void
|
||||
+ getPort() : int
|
||||
+ showInfo() : void
|
||||
|
|
@ -25,38 +27,42 @@ class Server {
|
|||
' ============================
|
||||
class PollManager {
|
||||
- _fds : vector<pollfd>
|
||||
- _users : map<int, User>
|
||||
|
||||
+ addUser(fd : int) : void
|
||||
+ removeUser(fd : int) : void
|
||||
+ updateUser(fd : int, events : short) : void
|
||||
+ pollLoop(server_fd : int) : void
|
||||
+ readFromUser(fd : int) : void
|
||||
+ writeToUser(fd : int) : void
|
||||
+ PollManager()
|
||||
+ ~PollManager()
|
||||
+ setServerFd(fd : int) : void
|
||||
+ addClient(fd : short unsigned) : void
|
||||
+ removeClient(fd : short unsigned) : void
|
||||
+ updateServer(fd : short unsigned) : void
|
||||
+ pollLoop(server_fd : int, newClients : vector<int>, disconnected : vector<int>, readyClients : vector<pair<int, string>>) : void
|
||||
}
|
||||
|
||||
' ========================
|
||||
' CLASS: User
|
||||
' ========================
|
||||
class User {
|
||||
- _fd : int
|
||||
- _nickname : string
|
||||
- _username : string
|
||||
- _hostname : string
|
||||
- _readBuffer : string
|
||||
- _writeBuffer : string
|
||||
- _fd : short unsigned int
|
||||
- _registered : bool
|
||||
|
||||
+ getFd() : int
|
||||
+ getName() : string
|
||||
+ setNickname(name : string) : void
|
||||
+ appendToReadBuffer(data : string) : void
|
||||
+ appendToWriteBuffer(data : string) : void
|
||||
+ extractFullCommand() : string
|
||||
- _nickname : string
|
||||
- _hostname : string
|
||||
- _read_buffer : string
|
||||
- _write_buffer : string
|
||||
- _username : string
|
||||
- _hasNick : bool
|
||||
- _hasUser : bool
|
||||
|
||||
+ User(fd : short unsigned int)
|
||||
+ getFd() : short unsigned int
|
||||
+ isReadyToSend() : bool
|
||||
+ isRegistered() : bool
|
||||
+ getName() : string
|
||||
+ extractFullCommand() : string
|
||||
+ appendToReadBuffer(data : string) : void
|
||||
+ appendToWriteBuffer(data : string) : void
|
||||
+ setNickname(nickname : string) : void
|
||||
+ setUsername(username : string) : void
|
||||
+ checkRegistration() : void
|
||||
}
|
||||
|
||||
' ========================
|
||||
' CLASS: Channel
|
||||
' ========================
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue