summaryrefslogtreecommitdiff
path: root/xmpp/session.go
diff options
context:
space:
mode:
authorxengineering <me@xengineering.eu>2023-06-28 09:57:55 +0200
committerxengineering <me@xengineering.eu>2023-06-28 09:57:55 +0200
commit4d9633f05b70a15aeb0ff39a405d76bcc2d66464 (patch)
tree999ae7c536b1181b8ecfd65399f4c2b8d4031432 /xmpp/session.go
parente32245f371927f80c0f0b0b43bc9e7435ee28a27 (diff)
downloadlimox-4d9633f05b70a15aeb0ff39a405d76bcc2d66464.tar
limox-4d9633f05b70a15aeb0ff39a405d76bcc2d66464.tar.zst
limox-4d9633f05b70a15aeb0ff39a405d76bcc2d66464.zip
xmpp: Move Stream logic to stream_pair.go
The new source file should contain the complete stream logic.
Diffstat (limited to 'xmpp/session.go')
-rw-r--r--xmpp/session.go44
1 files changed, 1 insertions, 43 deletions
diff --git a/xmpp/session.go b/xmpp/session.go
index 8b2d4ab..f14cd34 100644
--- a/xmpp/session.go
+++ b/xmpp/session.go
@@ -49,24 +49,9 @@ func (s *session) run() {
go s.ed.run()
defer func() { s.ed.terminator <- true }()
- s.openStream()
- defer s.closeStreams()
-
s.out <- SessionConnect{}
- for {
- select {
- case data := <-s.in:
- switch data.(type) {
- case SessionShouldDisconnect:
- return
- default:
- log.Printf("Unknown data '%d'!\n", data)
- }
- case _ = <-s.rx:
- // TODO route received XML token here
- }
- }
+ runStreamPair(s)
}
func (s *session) startTransport() error {
@@ -86,30 +71,3 @@ func (s *session) startTransport() error {
return nil
}
-
-func (s *session) openStream() {
- start := xml.StartElement{
- xml.Name{"jabber:client", "stream:stream"},
- []xml.Attr{
- xml.Attr{xml.Name{"", "from"}, s.jid},
- xml.Attr{xml.Name{"", "to"}, domainpart(s.jid)},
- xml.Attr{xml.Name{"", "version"}, "1.0"},
- xml.Attr{xml.Name{"", "xml:lang"}, "en"},
- xml.Attr{xml.Name{"", "xmlns:stream"}, "http://etherx.jabber.org/streams"},
- },
- }
-
- s.streamEnd = start.End()
-
- err := s.ed.encodeToken(start)
- if err != nil {
- log.Println("Could not encode stream start!")
- }
-}
-
-func (s *session) closeStreams() {
- err := s.ed.encodeToken(s.streamEnd)
- if err != nil {
- log.Println("Could not encode stream end!")
- }
-}