func()

in apt/method.go [75:101]


func (m *Method) Run(ctx context.Context) error {
	m.writer.SendCapabilities()
	for {
		select {
		case <-ctx.Done():
			return nil
		default:
		}
		msg, err := m.reader.ReadMessage(ctx)
		if errors.Is(err, errEmptyMessage) {
			continue
		} else if errors.Is(err, io.EOF) {
			return nil
		} else if err != nil {
			return err
		}
		switch msg.code {
		case 600:
			m.handleAcquire(ctx, msg)
		case 601:
			m.handleConfigure(msg)
		default:
			// TODO(hopkiw): now write a test for this.
			m.writer.Fail(fmt.Sprintf("Unsupported message code %d received from apt", msg.code))
		}
	}
}