X-Git-Url: http://www.git.cypherpunks.ru/?a=blobdiff_plain;f=client.go;h=3637d499da5e245990241eaffb0efad337214600;hb=990937d451208b0299246c46dd29adf7a35f97ee;hp=afd6312714837e70b8c89550575054ac5efd7341;hpb=cfeaaad88f71bf1b0846251b7f448bf41bde26d9;p=goircd.git diff --git a/client.go b/client.go index afd6312..3637d49 100644 --- a/client.go +++ b/client.go @@ -31,12 +31,13 @@ const ( ) type Client struct { - hostname string + hostname *string conn net.Conn registered bool nickname string username string realname string + password string } type ClientAlivenessState struct { @@ -48,8 +49,8 @@ func (client Client) String() string { return client.nickname + "!" + client.username + "@" + client.conn.RemoteAddr().String() } -func NewClient(hostname string, conn net.Conn) *Client { - return &Client{hostname: hostname, conn: conn, nickname: "*"} +func NewClient(hostname *string, conn net.Conn) *Client { + return &Client{hostname: hostname, conn: conn, nickname: "*", password: ""} } // Client processor blockingly reads everything remote client sends, @@ -64,7 +65,6 @@ func (client *Client) Processor(sink chan<- ClientEvent) { bufNet = make([]byte, BufSize) _, err := client.conn.Read(bufNet) if err != nil { - log.Println(client, "connection lost", err) sink <- ClientEvent{client, EventDel, ""} break } @@ -89,7 +89,7 @@ func (client *Client) Msg(text string) { // Send message from server. It has ": servername" prefix. func (client *Client) Reply(text string) { - client.Msg(":" + client.hostname + " " + text) + client.Msg(":" + *client.hostname + " " + text) } // Send server message, concatenating all provided text parts and