问题标签 [hpack]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
377 浏览

haskell - 模块'main:Main'在多个文件中定义 - 但它们是同一个文件

我开始一个新的堆栈项目,stack new demo并在应用程序文件夹中定义了第二个文件Other.hs。没有依赖关系,只是:

package.yaml下面executables我添加

现在当我这样做时,stack build我得到:

所以我添加-main-is到 ghc-options:

现在stack build可以工作了,但是在stack-ghci选择我得到的可执行文件之一之后,

0 投票
1 回答
91 浏览

haskell - 使用 hpack (package.yaml) 时从“堆栈构建”中临时排除文件

一个人可能在source-dirs目录中的一个 haskell 文件上工作,并且现在决定不将该文件包含在一个stack build. 有没有一种简单的方法可以暂时排除构建中的文件?

显而易见的解决方法是将文件移动到另一个目录,但我希望这可以在 hpack 中以一种我在 hpack 文档中找不到的简单方式实现。

0 投票
0 回答
49 浏览

haskell - 解释 hpack 宏操作符

今天我正在研究 conferer 库,并在 hpack package.yaml 文件中发现了一些有趣的语法,提醒我一些宏语言,但我找不到关于该主题的任何内容 - 在 hpack 跟踪器中没有包含单词 operator/macro 的错误。

在 package.yaml 中:

在 package.common.yaml 中:

所以包含的文件定义了一个宏,以后会用到。

0 投票
1 回答
12 浏览

http2 - HTTP2 中的动态表更新过程

我们对动态表更新的 HTTP2 协议栈的理解有疑问。我们希望清楚地了解在远程端按顺序发送头帧的情况下更新动态表的过程。

抱歉英语不好,希望您能理解我们的担忧。

设想 :

  1. 假设远端'R'想要发送两个请求R1和R2,但是由于窗口限制,R1被分成两个帧R1-F1和R1-F2。
  2. 远程端“R”然后按此顺序发送帧
    *) R1-F1
    *) R2
    *) R1-F2

在这种情况下,我想知道何时更新远程端的动态表以及 R1 请求的本地端。就好像我们先更新远端的动态表为R1整体然后R2,那么我们将如何同步本地端的动态表,因为R1在R2之后完全接收。

或者我们必须为每个帧构建动态表,而不考虑请求头的总大小?

0 投票
0 回答
41 浏览

git - 堆栈是否不仅在构建时重新运行 hpack,而且已经在更改时重新运行?

我将堆栈与 hpack 一起使用,以便.cabal从 hpack 的package.yaml. 很多时候,当我想切换分支时,我会为不断更改.cabal文件而苦苦挣扎。

  • 我跑git restore *.cabal。工作树处于未分级状态。
  • 在我跑步后立即git switch branch得到

错误:您对以下文件的本地更改将被结帐覆盖:Package.cabal

  • 错误消息是正确的,因为.cabal已更改,现在有未提交的更改。我没有观察确切的情况,但在这里我Paths_Package的分支之间有所不同。

为什么会这样?每次修改都会stack重新运行吗?在构建之前hpack重新计算还不够吗?.cabal

这种行为令人沮丧,我现在如何解决它是作为单个命令运行的:

git restore *.cabal && git switch branch

以上作品。它说明了重新计算的时刻是什么?

重要的

最后一件事是重新计算可以从不同的来源触发。我不记得它来自哪里,但我的终端在旁边显示堆栈项目的 ghc 版本。我对触发它的唯一想法是stack --bash-completion-script。我有来自 aur 的默认 manjaro zsh 配置和堆栈。在切换之前是否有一些守护进程正在等待进行一些更改?

提前致谢!

0 投票
0 回答
3 浏览

java - 用于 APNs 的 Http/2 HttpClient 和 HPACK 的 Java 代码

我们正在将 APNS 从基于 Cert 迁移到基于 Token。在 Headers 中遇到 HPACK 的推荐

我正在使用 Curl 命令将 http 消息发送到 Apple API,我得到 200 OK 作为响应。但是无法接收任何通知。

因此计划使用 Java 代码实现相同的功能。高度赞赏任何使用 Java 的 HPACK 实现代码片段示例