Skip to content

Commit b3a47af

Browse files
committed
Work-in-progress
1 parent 2edcdf0 commit b3a47af

File tree

19 files changed

+1297
-0
lines changed

19 files changed

+1297
-0
lines changed
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
Copyright (c) Laurent P. René de Cotret
2+
3+
Permission is hereby granted, free of charge, to any person obtaining
4+
a copy of this software and associated documentation files (the
5+
"Software"), to deal in the Software without restriction, including
6+
without limitation the rights to use, copy, modify, merge, publish,
7+
distribute, sublicense, and/or sell copies of the Software, and to
8+
permit persons to whom the Software is furnished to do so, subject to
9+
the following conditions:
10+
11+
The above copyright notice and this permission notice shall be included
12+
in all copies or substantial portions of the Software.
13+
14+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
17+
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
18+
CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
19+
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
20+
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Lines changed: 96 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,96 @@
1+
cabal-version: 3.0
2+
Name: network-transport-quic
3+
Version: 0.1.0
4+
build-Type: Simple
5+
License: BSD-3-Clause
6+
License-file: LICENSE
7+
Copyright: Laurent P. René de Cotret
8+
Author: Laurent P. René de Cotret
9+
maintainer: The Distributed Haskell team
10+
Stability: experimental
11+
Homepage: http://haskell-distributed.github.com
12+
Bug-Reports: https://github.com/haskell-distributed/distributed-process/issues
13+
Synopsis: Networking layer for Cloud Haskell based on QUIC
14+
Description: Networking layer for Cloud Haskell based on QUIC
15+
tested-with: GHC==8.10.7 GHC==9.0.2 GHC==9.2.8 GHC==9.4.5 GHC==9.6.4 GHC==9.8.2 GHC==9.10.1 GHC==9.12.1
16+
Category: Network
17+
extra-doc-files: ChangeLog
18+
extra-source-files: test/credentials/*
19+
20+
source-repository head
21+
Type: git
22+
Location: https://github.com/haskell-distributed/distributed-process
23+
SubDir: packages/network-transport-quic
24+
25+
common common
26+
ghc-options:
27+
-- warnings
28+
-Wall
29+
-Wcompat
30+
-Widentities
31+
-Wincomplete-uni-patterns
32+
-Wincomplete-record-updates
33+
-Wredundant-constraints
34+
-fhide-source-paths
35+
-Wpartial-fields
36+
-Wunused-packages
37+
-- The -threaded option is /required/ to use the quic library
38+
-threaded
39+
40+
library
41+
import: common
42+
build-depends: attoparsec
43+
, base >= 4.14 && < 5
44+
, binary >= 0.8 && < 0.10
45+
, bytestring >= 0.10 && < 0.13
46+
, containers
47+
, ip
48+
, microlens-platform ^>=0.4
49+
, network >= 3.1 && < 3.3
50+
, network-transport >= 0.5 && < 0.6
51+
-- Prior to version 0.2.20, `quic` had issues with handling
52+
-- pending data in the stream buffer. This meant that vectored
53+
-- message sends did not work correctly at the transport layer
54+
, quic >=0.2.20 && <0.3
55+
, stm >=2.4 && <2.6
56+
, text >= 2.0 && <2.2
57+
, tls
58+
, tls-session-manager
59+
exposed-modules: Network.Transport.QUIC
60+
Network.Transport.QUIC.Internal
61+
other-modules: Network.Transport.QUIC.Internal.Configuration
62+
Network.Transport.QUIC.Internal.Client
63+
Network.Transport.QUIC.Internal.EndpointState
64+
Network.Transport.QUIC.Internal.Messaging
65+
Network.Transport.QUIC.Internal.QUICAddr
66+
Network.Transport.QUIC.Internal.QUICTransport
67+
Network.Transport.QUIC.Internal.Server
68+
Network.Transport.QUIC.Internal.TLS
69+
default-language: Haskell2010
70+
default-extensions: ImportQualifiedPost
71+
-- The -threaded option is /required/ to use the quic library
72+
hs-source-dirs: src
73+
74+
test-suite network-transport-quic-tests
75+
import: common
76+
default-language: Haskell2010
77+
default-extensions: ImportQualifiedPost
78+
main-is: Main.hs
79+
other-modules: Test.Network.Transport.QUIC
80+
Test.Network.Transport.QUIC.Internal.Messaging
81+
Test.Network.Transport.QUIC.Internal.QUICAddr
82+
type: exitcode-stdio-1.0
83+
hs-source-dirs: test
84+
build-depends: base
85+
, bytestring
86+
, filepath
87+
, hedgehog
88+
, ip
89+
, network
90+
, network-transport
91+
, network-transport-quic
92+
, network-transport-tests
93+
, tasty ^>=1.5
94+
, tasty-hedgehog
95+
, tasty-hunit
96+
, text
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
module Network.Transport.QUIC (
2+
createTransport,
3+
QUICAddr (..),
4+
5+
-- * Re-export to generate credentials
6+
Credential,
7+
credentialLoadX509,
8+
) where
9+
10+
import Network.Transport.QUIC.Internal (
11+
-- \* Re-export to generate credentials
12+
Credential,
13+
QUICAddr (..),
14+
createTransport,
15+
credentialLoadX509,
16+
)

0 commit comments

Comments
 (0)