mirror of
https://github.com/yggdrasil-network/yggdrasil-go
synced 2024-11-09 23:20:26 +03:00
Added two new methods to mobile
package (#974)
* Added two new methods In order to implement https://github.com/yggdrasil-network/yggdrasil-android/issues/25 we need these new methods. * Renamed methods, changed comments
This commit is contained in:
parent
cfa293d189
commit
ee33bd248f
@ -115,6 +115,18 @@ func (m *Yggdrasil) Send(p []byte) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
// Send sends a packet from given buffer to Yggdrasil. From first byte up to length.
|
||||
func (m *Yggdrasil) SendBuffer(p []byte, length int) error {
|
||||
if m.iprwc == nil {
|
||||
return nil
|
||||
}
|
||||
if len(p) < length {
|
||||
return nil
|
||||
}
|
||||
_, _ = m.iprwc.Write(p[:length])
|
||||
return nil
|
||||
}
|
||||
|
||||
// Recv waits for and reads a packet coming from Yggdrasil. It
|
||||
// will be a fully formed IPv6 packet
|
||||
func (m *Yggdrasil) Recv() ([]byte, error) {
|
||||
@ -126,6 +138,15 @@ func (m *Yggdrasil) Recv() ([]byte, error) {
|
||||
return buf[:n], nil
|
||||
}
|
||||
|
||||
// Recv waits for and reads a packet coming from Yggdrasil to given buffer, returning size of packet
|
||||
func (m *Yggdrasil) RecvBuffer(buf []byte) (int, error) {
|
||||
if m.iprwc == nil {
|
||||
return 0, nil
|
||||
}
|
||||
n, _ := m.iprwc.Read(buf)
|
||||
return n, nil
|
||||
}
|
||||
|
||||
// Stop the mobile Yggdrasil instance
|
||||
func (m *Yggdrasil) Stop() error {
|
||||
logger := log.New(m.log, "", 0)
|
||||
|
Loading…
Reference in New Issue
Block a user