android13/external/openscreen/osp/go/receiver.go

28 lines
781 B
Go

// Copyright 2018 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
package osp
// TODO(jophba):
// - Send a response message
// - Make a nice object API with methods
// - Make it possible to have a presentation receiver that is a client
// - Close connection on unknown message types
import (
"context"
"crypto/tls"
)
func RunPresentationReceiver(ctx context.Context, mdnsInstanceName string, port int, cert tls.Certificate, presentUrl func(string)) {
messages := make(chan interface{})
go ReadMessagesAsServer(ctx, mdnsInstanceName, port, cert, messages)
for msg := range messages {
switch m := msg.(type) {
case PresentationStartRequest:
presentUrl(m.URL)
}
}
}