Skip to content
Snippets Groups Projects
Commit e38b41d4 authored by Jonah Husson's avatar Jonah Husson
Browse files

More fixes from MR

parent c5d813a5
No related branches found
No related tags found
2 merge requests!510Release,!228New bindings for api2.0
...@@ -35,7 +35,7 @@ type ReceivedFile struct { ...@@ -35,7 +35,7 @@ type ReceivedFile struct {
Preview []byte Preview []byte
Name string Name string
Type string Type string
Size uint32 Size int
} }
// FileSend is a public struct which represents a file to be transferred // FileSend is a public struct which represents a file to be transferred
...@@ -61,8 +61,8 @@ type FileSend struct { ...@@ -61,8 +61,8 @@ type FileSend struct {
// } // }
type Progress struct { type Progress struct {
Completed bool Completed bool
Transmitted uint16 Transmitted int
Total uint16 Total int
Err error Err error
} }
...@@ -88,33 +88,14 @@ type FileTransferReceiveProgressCallback interface { ...@@ -88,33 +88,14 @@ type FileTransferReceiveProgressCallback interface {
// InitFileTransfer creates a bindings-level File Transfer manager // InitFileTransfer creates a bindings-level File Transfer manager
// Accepts client ID, ReceiveFileCallback and a ReporterFunc // Accepts client ID, ReceiveFileCallback and a ReporterFunc
func InitFileTransfer(clientID, e2eID int, cb ReceiveFileCallback) (*FileTransfer, error) { func InitFileTransfer(e2eID int) (*FileTransfer, error) {
// Get bindings client from singleton // Get bindings client from singleton
//c, err := cmixTrackerSingleton.get(clientID)
//if err != nil {
// return nil, err
//}
e2eCl, err := e2eTrackerSingleton.get(e2eID) e2eCl, err := e2eTrackerSingleton.get(e2eID)
if err != nil { if err != nil {
return nil, err return nil, err
} }
// Create the callback to wrap the ReceiveFileCallback
//rcb := func(tid *ftCrypto.TransferID, fileName, fileType string,
// sender *id.ID, size uint32, preview []byte) {
// f := &ReceivedFile{
// TransferID: tid.Bytes(),
// SenderID: sender.Marshal(),
// Preview: preview,
// Name: fileName,
// Type: fileType,
// Size: size,
// }
// cb.Callback(json.Marshal(f))
//}
// Client info // Client info
e2eCl.api.GetTransmissionIdentity()
myID := e2eCl.api.GetTransmissionIdentity().ID myID := e2eCl.api.GetTransmissionIdentity().ID
rng := e2eCl.api.GetRng() rng := e2eCl.api.GetRng()
...@@ -149,8 +130,8 @@ func (f *FileTransfer) Send(payload, recipientID []byte, retry float32, ...@@ -149,8 +130,8 @@ func (f *FileTransfer) Send(payload, recipientID []byte, retry float32,
st fileTransfer.SentTransfer, t fileTransfer.FilePartTracker, err error) { st fileTransfer.SentTransfer, t fileTransfer.FilePartTracker, err error) {
prog := &Progress{ prog := &Progress{
Completed: completed, Completed: completed,
Transmitted: arrived, Transmitted: int(arrived),
Total: total, Total: int(total),
Err: err, Err: err,
} }
pm, err := json.Marshal(prog) pm, err := json.Marshal(prog)
...@@ -218,8 +199,8 @@ func (f *FileTransfer) RegisterSentProgressCallback(tidBytes []byte, ...@@ -218,8 +199,8 @@ func (f *FileTransfer) RegisterSentProgressCallback(tidBytes []byte,
st fileTransfer.SentTransfer, t fileTransfer.FilePartTracker, err error) { st fileTransfer.SentTransfer, t fileTransfer.FilePartTracker, err error) {
prog := &Progress{ prog := &Progress{
Completed: completed, Completed: completed,
Transmitted: arrived, Transmitted: int(arrived),
Total: total, Total: int(total),
Err: err, Err: err,
} }
pm, err := json.Marshal(prog) pm, err := json.Marshal(prog)
...@@ -239,8 +220,8 @@ func (f *FileTransfer) RegisterReceivedProgressCallback(tidBytes []byte, callbac ...@@ -239,8 +220,8 @@ func (f *FileTransfer) RegisterReceivedProgressCallback(tidBytes []byte, callbac
rt fileTransfer.ReceivedTransfer, t fileTransfer.FilePartTracker, err error) { rt fileTransfer.ReceivedTransfer, t fileTransfer.FilePartTracker, err error) {
prog := &Progress{ prog := &Progress{
Completed: completed, Completed: completed,
Transmitted: received, Transmitted: int(received),
Total: total, Total: int(total),
Err: err, Err: err,
} }
pm, err := json.Marshal(prog) pm, err := json.Marshal(prog)
......
...@@ -14,11 +14,14 @@ type RestlikeCallback interface { ...@@ -14,11 +14,14 @@ type RestlikeCallback interface {
Callback([]byte, error) Callback([]byte, error)
} }
type RequestParams struct {
}
// RequestRestLike sends a restlike request to a given contact // RequestRestLike sends a restlike request to a given contact
// Accepts marshalled contact object as recipient, byte slice payload & headers, method enum and a URI // Accepts marshalled contact object as recipient, byte slice payload & headers, method enum and a URI
// Returns json marshalled restlike.Message & error // Returns json marshalled restlike.Message & error
func RequestRestLike(clientID int, recipient, request []byte) ([]byte, error) { func RequestRestLike(e2eID int, recipient, request []byte) ([]byte, error) {
c, err := clientTrackerSingleton.get(clientID) c, err := e2eTrackerSingleton.get(e2eID)
if err != nil { if err != nil {
return nil, err return nil, err
} }
...@@ -50,8 +53,8 @@ func RequestRestLike(clientID int, recipient, request []byte) ([]byte, error) { ...@@ -50,8 +53,8 @@ func RequestRestLike(clientID int, recipient, request []byte) ([]byte, error) {
// AsyncRequestRestLike sends an asynchronous restlike request to a given contact // AsyncRequestRestLike sends an asynchronous restlike request to a given contact
// Accepts marshalled contact object as recipient, byte slice payload & headers, method enum, URI, and a RestlikeCallback // Accepts marshalled contact object as recipient, byte slice payload & headers, method enum, URI, and a RestlikeCallback
// Returns an error, and the RestlikeCallback will be called with the results of json marshalling the response when received // Returns an error, and the RestlikeCallback will be called with the results of json marshalling the response when received
func AsyncRequestRestLike(clientID int, recipient, request []byte, cb RestlikeCallback) error { func AsyncRequestRestLike(e2eID int, recipient, request []byte, cb RestlikeCallback) error {
c, err := clientTrackerSingleton.get(clientID) c, err := e2eTrackerSingleton.get(e2eID)
if err != nil { if err != nil {
return err return err
} }
......
...@@ -13,8 +13,8 @@ import ( ...@@ -13,8 +13,8 @@ import (
// TransmitSingleUse accepts a marshalled recipient contact object, tag, payload, SingleUseResponse callback func & a // TransmitSingleUse accepts a marshalled recipient contact object, tag, payload, SingleUseResponse callback func & a
// Client. Transmits payload to recipient via single use // Client. Transmits payload to recipient via single use
func TransmitSingleUse(clientID int, recipient []byte, tag string, payload []byte, responseCB SingleUseResponse) ([]byte, error) { func TransmitSingleUse(e2eID int, recipient []byte, tag string, payload []byte, responseCB SingleUseResponse) ([]byte, error) {
cl, err := clientTrackerSingleton.get(clientID) e2eCl, err := e2eTrackerSingleton.get(e2eID)
if err != nil { if err != nil {
return nil, err return nil, err
} }
...@@ -26,27 +26,32 @@ func TransmitSingleUse(clientID int, recipient []byte, tag string, payload []byt ...@@ -26,27 +26,32 @@ func TransmitSingleUse(clientID int, recipient []byte, tag string, payload []byt
rcb := &singleUseResponse{response: responseCB} rcb := &singleUseResponse{response: responseCB}
rids, eid, err := single.TransmitRequest(recipientContact, tag, payload, rcb, single.GetDefaultRequestParams(), cl.api.GetCmix(), cl.api.GetRng().GetStream(), cl.api.GetStorage().GetE2EGroup()) rids, eid, err := single.TransmitRequest(recipientContact, tag, payload, rcb, single.GetDefaultRequestParams(), e2eCl.api.GetCmix(), e2eCl.api.GetRng().GetStream(), e2eCl.api.GetStorage().GetE2EGroup())
if err != nil { if err != nil {
return nil, err return nil, err
} }
sr := SingleUseSendReport{ sr := SingleUseSendReport{
EphID: eid, EphID: eid.EphId.Int64(),
RoundsList: makeRoundsList(rids), ReceptionID: eid.Source.Marshal(),
RoundsList: makeRoundsList(rids),
} }
return json.Marshal(sr) return json.Marshal(sr)
} }
// Listen starts a single use listener on a given tag using the passed in client and SingleUseCallback func // Listen starts a single use listener on a given tag using the passed in client and SingleUseCallback func
func Listen(clientID int, tag string, cb SingleUseCallback) (StopFunc, error) { func Listen(e2eID int, tag string, cb SingleUseCallback) (StopFunc, error) {
cl, err := clientTrackerSingleton.get(clientID) e2eCl, err := e2eTrackerSingleton.get(e2eID)
if err != nil { if err != nil {
return nil, err return nil, err
} }
listener := singleUseListener{scb: cb} listener := singleUseListener{scb: cb}
l := single.Listen(tag, cl.api.GetUser().ReceptionID, cl.api.GetUser().E2eDhPrivateKey, cl.api.GetCmix(), cl.api.GetStorage().GetE2EGroup(), listener) dhpk, err := e2eCl.api.GetReceptionIdentity().GetDHKeyPrivate()
if err != nil {
return nil, err
}
l := single.Listen(tag, e2eCl.api.GetReceptionIdentity().ID, dhpk, e2eCl.api.GetCmix(), e2eCl.api.GetStorage().GetE2EGroup(), listener)
return l.Stop, nil return l.Stop, nil
} }
...@@ -60,7 +65,8 @@ func Listen(clientID int, tag string, cb SingleUseCallback) (StopFunc, error) { ...@@ -60,7 +65,8 @@ func Listen(clientID int, tag string, cb SingleUseCallback) (StopFunc, error) {
// "Source":"emV6aW1hAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD"}} // "Source":"emV6aW1hAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD"}}
type SingleUseSendReport struct { type SingleUseSendReport struct {
RoundsList RoundsList
EphID receptionID.EphemeralIdentity ReceptionID []byte
EphID int64
} }
// SingleUseResponseReport is the bindings struct used to represent information passed // SingleUseResponseReport is the bindings struct used to represent information passed
...@@ -75,7 +81,8 @@ type SingleUseSendReport struct { ...@@ -75,7 +81,8 @@ type SingleUseSendReport struct {
type SingleUseResponseReport struct { type SingleUseResponseReport struct {
RoundsList RoundsList
Payload []byte Payload []byte
ReceptionID receptionID.EphemeralIdentity ReceptionID []byte
EphID int64
Err error Err error
} }
...@@ -90,9 +97,10 @@ type SingleUseResponseReport struct { ...@@ -90,9 +97,10 @@ type SingleUseResponseReport struct {
// "Source":"emV6aW1hAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD"}} // "Source":"emV6aW1hAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD"}}
type SingleUseCallbackReport struct { type SingleUseCallbackReport struct {
RoundsList RoundsList
Payload []byte Payload []byte
Partner *id.ID Partner *id.ID
EphID receptionID.EphemeralIdentity EphID int64
ReceptionID []byte
} }
// Function types // Function types
...@@ -132,10 +140,11 @@ func (sl singleUseListener) Callback(req *single.Request, eid receptionID.Epheme ...@@ -132,10 +140,11 @@ func (sl singleUseListener) Callback(req *single.Request, eid receptionID.Epheme
// Todo: what other info from req needs to get to bindings // Todo: what other info from req needs to get to bindings
scr := SingleUseCallbackReport{ scr := SingleUseCallbackReport{
Payload: req.GetPayload(), Payload: req.GetPayload(),
RoundsList: makeRoundsList(rids), RoundsList: makeRoundsList(rids),
Partner: req.GetPartner(), Partner: req.GetPartner(),
EphID: eid, EphID: eid.EphId.Int64(),
ReceptionID: eid.Source.Marshal(),
} }
sl.scb.Callback(json.Marshal(scr)) sl.scb.Callback(json.Marshal(scr))
...@@ -157,7 +166,8 @@ func (sr singleUseResponse) Callback(payload []byte, receptionID receptionID.Eph ...@@ -157,7 +166,8 @@ func (sr singleUseResponse) Callback(payload []byte, receptionID receptionID.Eph
} }
sendReport := SingleUseResponseReport{ sendReport := SingleUseResponseReport{
RoundsList: makeRoundsList(rids), RoundsList: makeRoundsList(rids),
ReceptionID: receptionID, ReceptionID: receptionID.Source.Marshal(),
EphID: receptionID.EphId.Int64(),
Payload: payload, Payload: payload,
Err: err, Err: err,
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment