diff options
| author | xengineering <me@xengineering.eu> | 2023-05-21 13:12:23 +0200 | 
|---|---|---|
| committer | xengineering <me@xengineering.eu> | 2023-05-21 13:12:23 +0200 | 
| commit | 1d46cedcbb92edf69f080bf3dca07509a14159e2 (patch) | |
| tree | 499fe796a6450f23e44fb82db1baf166fa1cf34d /xmpp | |
| parent | 37753409dc55da1a1cc3feed139f287a2d6215bb (diff) | |
| download | limox-1d46cedcbb92edf69f080bf3dca07509a14159e2.tar limox-1d46cedcbb92edf69f080bf3dca07509a14159e2.tar.zst limox-1d46cedcbb92edf69f080bf3dca07509a14159e2.zip | |
Introduce xengineering.eu/xmpp.Conn
Diffstat (limited to 'xmpp')
| -rw-r--r-- | xmpp/xmpp.go | 23 | 
1 files changed, 17 insertions, 6 deletions
| diff --git a/xmpp/xmpp.go b/xmpp/xmpp.go index 5193f02..1d00739 100644 --- a/xmpp/xmpp.go +++ b/xmpp/xmpp.go @@ -15,8 +15,19 @@ const (  	ShouldDisconnectEvent  ) -func Run(ch chan Event, jid string, pwd string) { -	conn, err := setupConn(jid) +type Conn struct { +	ch chan Event +	jid, pwd string +} + +func NewConn(ch chan Event, jid string, pwd string) *Conn { +	c := Conn{ch, jid, pwd} + +	return &c +} + +func (c *Conn) Run() { +	conn, err := setupConn(c.jid)  	if err != nil {  		log.Print(err)  		return @@ -32,15 +43,15 @@ func Run(ch chan Event, jid string, pwd string) {  	tr := newTokenRouter(&enc) -	end := sendStreamStart(&enc, jid) +	end := sendStreamStart(&enc, c.jid)  	defer sendStreamEnd(&enc, end) -	ch <- ConnectEvent -	defer func() { ch <- DisconnectEvent }() +	c.ch <- ConnectEvent +	defer func() { c.ch <- DisconnectEvent }()  	for {  		select { -		case ev := <-ch: +		case ev := <-c.ch:  			switch ev {  			case ShouldDisconnectEvent:  				return | 
