Commit Graph

32 Commits

Author SHA1 Message Date
Saxon d75ea20137 revid: applying some feedback from last PR 2019-04-15 10:25:35 +09:30
Saxon f59879b51d revid: removed ringBuffer after lexer
Now that we want buffered senders (as required), the ringBuffer that was after the
lexer has been removed. Instead, we now have an ioext.multiWriterCloser to which the
lexer writes to. This then writes to the encoders, and then encoders write to each of
their own multiWriteClosers, which write to the appropriate senders. We now call
close on the first multiWriteCloser to close down the entired pipeline, as this close
call propogates through each level.

We have removed the outputClips routine as it's not required anymore to get data
from the revid ringBuffer, and have removed other things that were used by this, like
the IsRunning function.

We have also updated tests to work with these changes - they are passing.
2019-04-15 08:42:56 +09:30
Saxon 5cd12bff8a revid: dummyLogger in senders_test.go now uses pointer receiver for log 2019-04-13 20:41:47 +09:30
Saxon 9b48d22392 av: fixed conflicts with master 2019-04-13 20:15:08 +09:30
Saxon 66622920d5 revid: Buffered MtsSender
The mtsSender now has a ringBuffer and tests have been updated accordingly. The mtsSender now uses an output routine to get data from it's ringBuffer to send.
 Revid now uses ioext.multiWriteClosers for encoders to write to so that senders can be closed and therefore any output routines.
2019-04-09 15:58:34 +09:30
Trek H 9fe3de5d65 mts: Changed uses of NewEncoder in revid and senders_test to use extra argument. 2019-04-09 14:00:56 +09:30
Saxon e0d85b8598 revid: removed comment of a print in senders_test.go 2019-04-03 11:40:33 +10:30
Saxon dbcac80d1f revid: fixed some general commenting 2019-04-02 13:45:36 +10:30
Saxon 6b91746cf6 revid: removed multiSender and started using std io.multiWriter
We are now using an io.multiWriter rather than the multiSender. Code has been updated inside revid.go to account for this change, and tests have also been updated accordingly. Tests for
the multiSender have been removed. A dummyMultiWriter has been written to inject our own multiWriter during testing.
2019-04-02 13:21:46 +10:30
Saxon 065f8ded79 revid: finished simplifying senders
simplified rtmp and rtp senders by removing load and send methods and doing equivalent logic inside their Write functions.
2019-04-02 12:53:42 +10:30
Saxon 5a67e71fe4 revid: made minimalHttpSender implement io.Writer 2019-04-01 12:02:15 +10:30
Saxon 24e484c07f revid: simplified mtsSender to remove load and send
mtsSender has been simplified such that load and send are no longer called in Write. Load and Send have removed and logic is now in Write. The logic has been simplified such that it does not
try to send again. On next PR when ringbuffers are added to senders, we will add logic to deal with this.
2019-04-01 11:50:11 +10:30
Saxon 8cc7f6e500 revid: improved some naming 2019-03-29 16:22:51 +10:30
Saxon 3896a5e804 revid: senders are now io.Writers
Added a Write method to senders such that they implement io.Writer. The multiSender now takes a slice of io.writers.
Also modified revid code and tests to account for this chance.
2019-03-29 12:49:26 +10:30
Saxon 937f54f418 av: fixed conflicts with master 2019-03-28 11:03:05 +10:30
Saxon 5366eca2f2 av: fixed imports 2019-03-25 11:51:03 +10:30
Saxon e7c6b7319b revid: sender any logic that is performed on a failed send is now done inside loadSender.send() 2019-03-24 20:01:25 +10:30
Saxon 9b3a1d0ae7 revid: multiSender is no longer a struct, but rather a type derived from a []loadSender 2019-03-14 11:20:02 +10:30
Saxon 99a4010c79 revid: removed concept of send retry for now
Send retry has been removed from the multiSender. This also means there is not need for the active func, because we simply wait until the send is complete or failed to exit the output clips
routine. Tests pertinent to retrying or the active function have been removed.
2019-03-14 10:35:09 +10:30
Saxon 2e49de5fa0 revid: newMultiSender panics if active function is not provided 2019-03-14 08:34:35 +10:30
Saxon b8b26de901 revid: added TestMultiSenderFailRetry test
Added test to check that if a sender is set to retry on send fails,
it will keep trying to send until it is successful, and have all
data that was intended to be written sent off.
2019-03-13 00:49:25 +10:30
Saxon e427836356 revid: removed closure for accessing active flag
we only need to set the active flag once, so there's no need for a closure here.
2019-03-12 23:55:18 +10:30
Saxon 404190ca52 revid: added TestMultiSenderFailNoRetry 2019-03-12 23:16:32 +10:30
Saxon 500edc05aa revid: retry is now an attribute of senders and can be set at initialisation 2019-03-12 20:53:27 +10:30
Saxon da1532b9d1 revid: added multiSender test to check that Write returns when active func return false in send retry 2019-03-12 18:28:20 +10:30
Saxon 42bf44afdf revid: added test for multiSender to check active func function.
Added a test to check that we correctly return from a write call if the multiSenders
active callback func return false.
2019-03-12 18:08:43 +10:30
Saxon 8b93d187c6 revid: added some commenting to multiSender testing utilities 2019-03-12 17:19:47 +10:30
Saxon 7f73e32d4c revid: added TestMultiSenderWrite
Added a test in senders_test.go to check that we can give a multiSender a few senders and have it
write to them correctly when we call multSender.Write(). This involved writing a dummy
loadSender implementation called dummyLoadSender that stores what has been written to it so that
we can check at a later time.
2019-03-12 17:08:36 +10:30
Saxon e7e3b5007b revid: added test for newMultiSender 2019-03-12 16:28:30 +10:30
Saxon 3761b55f87 revid: renamed tests relating to mtsSender 2019-03-12 16:22:11 +10:30
Saxon 3230e4c2dd Merge branch 'master' into ringbuffer-move 2019-03-12 16:20:43 +10:30
Saxon 7acca43837 revid: renamed mtsSender_test.go to senders_test.go 2019-03-12 16:17:52 +10:30