small housekeeping tasks
This commit is contained in:
4
haskell/README.md
Normal file
4
haskell/README.md
Normal file
@@ -0,0 +1,4 @@
|
||||
|
||||
# P2PRC Haskell library doc
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
|
||||
module API
|
||||
( P2prAPI(..)
|
||||
( P2PRCapi(..)
|
||||
, MapPortRequest(..)
|
||||
, getP2prcAPI
|
||||
)
|
||||
@@ -32,7 +32,7 @@ import Environment ( cleanEnvironment )
|
||||
|
||||
|
||||
|
||||
data P2prAPI = MkP2prAPI
|
||||
data P2PRCapi = MkP2PRCapi
|
||||
{ startServer :: IOEitherError ProcessHandle
|
||||
, execInitConfig :: IOEitherError P2prcConfig
|
||||
, execListServers :: IOEitherError IPAdressTable
|
||||
@@ -44,7 +44,7 @@ data MapPortRequest
|
||||
= MkMapPortRequest Int String
|
||||
|
||||
|
||||
getP2prcAPI :: IOEitherError P2prAPI
|
||||
getP2prcAPI :: IOEitherError P2PRCapi
|
||||
getP2prcAPI = do
|
||||
|
||||
cleanEnvironment
|
||||
@@ -64,23 +64,23 @@ getP2prcAPI = do
|
||||
|
||||
in do
|
||||
|
||||
Right $ MkP2prAPI
|
||||
Right $ MkP2PRCapi
|
||||
{ startServer = spawnProcP2Prc p2prcCmd [ MkOptAtomic "--s" ]
|
||||
|
||||
, execListServers =
|
||||
execProcP2PrcParser [ MkOptAtomic "--ls" ] MkEmptyStdInput
|
||||
|
||||
, execMapPort =
|
||||
\ (MkMapPortRequest portNumber _) ->
|
||||
\ (MkMapPortRequest portNumber domainName) ->
|
||||
execProcP2PrcParser
|
||||
[ MkOptTuple
|
||||
( "--mp"
|
||||
, show portNumber
|
||||
)
|
||||
-- , MkOptTuple -- TODO: add domain parameter
|
||||
-- ( "--dm"
|
||||
-- , domainName
|
||||
-- )
|
||||
, MkOptTuple
|
||||
( "--dn"
|
||||
, domainName
|
||||
)
|
||||
]
|
||||
MkEmptyStdInput
|
||||
|
||||
|
||||
@@ -7,8 +7,8 @@ import System.Process ( terminateProcess )
|
||||
import Control.Concurrent ( threadDelay )
|
||||
|
||||
import API
|
||||
( P2prAPI(..)
|
||||
, MapPortRequest(..)
|
||||
( P2PRCapi(..)
|
||||
, MapPortRequest(MkMapPortRequest)
|
||||
, getP2prcAPI
|
||||
)
|
||||
|
||||
@@ -37,13 +37,14 @@ import API
|
||||
runP2Prc :: IO ()
|
||||
runP2Prc = do
|
||||
|
||||
|
||||
--
|
||||
-- TODO: add quickcheck testing (quickchecking-dynamic)
|
||||
--
|
||||
-- TODO: Change Standard Library
|
||||
-- TODO: add GDTA syntax to data types
|
||||
--
|
||||
-- TODO: need monad transformers to refactor the code
|
||||
--
|
||||
-- TODO: add quickcheck testing (quickchecking-dynamic)
|
||||
--
|
||||
-- TODO: parse IO arguments;
|
||||
-- TODO: create DSL from the standard input
|
||||
@@ -68,7 +69,7 @@ runP2Prc = do
|
||||
case eitherP2prcAPI of
|
||||
(Right p2prcAPI) -> do
|
||||
let
|
||||
( MkP2prAPI
|
||||
( MkP2PRCapi
|
||||
{ startServer = startServer
|
||||
, execInitConfig = execInitConfig
|
||||
, execListServers = execListServers
|
||||
|
||||
@@ -1,13 +1,7 @@
|
||||
cabal-version: 3.0
|
||||
|
||||
|
||||
-- http://haskell.org/cabal/users-guide/
|
||||
|
||||
-- The name of the package.
|
||||
name: p2prc
|
||||
|
||||
|
||||
-- The package version.
|
||||
-- See the Haskell package versioning policy (PVP) for standards
|
||||
-- guiding when and how versions should be incremented.
|
||||
-- https://pvp.haskell.org
|
||||
@@ -16,59 +10,43 @@ name: p2prc
|
||||
-- | | | +--- code changes with no API change
|
||||
version: 0.1.0.0
|
||||
|
||||
-- A short (one-line) description of the package.
|
||||
synopsis: p2prc haskell library
|
||||
|
||||
-- A longer description of the package.
|
||||
description: Implements a client interface to the P2Prc networking runtime
|
||||
description: Implements a client interface to the P2PRC networking runtime
|
||||
|
||||
-- The license under which the package is released.
|
||||
license: GPL-3.0-only
|
||||
|
||||
-- The file containing the license text.
|
||||
license-file: LICENSE
|
||||
|
||||
-- The package author(s).
|
||||
author: xecarlox94
|
||||
|
||||
-- An email address to which users can send suggestions, bug reports, and patches.
|
||||
maintainer: jf94.uk@gmail.com
|
||||
|
||||
-- A copyright notice.
|
||||
-- copyright:
|
||||
category: Network
|
||||
build-type: Simple
|
||||
|
||||
-- Extra doc files to be distributed with the package, such as a CHANGELOG or a README.
|
||||
extra-doc-files: CHANGELOG.md
|
||||
extra-doc-files: README.md
|
||||
|
||||
-- Extra source files to be distributed with the package, such as examples, or a tutorial module.
|
||||
-- extra-source-files:
|
||||
|
||||
common warnings
|
||||
ghc-options: -Wall
|
||||
|
||||
executable p2prc
|
||||
-- Import common warning flags.
|
||||
|
||||
import: warnings
|
||||
|
||||
-- Directories containing source files.
|
||||
hs-source-dirs: src
|
||||
|
||||
-- .hs or .lhs file containing the Main module.
|
||||
main-is: Main.hs
|
||||
|
||||
-- Modules included in this executable, other than Main.
|
||||
-- other-modules: Example
|
||||
|
||||
-- LANGUAGE extensions used by modules in this package.
|
||||
other-extensions: OverloadedStrings
|
||||
|
||||
-- Other library packages from which modules are imported.
|
||||
build-depends: base
|
||||
, p2prc
|
||||
|
||||
-- Base language which the package is written in.
|
||||
default-language: GHC2021
|
||||
|
||||
library
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
|
||||
|
||||
module Main where
|
||||
|
||||
import P2Prc (runP2Prc)
|
||||
|
||||
Reference in New Issue
Block a user