Skip to content

Commit a0e3c03

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

File tree

20 files changed

+1287
-0
lines changed

20 files changed

+1287
-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: 94 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,94 @@
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+
, quic ^>=0.2
52+
, stm >=2.4 && <2.6
53+
, text >= 2.0 && <2.2
54+
, tls
55+
, tls-session-manager
56+
exposed-modules: Network.Transport.QUIC
57+
Network.Transport.QUIC.Internal
58+
other-modules: Network.Transport.QUIC.Internal.Configuration
59+
Network.Transport.QUIC.Internal.Client
60+
Network.Transport.QUIC.Internal.EndpointState
61+
Network.Transport.QUIC.Internal.Messaging
62+
Network.Transport.QUIC.Internal.QUICAddr
63+
Network.Transport.QUIC.Internal.QUICTransport
64+
Network.Transport.QUIC.Internal.Server
65+
Network.Transport.QUIC.Internal.TLS
66+
Network.Transport.QUIC.Internal.TransportState
67+
default-language: Haskell2010
68+
default-extensions: ImportQualifiedPost
69+
-- The -threaded option is /required/ to use the quic library
70+
hs-source-dirs: src
71+
72+
test-suite network-transport-quic-tests
73+
import: common
74+
default-language: Haskell2010
75+
default-extensions: ImportQualifiedPost
76+
main-is: Main.hs
77+
other-modules: Test.Network.Transport.QUIC
78+
Test.Network.Transport.QUIC.Internal.Messaging
79+
Test.Network.Transport.QUIC.Internal.QUICAddr
80+
type: exitcode-stdio-1.0
81+
hs-source-dirs: test
82+
build-depends: base
83+
, bytestring
84+
, filepath
85+
, hedgehog
86+
, ip
87+
, network
88+
, network-transport
89+
, network-transport-quic
90+
, network-transport-tests
91+
, tasty ^>=1.5
92+
, tasty-hedgehog
93+
, tasty-hunit
94+
, 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)