Documentation ¶
Index ¶
- Variables
- func AltProtoMiddleware(next http.Handler, port int) http.Handler
- func CreateGoQuicAlarm(go_quic_alarm_go_wrapper_c unsafe.Pointer, clock_c unsafe.Pointer, ...) int64
- func CreateGoSession(dispatcher_key int64, session_c unsafe.Pointer) int64
- func CreateIncomingDynamicStream(session_key int64, stream_id uint32, wrapper_c unsafe.Pointer) int64
- func DeleteCryptoConfig(config *ServerCryptoConfig)
- func DeleteGoSession(dispatcher_key int64, go_session_key int64)
- func GetProof(proof_source_key int64, server_ip_c unsafe.Pointer, server_ip_sz C.size_t, ...) C.int
- func GoQuicAlarmCancelImpl(go_quic_alarm_key int64)
- func GoQuicAlarmDestroy(go_quic_alarm_key int64)
- func GoQuicAlarmSetImpl(go_quic_alarm_key int64, deadline int64)
- func GoQuicSimpleServerStreamOnClose(quic_server_stream_key int64)
- func GoQuicSimpleServerStreamOnDataAvailable(quic_server_stream_key int64, data unsafe.Pointer, data_len uint32, ...)
- func GoQuicSimpleServerStreamOnInitialHeadersComplete(quic_server_stream_key int64, data unsafe.Pointer, data_len uint32)
- func GoQuicSimpleServerStreamOnTrailingHeadersComplete(quic_server_stream_key int64, data unsafe.Pointer, data_len uint32)
- func GoQuicSpdyClientStreamOnClose(quic_client_stream_key int64)
- func GoQuicSpdyClientStreamOnDataAvailable(quic_client_stream_key int64, data unsafe.Pointer, data_len uint32, ...)
- func GoQuicSpdyClientStreamOnInitialHeadersComplete(quic_client_stream_key int64, data unsafe.Pointer, data_len uint32)
- func GoQuicSpdyClientStreamOnTrailingHeadersComplete(quic_client_stream_key int64, data unsafe.Pointer, data_len uint32)
- func ListenAndServe(addr string, certFile string, keyFile string, numOfServers int, ...) error
- func ListenAndServeQuicSpdyOnly(addr string, certFile string, keyFile string, numOfServers int, ...) error
- func NewProofVerifyJob(proof_verifier_key int64, hostname_c unsafe.Pointer, hostname_sz C.size_t, ...) int64
- func ProofVerifyJobAddCert(job_key int64, cert_c unsafe.Pointer, cert_sz C.size_t)
- func ProofVerifyJobVerifyProof(job_key int64) C.int
- func ReleaseClientWriter(go_client_writer_key int64)
- func ReleaseProofSource(proof_source_key int64)
- func ReleaseProofVerifier(proof_verifier_key int64)
- func ReleaseQuicDispatcher(task_runner_key int64)
- func ReleaseServerWriter(go_server_writer_key int64)
- func ReleaseTaskRunner(task_runner_key int64)
- func SetLogLevel(level int)
- func UnregisterQuicClientStreamFromSession(quic_client_stream_key int64)
- func UnregisterQuicServerStreamFromSession(quic_server_stream_key int64)
- func WriteToUDP(go_writer_key int64, peer_ip unsafe.Pointer, peer_ip_sz C.size_t, ...)
- func WriteToUDPClient(go_writer_key int64, peer_ip unsafe.Pointer, peer_ip_sz C.size_t, ...)
- type AlarmHeap
- type ClientWriter
- type ClientWriterPtr
- type Conn
- func (c *Conn) Close() (err error)
- func (c *Conn) Connect(secure bool) bool
- func (c *Conn) CreateStream() *SpdyClientStream
- func (c *Conn) GetAddr() *net.UDPAddr
- func (c *Conn) SetDeadline(t time.Time) (err error)
- func (c *Conn) SetReadDeadline(t time.Time) (err error)
- func (c *Conn) SetWriteDeadline(t time.Time) (err error)
- func (c *Conn) Writer() *ClientWriter
- type DataStreamProcessor
- type DispatcherStatistics
- type GoIPEndPoint
- type GoQuicAlarm
- type GoQuicAlarmPtr
- type HeapItem
- type IncomingDataStreamCreator
- type OutgoingDataStreamCreator
- type ProofSource
- type ProofSourcePtr
- type ProofVerifier
- type ProofVerifierPtr
- type ProofVerifyJob
- type ProofVerifyJobPtr
- type QuicClient
- func (qc *QuicClient) Close() (err error)
- func (qc *QuicClient) CreateReliableQuicStream() *QuicClientStream
- func (qc *QuicClient) EncryptionBeingEstablished() bool
- func (qc *QuicClient) IsConnected() bool
- func (qc *QuicClient) ProcessPacket(self_address *net.UDPAddr, peer_address *net.UDPAddr, buffer []byte)
- func (qc *QuicClient) SendConnectionClosePacket()
- func (qc *QuicClient) StartConnect()
- type QuicClientSession
- type QuicClientStream
- type QuicClientStreamPtr
- type QuicConn
- type QuicDispatcher
- type QuicDispatcherPtr
- type QuicEncryptedPacket
- type QuicRoundTripper
- type QuicServer
- type QuicServerSession
- type QuicServerSessionPtr
- type QuicServerStream
- type QuicServerStreamPtr
- type QuicSpdyServer
- type QuicStream
- type ServerCryptoConfig
- type ServerStatistics
- type ServerWriter
- type ServerWriterPtr
- type SessionStatistics
- type SimpleServerStream
- func (stream *SimpleServerStream) OnClose()
- func (stream *SimpleServerStream) OnDataAvailable(data []byte, isClosed bool)
- func (stream *SimpleServerStream) OnInitialHeadersComplete(headerBuf []byte)
- func (stream *SimpleServerStream) OnTrailingHeadersComplete(headerBuf []byte)
- func (stream *SimpleServerStream) ProcessRequest()
- type SpdyClientSession
- type SpdyClientStream
- func (stream *SpdyClientStream) FinWrite() error
- func (stream *SpdyClientStream) Header() (http.Header, error)
- func (stream *SpdyClientStream) OnClose()
- func (stream *SpdyClientStream) OnDataAvailable(data []byte, isClosed bool)
- func (stream *SpdyClientStream) OnInitialHeadersComplete(headerBuf []byte)
- func (stream *SpdyClientStream) OnTrailingHeadersComplete(headerBuf []byte)
- func (stream *SpdyClientStream) Read(p []byte) (int, error)
- func (stream *SpdyClientStream) Trailer() http.Header
- func (stream *SpdyClientStream) Write(buf []byte) (int, error)
- func (stream *SpdyClientStream) WriteHeader(header http.Header, isBodyEmpty bool)
- type SpdyServerSession
- type TaskRunner
- type TaskRunnerPtr
- type UdpData
Constants ¶
This section is empty.
Variables ¶
var ProofSignatureLabel = []byte{'Q', 'U', 'I', 'C', ' ', 's', 'e', 'r', 'v', 'e', 'r', ' ', 'c', 'o', 'n', 'f', 'i', 'g', ' ', 's', 'i', 'g', 'n', 'a', 't', 'u', 'r', 'e', 0x00}
Functions ¶
func AltProtoMiddleware ¶
Provide "Alternate-Protocol" header for QUIC
func CreateGoQuicAlarm ¶
func DeleteCryptoConfig ¶
func DeleteCryptoConfig(config *ServerCryptoConfig)
func DeleteGoSession ¶
func GoQuicAlarmCancelImpl ¶
func GoQuicAlarmCancelImpl(go_quic_alarm_key int64)
func GoQuicAlarmDestroy ¶
func GoQuicAlarmDestroy(go_quic_alarm_key int64)
func GoQuicAlarmSetImpl ¶
func GoQuicSimpleServerStreamOnClose ¶
func GoQuicSimpleServerStreamOnClose(quic_server_stream_key int64)
func GoQuicSpdyClientStreamOnClose ¶
func GoQuicSpdyClientStreamOnClose(quic_client_stream_key int64)
func ListenAndServe ¶
func NewProofVerifyJob ¶
func ProofVerifyJobAddCert ¶
func ReleaseClientWriter ¶
func ReleaseClientWriter(go_client_writer_key int64)
func ReleaseProofSource ¶
func ReleaseProofSource(proof_source_key int64)
func ReleaseProofVerifier ¶
func ReleaseProofVerifier(proof_verifier_key int64)
func ReleaseQuicDispatcher ¶
func ReleaseQuicDispatcher(task_runner_key int64)
func ReleaseServerWriter ¶
func ReleaseServerWriter(go_server_writer_key int64)
func ReleaseTaskRunner ¶
func ReleaseTaskRunner(task_runner_key int64)
func SetLogLevel ¶
func SetLogLevel(level int)
func UnregisterQuicClientStreamFromSession ¶
func UnregisterQuicClientStreamFromSession(quic_client_stream_key int64)
func UnregisterQuicServerStreamFromSession ¶
func UnregisterQuicServerStreamFromSession(quic_server_stream_key int64)
func WriteToUDP ¶
Types ¶
type ClientWriter ¶
type ClientWriter struct {
Ch chan UdpData
}
func NewClientWriter ¶
func NewClientWriter(ch chan UdpData) *ClientWriter
type ClientWriterPtr ¶
func (*ClientWriterPtr) Del ¶
func (p *ClientWriterPtr) Del(key int64)
func (*ClientWriterPtr) Get ¶
func (p *ClientWriterPtr) Get(key int64) *ClientWriter
func (*ClientWriterPtr) Set ¶
func (p *ClientWriterPtr) Set(pt *ClientWriter) int64
type Conn ¶
func (*Conn) CreateStream ¶
func (c *Conn) CreateStream() *SpdyClientStream
func (*Conn) Writer ¶
func (c *Conn) Writer() *ClientWriter
type DataStreamProcessor ¶
type DataStreamProcessor interface { OnInitialHeadersComplete(data []byte) OnTrailingHeadersComplete(data []byte) OnDataAvailable(data []byte, isClosed bool) OnClose() }
(~= QuicSpdy(Server|Client)Stream)
type DispatcherStatistics ¶
type DispatcherStatistics struct {
SessionStatistics []SessionStatistics
}
type GoIPEndPoint ¶
type GoIPEndPoint struct {
// contains filtered or unexported fields
}
func CreateIPEndPoint ¶
func CreateIPEndPoint(udpAddr *net.UDPAddr) *GoIPEndPoint
type GoQuicAlarm ¶
type GoQuicAlarm struct {
// contains filtered or unexported fields
}
func (*GoQuicAlarm) CancelImpl ¶
func (alarm *GoQuicAlarm) CancelImpl()
func (*GoQuicAlarm) Destroy ¶
func (alarm *GoQuicAlarm) Destroy()
Called by C++ side when the C++ wrapper object is destoryed
func (*GoQuicAlarm) Now ¶
func (alarm *GoQuicAlarm) Now() int64
func (*GoQuicAlarm) OnAlarm ¶
func (alarm *GoQuicAlarm) OnAlarm()
func (*GoQuicAlarm) SetImpl ¶
func (alarm *GoQuicAlarm) SetImpl()
type GoQuicAlarmPtr ¶
func (*GoQuicAlarmPtr) Del ¶
func (p *GoQuicAlarmPtr) Del(key int64)
func (*GoQuicAlarmPtr) Get ¶
func (p *GoQuicAlarmPtr) Get(key int64) *GoQuicAlarm
func (*GoQuicAlarmPtr) Set ¶
func (p *GoQuicAlarmPtr) Set(pt *GoQuicAlarm) int64
type IncomingDataStreamCreator ¶
type IncomingDataStreamCreator interface {
CreateIncomingDynamicStream(quicServerStream *QuicServerStream, streamId uint32) DataStreamProcessor
}
(~= QuicServerSession)
type OutgoingDataStreamCreator ¶
type OutgoingDataStreamCreator interface {
CreateOutgoingDynamicStream() DataStreamProcessor
}
(~= QuicClientSession)
type ProofSource ¶
type ProofSource struct { IsSecure bool // if false do not make any checks Certificate tls.Certificate // contains filtered or unexported fields }
func NewProofSource ¶
func NewProofSource(cert tls.Certificate, isSecure bool) *ProofSource
type ProofSourcePtr ¶
func (*ProofSourcePtr) Del ¶
func (p *ProofSourcePtr) Del(key int64)
func (*ProofSourcePtr) Get ¶
func (p *ProofSourcePtr) Get(key int64) *ProofSource
func (*ProofSourcePtr) Set ¶
func (p *ProofSourcePtr) Set(pt *ProofSource) int64
type ProofVerifier ¶
type ProofVerifier struct {
// contains filtered or unexported fields
}
func CreateProofVerifier ¶
func CreateProofVerifier() *ProofVerifier
type ProofVerifierPtr ¶
func (*ProofVerifierPtr) Del ¶
func (p *ProofVerifierPtr) Del(key int64)
func (*ProofVerifierPtr) Get ¶
func (p *ProofVerifierPtr) Get(key int64) *ProofVerifier
func (*ProofVerifierPtr) Set ¶
func (p *ProofVerifierPtr) Set(pt *ProofVerifier) int64
type ProofVerifyJob ¶
type ProofVerifyJob struct {
// contains filtered or unexported fields
}
func (*ProofVerifyJob) CheckSignature ¶
func (job *ProofVerifyJob) CheckSignature(cert *x509.Certificate) error
func (*ProofVerifyJob) Verify ¶
func (job *ProofVerifyJob) Verify() bool
type ProofVerifyJobPtr ¶
func (*ProofVerifyJobPtr) Del ¶
func (p *ProofVerifyJobPtr) Del(key int64)
func (*ProofVerifyJobPtr) Get ¶
func (p *ProofVerifyJobPtr) Get(key int64) *ProofVerifyJob
func (*ProofVerifyJobPtr) Set ¶
func (p *ProofVerifyJobPtr) Set(pt *ProofVerifyJob) int64
type QuicClient ¶
type QuicClient struct {
// contains filtered or unexported fields
}
TODO(hodduc) multi-stream support ?
func CreateQuicClient ¶
func CreateQuicClient(addr *net.UDPAddr, conn QuicConn, createQuicClientSession func() OutgoingDataStreamCreator, taskRunner *TaskRunner, proofVerifier *ProofVerifier) (qc *QuicClient, err error)
func (*QuicClient) Close ¶
func (qc *QuicClient) Close() (err error)
func (*QuicClient) CreateReliableQuicStream ¶
func (qc *QuicClient) CreateReliableQuicStream() *QuicClientStream
func (*QuicClient) EncryptionBeingEstablished ¶
func (qc *QuicClient) EncryptionBeingEstablished() bool
func (*QuicClient) IsConnected ¶
func (qc *QuicClient) IsConnected() bool
func (*QuicClient) ProcessPacket ¶
func (*QuicClient) SendConnectionClosePacket ¶
func (qc *QuicClient) SendConnectionClosePacket()
func (*QuicClient) StartConnect ¶
func (qc *QuicClient) StartConnect()
type QuicClientSession ¶
type QuicClientSession struct {
// contains filtered or unexported fields
}
func (*QuicClientSession) NumActiveRequests ¶
func (s *QuicClientSession) NumActiveRequests() int
type QuicClientStream ¶
type QuicClientStream struct {
// contains filtered or unexported fields
}
implement QuicStream
func (*QuicClientStream) UserStream ¶
func (stream *QuicClientStream) UserStream() DataStreamProcessor
func (*QuicClientStream) WriteHeader ¶
func (stream *QuicClientStream) WriteHeader(header http.Header, is_body_empty bool)
func (*QuicClientStream) WriteOrBufferData ¶
func (stream *QuicClientStream) WriteOrBufferData(body []byte, fin bool)
type QuicClientStreamPtr ¶
func (*QuicClientStreamPtr) Del ¶
func (p *QuicClientStreamPtr) Del(key int64)
func (*QuicClientStreamPtr) Get ¶
func (p *QuicClientStreamPtr) Get(key int64) *QuicClientStream
func (*QuicClientStreamPtr) Set ¶
func (p *QuicClientStreamPtr) Set(pt *QuicClientStream) int64
type QuicDispatcher ¶
type QuicDispatcher struct { TaskRunner *TaskRunner // contains filtered or unexported fields }
func CreateQuicDispatcher ¶
func CreateQuicDispatcher(writer *ServerWriter, createQuicServerSession func() IncomingDataStreamCreator, taskRunner *TaskRunner, cryptoConfig *ServerCryptoConfig) *QuicDispatcher
func (*QuicDispatcher) ProcessPacket ¶
func (*QuicDispatcher) Statistics ¶
func (d *QuicDispatcher) Statistics() DispatcherStatistics
type QuicDispatcherPtr ¶
func (*QuicDispatcherPtr) Del ¶
func (p *QuicDispatcherPtr) Del(key int64)
func (*QuicDispatcherPtr) Get ¶
func (p *QuicDispatcherPtr) Get(key int64) *QuicDispatcher
func (*QuicDispatcherPtr) Set ¶
func (p *QuicDispatcherPtr) Set(pt *QuicDispatcher) int64
type QuicEncryptedPacket ¶
type QuicEncryptedPacket struct {
// contains filtered or unexported fields
}
type QuicRoundTripper ¶
type QuicRoundTripper struct {
// contains filtered or unexported fields
}
func NewRoundTripper ¶
func NewRoundTripper(keepConnection bool) *QuicRoundTripper
type QuicServer ¶
type QuicServer struct { Q *QuicSpdyServer Writer *ServerWriter ReadChan chan UdpData StatChan chan statCallback // contains filtered or unexported fields }
func NewQuicServer ¶
func NewQuicServer(addr string) (*QuicServer, error)
func (*QuicServer) Close ¶
func (qs *QuicServer) Close()
func (*QuicServer) Serve ¶
func (qs *QuicServer) Serve() error
type QuicServerSession ¶
type QuicServerSession struct {
// contains filtered or unexported fields
}
type QuicServerSessionPtr ¶
func (*QuicServerSessionPtr) Del ¶
func (p *QuicServerSessionPtr) Del(key int64)
func (*QuicServerSessionPtr) Get ¶
func (p *QuicServerSessionPtr) Get(key int64) *QuicServerSession
func (*QuicServerSessionPtr) Set ¶
func (p *QuicServerSessionPtr) Set(pt *QuicServerSession) int64
type QuicServerStream ¶
type QuicServerStream struct {
// contains filtered or unexported fields
}
implement QuicStream
func (*QuicServerStream) UserStream ¶
func (stream *QuicServerStream) UserStream() DataStreamProcessor
func (*QuicServerStream) WriteHeader ¶
func (stream *QuicServerStream) WriteHeader(header http.Header, is_body_empty bool)
func (*QuicServerStream) WriteOrBufferData ¶
func (stream *QuicServerStream) WriteOrBufferData(body []byte, fin bool)
type QuicServerStreamPtr ¶
func (*QuicServerStreamPtr) Del ¶
func (p *QuicServerStreamPtr) Del(key int64)
func (*QuicServerStreamPtr) Get ¶
func (p *QuicServerStreamPtr) Get(key int64) *QuicServerStream
func (*QuicServerStreamPtr) Set ¶
func (p *QuicServerStreamPtr) Set(pt *QuicServerStream) int64
type QuicSpdyServer ¶
type QuicSpdyServer struct { Addr string Handler http.Handler ReadTimeout time.Duration WriteTimeout time.Duration MaxHeaderBytes int Certificate tls.Certificate // contains filtered or unexported fields }
func (*QuicSpdyServer) ListenAndServe ¶
func (srv *QuicSpdyServer) ListenAndServe() error
func (*QuicSpdyServer) Serve ¶
func (srv *QuicSpdyServer) Serve(listen_addr *net.UDPAddr, writer *ServerWriter, readChan chan UdpData, statChan chan statCallback) error
func (*QuicSpdyServer) Statistics ¶
func (srv *QuicSpdyServer) Statistics() (*ServerStatistics, error)
type QuicStream ¶
type ServerCryptoConfig ¶
type ServerCryptoConfig struct {
// contains filtered or unexported fields
}
func InitCryptoConfig ¶
func InitCryptoConfig(proofSource *ProofSource) *ServerCryptoConfig
type ServerStatistics ¶
type ServerStatistics struct {
SessionStatistics []SessionStatistics
}
type ServerWriter ¶
type ServerWriter struct {
Ch chan UdpData
}
func NewServerWriter ¶
func NewServerWriter(ch chan UdpData) *ServerWriter
type ServerWriterPtr ¶
func (*ServerWriterPtr) Del ¶
func (p *ServerWriterPtr) Del(key int64)
func (*ServerWriterPtr) Get ¶
func (p *ServerWriterPtr) Get(key int64) *ServerWriter
func (*ServerWriterPtr) Set ¶
func (p *ServerWriterPtr) Set(pt *ServerWriter) int64
type SessionStatistics ¶
type SessionStatistics struct {
Cstat C.struct_ConnStat
}
type SimpleServerStream ¶
type SimpleServerStream struct {
// contains filtered or unexported fields
}
implement DataStreamProcessor for Server
func (*SimpleServerStream) OnClose ¶
func (stream *SimpleServerStream) OnClose()
func (*SimpleServerStream) OnDataAvailable ¶
func (stream *SimpleServerStream) OnDataAvailable(data []byte, isClosed bool)
func (*SimpleServerStream) OnInitialHeadersComplete ¶
func (stream *SimpleServerStream) OnInitialHeadersComplete(headerBuf []byte)
func (*SimpleServerStream) OnTrailingHeadersComplete ¶
func (stream *SimpleServerStream) OnTrailingHeadersComplete(headerBuf []byte)
func (*SimpleServerStream) ProcessRequest ¶
func (stream *SimpleServerStream) ProcessRequest()
type SpdyClientSession ¶
type SpdyClientSession struct {
// contains filtered or unexported fields
}
implement OutgoingDataStreamCreator for Client
func (*SpdyClientSession) CreateOutgoingDynamicStream ¶
func (c *SpdyClientSession) CreateOutgoingDynamicStream() DataStreamProcessor
type SpdyClientStream ¶
type SpdyClientStream struct {
// contains filtered or unexported fields
}
implement DataStreamProcessor for Client
func (*SpdyClientStream) FinWrite ¶
func (stream *SpdyClientStream) FinWrite() error
func (*SpdyClientStream) OnClose ¶
func (stream *SpdyClientStream) OnClose()
called on Stream closing. This may be called when both read/write side is closed or there is some error so that stream is force closed (in libquic side).
func (*SpdyClientStream) OnDataAvailable ¶
func (stream *SpdyClientStream) OnDataAvailable(data []byte, isClosed bool)
func (*SpdyClientStream) OnInitialHeadersComplete ¶
func (stream *SpdyClientStream) OnInitialHeadersComplete(headerBuf []byte)
func (*SpdyClientStream) OnTrailingHeadersComplete ¶
func (stream *SpdyClientStream) OnTrailingHeadersComplete(headerBuf []byte)
func (*SpdyClientStream) Trailer ¶
func (stream *SpdyClientStream) Trailer() http.Header
func (*SpdyClientStream) WriteHeader ¶
func (stream *SpdyClientStream) WriteHeader(header http.Header, isBodyEmpty bool)
type SpdyServerSession ¶
type SpdyServerSession struct {
// contains filtered or unexported fields
}
implement IncomingDataStreamCreator for Server
func (*SpdyServerSession) CreateIncomingDynamicStream ¶
func (s *SpdyServerSession) CreateIncomingDynamicStream(quicServerStream *QuicServerStream, streamId uint32) DataStreamProcessor
type TaskRunner ¶
type TaskRunner struct {
// contains filtered or unexported fields
}
This TaskRunner is NOT THREAD SAFE (and NEED NOT TO BE) so be careful All heap operations should be called in a mainloop, not seperated goroutine
func CreateTaskRunner ¶
func CreateTaskRunner() *TaskRunner
func (*TaskRunner) CancelAlarm ¶
func (t *TaskRunner) CancelAlarm(alarm *GoQuicAlarm)
func (*TaskRunner) DoTasks ¶
func (t *TaskRunner) DoTasks()
func (*TaskRunner) RegisterAlarm ¶
func (t *TaskRunner) RegisterAlarm(alarm *GoQuicAlarm)
func (*TaskRunner) RunAlarm ¶
func (t *TaskRunner) RunAlarm(alarm *GoQuicAlarm)
func (*TaskRunner) UnregisterAlarm ¶
func (t *TaskRunner) UnregisterAlarm(alarm *GoQuicAlarm)
func (*TaskRunner) WaitTimer ¶
func (t *TaskRunner) WaitTimer() <-chan time.Time
type TaskRunnerPtr ¶
func (*TaskRunnerPtr) Del ¶
func (p *TaskRunnerPtr) Del(key int64)
func (*TaskRunnerPtr) Get ¶
func (p *TaskRunnerPtr) Get(key int64) *TaskRunner
func (*TaskRunnerPtr) Set ¶
func (p *TaskRunnerPtr) Set(pt *TaskRunner) int64
Source Files ¶
- alarm.go
- client.go
- client_conn.go
- client_wrapper.go
- datastream_client.go
- datastream_server.go
- dispatcher.go
- goquic.go
- init.go
- init_posix.go
- ip.go
- proof_source.go
- proof_verifier.go
- ptr.go
- quic_server.go
- quicstream_client.go
- quicstream_server.go
- server.go
- statistics.go
- stream.go
- task_runner.go
- writer.go